中國電信股份有限公司江蘇分公司企業信息化部 李 彧
開源IT資產管理框架研究與應用
中國電信股份有限公司江蘇分公司企業信息化部 李 彧
基于開源的Web服務器完備環境LAMP(Linux,Apache,MySQL,PHP/Perl),研究開源庫存和資產管理框架OCS Inventory NG(開放的計算機和軟件庫存下一代,簡稱OCSNG)與GLPI(免費計算機管理公園)的集成及其應用。OCSNG發現并更新計算機的軟硬件清單信息,并可同步到GLPI;GLPI提供全面的IT(信息技術)資源管理接口,建立庫存資產數據庫并全面管理IT資產。在此過程中合理利用開源,吸收專業領域最新發展元素,有效節省企業IT 投資成本。
資產管理;開源;集成
信息化建設投資的大規模增長,如何對企業IT(信息技術)資產管理這一課題雖老生常談但又頗為棘手。針對目前IT資產管理現狀,考量各種開源IT庫存和資產管理框架并分析其異同,基于開源的LAMP(Linux,Apache,MySQL,PHP/Perl),通過重點剖析OCS Inventory NG(開放的計算機和軟件庫存下一代,以下簡稱OCSNG)和GLPI(免費計算機管理公園)的工作原理和集成過程,積極探索出了一條高效IT設備資產盤點管理的新思路、新模式,實現IT資產的全生命周期閉環管理及價值動態管理。
目前開源的IT資產管理軟件有法國的OCSNG、Fusion Inventory、GLPI及希臘的ITDB(入侵容忍數據庫)等。OCSNG和GLPI分別始創于2001年和2002年,歷史比較悠久,因此文檔支持較好,且兩者集成度較高。上述各個框架均基于LAMP進行搭建部署,它們的功能特性比較如表 1 所示。

LAMP是一個自由的、開源的軟件解決方案棧。LAMP指的是Linux(操作系統),Apache HTTP Web服務器,MySQL(數據庫軟件,但現在有時指MariaDB),最初的PHP(超級文本預處理語言,但現在有時指Perl或Python及它們的組合)的第一個字母,借此可建立一個可行通用的Web服務器完備環境[1]。
OCSNG是一個跨平臺的、開源的庫存和資產管理解決方案。它提供了豐富多樣的特性功能如相關的庫存信息、強大的部署系統、Web管理控制臺、多操作系統支持、三層體系架構、Web service、插件支持、網絡掃描、GLPI同步等,可滿足大大小小組織使用多達成千上萬臺計算機的業務需求。但是用好這個庫存解決方案需要大量的技能[2]。OCS NG的體系架構見圖 1。

GLPI是一個信息資源管理器,提供有一個功能全面的IT資管理接口,并建立一個資產清單(計算機、軟件等)數據庫。其增強功能可簡化管理員日常事務性工作,如帶有郵件提醒功能的工作跟蹤系統,提供方法生成一個關于網絡拓撲的基本信息的數據庫[3]。它的主要功能包括:
1)所有技術資源的精確庫存。資產的所有屬性將被存放到一個數據庫中去。
2)維護操作和綁定程序的管理和歷史。這是一個動態的應用,它直連可以向技術人員發出請求的用戶。因此,有一接口向后者授權,如果需要的話則阻止該維護服務,并檢索該問題是否在他們此前訪問過的技術資源列表之中碰到過。
OCSNG和GLPI集成后,可搭建出一個可自動更新計算機配置、許可證管理以及幫助臺等的強大的庫存和資產管理軟件。GLPI開發了一個允許OCSNG和GLPI數據庫之間自動同步的“OCSNG mode”。該功能在GLPI的Web控制臺上以本地方式實現[4]。
我們將在云平臺的虛擬機上構建基于OCSNG-GLPI開源的IT庫存、資產管理系統。首先要搭建LAMP環境,然后安裝OCSNG管理服務器和客戶端代理,最后安裝GLPI并配置GLPI和OCSNG數據庫間自動同步模式“OCSNG mode”。
5.1 編譯部署LAMP基礎環境
因虛擬機操作系統為紅帽企業版5.5(Tikanga)及其默認安裝的Perl版本5.8.8已符合要求,因此我們僅需升級AMP(Apache,MySQL,PHP)。其中Apache版本為httpd-2.2.23,mod_perl-2.0.7;MySQL為5.5.28,且InnoDB引擎處于激活狀態;PHP為5.4.8,zip壓縮包和GD庫(圖形的擴展庫)支持啟用。
5.2 部署OCSNG管理服務器及代理
部署OCSNG服務器和客戶端代理之前,我們有必要了解它們之間的交互過程,其工作原理如圖 2 所示。

