中國(guó)電信股份有限公司江蘇分公司企業(yè)信息化部 李 彧
開源IT資產(chǎn)管理框架研究與應(yīng)用
中國(guó)電信股份有限公司江蘇分公司企業(yè)信息化部 李 彧
基于開源的Web服務(wù)器完備環(huán)境LAMP(Linux,Apache,MySQL,PHP/Perl),研究開源庫(kù)存和資產(chǎn)管理框架OCS Inventory NG(開放的計(jì)算機(jī)和軟件庫(kù)存下一代,簡(jiǎn)稱OCSNG)與GLPI(免費(fèi)計(jì)算機(jī)管理公園)的集成及其應(yīng)用。OCSNG發(fā)現(xiàn)并更新計(jì)算機(jī)的軟硬件清單信息,并可同步到GLPI;GLPI提供全面的IT(信息技術(shù))資源管理接口,建立庫(kù)存資產(chǎn)數(shù)據(jù)庫(kù)并全面管理IT資產(chǎn)。在此過(guò)程中合理利用開源,吸收專業(yè)領(lǐng)域最新發(fā)展元素,有效節(jié)省企業(yè)IT 投資成本。
資產(chǎn)管理;開源;集成
信息化建設(shè)投資的大規(guī)模增長(zhǎng),如何對(duì)企業(yè)IT(信息技術(shù))資產(chǎn)管理這一課題雖老生常談但又頗為棘手。針對(duì)目前IT資產(chǎn)管理現(xiàn)狀,考量各種開源IT庫(kù)存和資產(chǎn)管理框架并分析其異同,基于開源的LAMP(Linux,Apache,MySQL,PHP/Perl),通過(guò)重點(diǎn)剖析OCS Inventory NG(開放的計(jì)算機(jī)和軟件庫(kù)存下一代,以下簡(jiǎn)稱OCSNG)和GLPI(免費(fèi)計(jì)算機(jī)管理公園)的工作原理和集成過(guò)程,積極探索出了一條高效IT設(shè)備資產(chǎn)盤點(diǎn)管理的新思路、新模式,實(shí)現(xiàn)IT資產(chǎn)的全生命周期閉環(huán)管理及價(jià)值動(dòng)態(tài)管理。
目前開源的IT資產(chǎn)管理軟件有法國(guó)的OCSNG、Fusion Inventory、GLPI及希臘的ITDB(入侵容忍數(shù)據(jù)庫(kù))等。OCSNG和GLPI分別始創(chuàng)于2001年和2002年,歷史比較悠久,因此文檔支持較好,且兩者集成度較高。上述各個(gè)框架均基于LAMP進(jìn)行搭建部署,它們的功能特性比較如表 1 所示。
LAMP是一個(gè)自由的、開源的軟件解決方案棧。LAMP指的是Linux(操作系統(tǒng)),Apache HTTP Web服務(wù)器,MySQL(數(shù)據(jù)庫(kù)軟件,但現(xiàn)在有時(shí)指MariaDB),最初的PHP(超級(jí)文本預(yù)處理語(yǔ)言,但現(xiàn)在有時(shí)指Perl或Python及它們的組合)的第一個(gè)字母,借此可建立一個(gè)可行通用的Web服務(wù)器完備環(huán)境[1]。
OCSNG是一個(gè)跨平臺(tái)的、開源的庫(kù)存和資產(chǎn)管理解決方案。它提供了豐富多樣的特性功能如相關(guān)的庫(kù)存信息、強(qiáng)大的部署系統(tǒng)、Web管理控制臺(tái)、多操作系統(tǒng)支持、三層體系架構(gòu)、Web service、插件支持、網(wǎng)絡(luò)掃描、GLPI同步等,可滿足大大小小組織使用多達(dá)成千上萬(wàn)臺(tái)計(jì)算機(jī)的業(yè)務(wù)需求。但是用好這個(gè)庫(kù)存解決方案需要大量的技能[2]。OCS NG的體系架構(gòu)見圖 1。
GLPI是一個(gè)信息資源管理器,提供有一個(gè)功能全面的IT資管理接口,并建立一個(gè)資產(chǎn)清單(計(jì)算機(jī)、軟件等)數(shù)據(jù)庫(kù)。其增強(qiáng)功能可簡(jiǎn)化管理員日常事務(wù)性工作,如帶有郵件提醒功能的工作跟蹤系統(tǒng),提供方法生成一個(gè)關(guān)于網(wǎng)絡(luò)拓?fù)涞幕拘畔⒌臄?shù)據(jù)庫(kù)[3]。它的主要功能包括:
1)所有技術(shù)資源的精確庫(kù)存。資產(chǎn)的所有屬性將被存放到一個(gè)數(shù)據(jù)庫(kù)中去。
2)維護(hù)操作和綁定程序的管理和歷史。這是一個(gè)動(dòng)態(tài)的應(yīng)用,它直連可以向技術(shù)人員發(fā)出請(qǐng)求的用戶。因此,有一接口向后者授權(quán),如果需要的話則阻止該維護(hù)服務(wù),并檢索該問(wèn)題是否在他們此前訪問(wèn)過(guò)的技術(shù)資源列表之中碰到過(guò)。
OCSNG和GLPI集成后,可搭建出一個(gè)可自動(dòng)更新計(jì)算機(jī)配置、許可證管理以及幫助臺(tái)等的強(qiáng)大的庫(kù)存和資產(chǎn)管理軟件。GLPI開發(fā)了一個(gè)允許OCSNG和GLPI數(shù)據(jù)庫(kù)之間自動(dòng)同步的“OCSNG mode”。該功能在GLPI的Web控制臺(tái)上以本地方式實(shí)現(xiàn)[4]。
我們將在云平臺(tái)的虛擬機(jī)上構(gòu)建基于OCSNG-GLPI開源的IT庫(kù)存、資產(chǎn)管理系統(tǒng)。首先要搭建LAMP環(huán)境,然后安裝OCSNG管理服務(wù)器和客戶端代理,最后安裝GLPI并配置GLPI和OCSNG數(shù)據(jù)庫(kù)間自動(dòng)同步模式“OCSNG mode”。
5.1 編譯部署LAMP基礎(chǔ)環(huán)境
因虛擬機(jī)操作系統(tǒng)為紅帽企業(yè)版5.5(Tikanga)及其默認(rèn)安裝的Perl版本5.8.8已符合要求,因此我們僅需升級(jí)AMP(Apache,MySQL,PHP)。其中Apache版本為httpd-2.2.23,mod_perl-2.0.7;MySQL為5.5.28,且InnoDB引擎處于激活狀態(tài);PHP為5.4.8,zip壓縮包和GD庫(kù)(圖形的擴(kuò)展庫(kù))支持啟用。
5.2 部署OCSNG管理服務(wù)器及代理
部署OCSNG服務(wù)器和客戶端代理之前,我們有必要了解它們之間的交互過(guò)程,其工作原理如圖 2 所示。
OCSNG服務(wù)器接收代理以XML(可擴(kuò)展標(biāo)記語(yǔ)言)格式發(fā)送的庫(kù)存,將數(shù)據(jù)存儲(chǔ)于MySQL數(shù)據(jù)庫(kù)。代理聯(lián)系服務(wù)器,而不是相反。在這個(gè)過(guò)程中服務(wù)器只監(jiān)聽。代理和服務(wù)器之間以HTTP和/或HTTPS(安全超文本傳輸協(xié)議)方式進(jìn)行交換。軟件部署和SNMP(簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議)掃描僅是HTTPS方式??蛻舳舜碇练?wù)器流向的數(shù)據(jù)傳輸模式為:原始數(shù)據(jù)→XML格式化→發(fā)送到HTTP(S)://OCSNG server/ocsinventory→mod_perl快速處理→數(shù)據(jù)庫(kù)MySQL。
由上述交互過(guò)程可知,無(wú)論是管理服務(wù)器還是客戶端代理,部署上有一定的前提條件,需要我們部署時(shí)加以注意。
5.2.1 部署OCSNG管理服務(wù)器
OCSNG管理服務(wù)器由4個(gè)主要部分組成:數(shù)據(jù)庫(kù)服務(wù)器存儲(chǔ)庫(kù)存信息(MySQL),通信服務(wù)器負(fù)責(zé)處理數(shù)據(jù)庫(kù)服務(wù)器和代理之間的HTTP通信(Apache,Perl和mod_perl),管理控制臺(tái)允許管理員使用自己喜歡的瀏覽器查詢數(shù)據(jù)庫(kù)服務(wù)器(Apache,PHP),部署服務(wù)器存儲(chǔ)所有的軟件包部署配置〔Apache,SSL(安全套接層)〕。
因庫(kù)存的計(jì)算機(jī)數(shù)量遠(yuǎn)低于10 000臺(tái),我們?cè)谕粋€(gè)虛擬機(jī)上安裝上述4個(gè)組件。安裝前須檢查所依賴的Perl模塊。
5.2.2 部署OCSNG客戶端代理
OCSNG客戶端代理目前支持Unix、Windows、MAC OS X等,目前最高版本為2.0.5。下面以O(shè)csinventory-Unix-Agent-2.0.5在RHEL5的編譯為例進(jìn)行說(shuō)明其部署過(guò)程。Unix客戶端代理僅能本地安裝。在安裝時(shí)如已選擇HTTP inventory方法,則可以選擇激活自動(dòng)更新代理。安裝前同樣需檢查所依賴的Perl模塊。
5.3 部署GLPI及啟用OCSNG mode模式
5.3.1 部署GLPI
GLPI部署之前需創(chuàng)建GLPI數(shù)據(jù)庫(kù),然后將安裝包解壓釋放在Apache的Web根目錄如/var/www或/var/www/html,并授予可寫權(quán)限給子目錄/files及/config。
訪問(wèn)http://glpiserver/glpi/即可進(jìn)行界面化配置GLPI,登錄后大致操作步驟如下:選擇語(yǔ)言如中文→接受許可→檢查先決條件→輸入數(shù)據(jù)庫(kù)連接參數(shù)→選擇glpi數(shù)據(jù)庫(kù)→完成。
5.3.2 啟用OCSNG mode
登錄GLPI進(jìn)入主界面后,導(dǎo)航至:主頁(yè)>設(shè)置>常規(guī),在“資產(chǎn)清單”頁(yè)的enable the OCSNG mode的下拉列表中選擇“是”來(lái)激活OCSNG mode。
然后進(jìn)入OCSNG mode(主頁(yè)>設(shè)置>OCSNG mode)設(shè)置GLPI和OCSNG同步的數(shù)據(jù)庫(kù)連接參數(shù),導(dǎo)入選項(xiàng),常規(guī)信息等。測(cè)試GLPI與OCSNG數(shù)據(jù)庫(kù)的連接成功后,就可以從OCSNG導(dǎo)入或同步計(jì)算機(jī)庫(kù)存信息(主頁(yè)>工具>OCSNG)。
設(shè)備生命周期不外乎:新設(shè)備被加入庫(kù)存→設(shè)備因故障而被替換→舊設(shè)備退役下線。OCSNG和GLPI集成后,可以很好地實(shí)現(xiàn)IT資源的生命周期管理。
6.1 新設(shè)備入庫(kù)上線
新設(shè)備入庫(kù)上線時(shí),通過(guò)客戶端代理,OCSNG可自動(dòng)檢測(cè)新計(jì)算機(jī)。GLPI與OCSNG的集成相當(dāng)不錯(cuò),GLPI能夠從OCSNG導(dǎo)入設(shè)備的大部分技術(shù)特性。此外還可以識(shí)別如下信息。管理信息:用戶、技術(shù)聯(lián)系人、位置、庫(kù)存編號(hào)等;網(wǎng)絡(luò)信息:網(wǎng)絡(luò)、端口、工作區(qū)插座(work area outlet)、VLAN(虛擬局域網(wǎng));財(cái)務(wù)信息:收購(gòu)日期、擔(dān)保信息、攤銷、……;合同信息:相關(guān)的支持合同。
6.2 替換
機(jī)器替換將被OCSNG的重復(fù)檢測(cè)機(jī)制自動(dòng)檢測(cè)到。其將會(huì)檢查如下參數(shù):計(jì)算機(jī)名稱、序列號(hào)、MAC地址。當(dāng)檢測(cè)到一個(gè)機(jī)器復(fù)本,它將提出一個(gè)合并動(dòng)作。GLPI備份舊計(jì)算機(jī)實(shí)體后,在下一次OCSNG的同步后其將會(huì)重新創(chuàng)建一個(gè)新的計(jì)算機(jī)條目。
6.3 生命周期結(jié)束
在計(jì)算機(jī)生命周期結(jié)束后,OCSNG會(huì)停止任何的庫(kù)存信息的接收。然而,GLPI不會(huì)自動(dòng)從庫(kù)存數(shù)據(jù)庫(kù)刪除計(jì)算機(jī)實(shí)體。因此仍然可以在GLPI查詢到已刪除機(jī)器的記錄。
江蘇電信公司在開源Web服務(wù)器完備環(huán)境LAMP上,通過(guò)開源的庫(kù)存和資產(chǎn)管理框架OCSNG和GLPI的集成,驗(yàn)證可實(shí)現(xiàn)IT資產(chǎn)的生命周期閉環(huán)管理:新設(shè)備入庫(kù)上線,設(shè)備因故障被替換,舊設(shè)備退役下線。盡管在開源部署過(guò)程中面臨文檔支持不夠、知識(shí)面要求廣、技術(shù)更新速度快等諸多問(wèn)題,但充分合理利用開源為我所用,可吸收專業(yè)領(lǐng)域最新發(fā)展元素,有效節(jié)省企業(yè)IT投資成本,能夠積極探索出了一條高效的IT設(shè)備資產(chǎn)盤點(diǎn)管理的新思路、新模式。
[1] LEE James, WARE Brent. Open source Web development with LAMP: Using Linux, Apache, MySQL, Perl, and PHP[M]. [S.l.]: Addison-Wesley Professional, 2002.
[2] ANTAL Barzan Tony. It inventory and resource management with OCS inventory NG 1.02[M]. [S.l.]: Packt Publishing, 2010.
[3] The GLPI project[EB/OL]. [2012-11-30]. http://www.glpi-project. org/spip.php?article43.
[4] OCS inventory NG with GLPI[EB/OL]. [2012-11-30]. http://www. ocsinventory-ng.org/en/about/features/ocsng-glpi.html.