OCSNG服務器接收代理以XML(可擴展標記語言)格式發送的庫存,將數據存儲于MySQL數據庫。代理聯系服務器,而不是相反。在這個過程中服務器只監聽。代理和服務器之間以HTTP和/或HTTPS(安全超文本傳輸協議)方式進行交換。軟件部署和SNMP(簡單網絡管理協議)掃描僅是HTTPS方式。客戶端代理至服務器流向的數據傳輸模式為:原始數據→XML格式化→發送到HTTP(S)://OCSNG server/ocsinventory→mod_perl快速處理→數據庫MySQL。
由上述交互過程可知,無論是管理服務器還是客戶端代理,部署上有一定的前提條件,需要我們部署時加以注意。
5.2.1 部署OCSNG管理服務器
OCSNG管理服務器由4個主要部分組成:數據庫服務器存儲庫存信息(MySQL),通信服務器負責處理數據庫服務器和代理之間的HTTP通信(Apache,Perl和mod_perl),管理控制臺允許管理員使用自己喜歡的瀏覽器查詢數據庫服務器(Apache,PHP),部署服務器存儲所有的軟件包部署配置〔Apache,SSL(安全套接層)〕。
因庫存的計算機數量遠低于10 000臺,我們在同一個虛擬機上安裝上述4個組件。安裝前須檢查所依賴的Perl模塊。
5.2.2 部署OCSNG客戶端代理
OCSNG客戶端代理目前支持Unix、Windows、MAC OS X等,目前最高版本為2.0.5。下面以Ocsinventory-Unix-Agent-2.0.5在RHEL5的編譯為例進行說明其部署過程。Unix客戶端代理僅能本地安裝。在安裝時如已選擇HTTP inventory方法,則可以選擇激活自動更新代理。安裝前同樣需檢查所依賴的Perl模塊。
5.3 部署GLPI及啟用OCSNG mode模式
5.3.1 部署GLPI
GLPI部署之前需創建GLPI數據庫,然后將安裝包解壓釋放在Apache的Web根目錄如/var/www或/var/www/html,并授予可寫權限給子目錄/files及/config。
訪問http://glpiserver/glpi/即可進行界面化配置GLPI,登錄后大致操作步驟如下:選擇語言如中文→接受許可→檢查先決條件→輸入數據庫連接參數→選擇glpi數據庫→完成。
5.3.2 啟用OCSNG mode
登錄GLPI進入主界面后,導航至:主頁>設置>常規,在“資產清單”頁的enable the OCSNG mode的下拉列表中選擇“是”來激活OCSNG mode。
然后進入OCSNG mode(主頁>設置>OCSNG mode)設置GLPI和OCSNG同步的數據庫連接參數,導入選項,常規信息等。測試GLPI與OCSNG數據庫的連接成功后,就可以從OCSNG導入或同步計算機庫存信息(主頁>工具>OCSNG)。
設備生命周期不外乎:新設備被加入庫存→設備因故障而被替換→舊設備退役下線。OCSNG和GLPI集成后,可以很好地實現IT資源的生命周期管理。
6.1 新設備入庫上線
新設備入庫上線時,通過客戶端代理,OCSNG可自動檢測新計算機。GLPI與OCSNG的集成相當不錯,GLPI能夠從OCSNG導入設備的大部分技術特性。此外還可以識別如下信息。管理信息:用戶、技術聯系人、位置、庫存編號等;網絡信息:網絡、端口、工作區插座(work area outlet)、VLAN(虛擬局域網);財務信息:收購日期、擔保信息、攤銷、……;合同信息:相關的支持合同。
6.2 替換
機器替換將被OCSNG的重復檢測機制自動檢測到。其將會檢查如下參數:計算機名稱、序列號、MAC地址。當檢測到一個機器復本,它將提出一個合并動作。GLPI備份舊計算機實體后,在下一次OCSNG的同步后其將會重新創建一個新的計算機條目。
6.3 生命周期結束
在計算機生命周期結束后,OCSNG會停止任何的庫存信息的接收。然而,GLPI不會自動從庫存數據庫刪除計算機實體。因此仍然可以在GLPI查詢到已刪除機器的記錄。
江蘇電信公司在開源Web服務器完備環境LAMP上,通過開源的庫存和資產管理框架OCSNG和GLPI的集成,驗證可實現IT資產的生命周期閉環管理:新設備入庫上線,設備因故障被替換,舊設備退役下線。盡管在開源部署過程中面臨文檔支持不夠、知識面要求廣、技術更新速度快等諸多問題,但充分合理利用開源為我所用,可吸收專業領域最新發展元素,有效節省企業IT投資成本,能夠積極探索出了一條高效的IT設備資產盤點管理的新思路、新模式。
[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.