企業營運必定與電腦系統脫離不了關係,每一部電腦散落在各部門、各辦公室,若是較具規模的公司,甚至會有跨好幾個地區的辦公室存在。
就 IT 管理者來說,如何管理這些電腦的資產情況就是一個挑戰,例如掌握電腦上所安裝軟體、硬體等,以及軟體、硬體的異動情況,如果沒有系統來輔助,IT 管理者就只能疲於奔命。
常見情況
最經常遇到的場合,就是忽然公司詢問「Windows 電腦有幾台?」、「這幾台電腦上面安裝了多少記憶體?」、「某台電腦現在是配發給誰使用?」、「某電腦何時購入的?」這類問題。
更有甚者,遇到軟體授權清查時,會問到「那幾台電腦安裝了 Office 2013?」、「Photoshop CS6 安裝了幾套?」、「某電腦的 Windows Update 安裝了那些項目?」更令人頭痛的問題。
IT資產管理令人頭痛
問題歸納
在我的當時情境來說(七、八年前),希望能利用系統,至少幫我節省人工點閱以及手工維護試算表檔案的繁雜與費時工序,羅列如下:
- 可控管企業內部電腦
- 記錄電腦硬體安裝資訊
- 記錄電腦軟體安裝資訊
- 記錄電腦更新檔安裝資訊
- 記錄歷史異動資訊
市面方案
其實市面上已經有許多方案爭相推出,功能也一個比一個豐富。
企業中使用微軟方案佔了絕大多數,當然使用微軟方案的整合度是理想,不過我認為 SAM 缺少了硬體等方面的功能,是比較可惜之處。(SAM 我沒有使用,如有錯誤請不吝指正)
至於 X-ITasset、SmartIT、WinMatrix,這幾套都是國內相當優秀的 IT 資產管理產品,幾乎涵蓋了大部份 IT 資產管理所需要的功能,其中我個人蠻推薦精品科技的 X-ITasset,操作介面容易上手,與 AD 也完美整合。
在我當時詢價的印象中,其實費用都不算太高,軟體也夠成熟,導入帶來的效益比是相當划算。
沒錢方案
沒錯,花錢能解決問題,產品性價比亦不錯,但是承襲過去文章,各位都知道問題在那裡。
這張投影片真好用,一次製作常常用到(誤)
好吧,沒錢有沒錢的作法。
我不會因為沒有經費就坐以待斃,因為我想做的事很多。
既然如此,就捲起袖子自己幹!
本圖取自「開源x節流:企業應用經驗分享」
當時,我用還在唸大學時寫的一套系統延伸改寫,可以結合 AD 撈取電腦清單作許多管理功能。
AD 網域管理幫手
這一套「AD 網域管理幫手」就是為了簡化自己的工作內容,利用閒暇時間進行開發,採用了 WMI、ADSI、.. 等技術。
AD 網域管理幫手:軟體管理
在當時的需求,網域管理幫手讓我可以一次對 AD 所有電腦的軟體、硬體資訊撈取,還有程序、服務、印表機管理、軟體移除。
但後來才意會到一個嚴重問題:這支程式必需目標電腦有開機且可連線,否則資訊都無法讀取。
當然改寫程式架構,加入伺服器與資料庫可以解決這些問題,但實際上時間並不容許我如此做,所以就直接來找有沒有可用的開源方案。
開源方案一
當時在網路上做了許多功課後,首選是它,OCS Inventory-NG。
OCS Inventory 是最多人討論的開源套件,當時它功能陽春,不過最嚴重的問題是介面。(目前 2.0 後的版本介面大改,好看很多)
本圖取自「FreeNAS 企業應用經驗分享」
我沒有留著當時架設的系統畫面,不過可以來看看當時版本的網路抓圖:
當時的版本除了介面問題,另外就是 agent 部署與支援性並不理想,試用了一段時間之後,就果斷放棄。
不過我還是要重申一次:現在的 OCS Inventory-NG 介面已經大幅進化,已非是當日的吳下阿蒙。
開源方案二
既然放棄了 OCS 當然要繼續找 Plan B,又花了好一段時間,終於讓我找著一款"還算"合乎需求的開源套件。
為什麼特別加上「還算」二字呢?
因為他的介面對我來說還是不滿意的,但是再挑下去只剩下商業方案,而功能有符合需求,所以我.......妥。協。了!
列舉 Open-AudIT 我所注視的重點功能:
- 開源方案
- 可控管 Windows、Linux、macOS 三大作業系統
- 可主動、被動搜集電腦資訊
- 可搜集硬體、軟體資訊
- 可搜集「部份軟體」序號
- 記錄軟、硬體異動資訊
- 記錄作業系統 Update 安裝資訊
- 記錄設備資產資訊,如編號、管理者、購買日、保固商、使用地...等
- 記錄系統管理者修改過程記錄
- 提供自訂欄位功能
- 可整合 SNMP、NMAP、SSH 等方式檢測主機
清單簡介
進入系統清單,預設有幾種分類模式提供參考。
列表:群組、地區、網路、作業系統、...
點選任一個項目,可以進到該分類的內容清單,例如點選 Windows Computers。
Windows Computers
進入分類後,就會在清單顯示此分類的所有裝置,當我點選的是「Windows Computers」,這裡就會顯示系統中所記錄的 Windows 電腦,以及電腦名稱、IP位址、作業系統版本、狀態等。
再點選電腦名稱,可以進入到該電腦的詳細列表,將是資訊內容最豐富的地方。
裝置內容:Windows
點入裝置內容後,左邊是資訊分類,右方及下方是資訊內容。
裝置內容:摘要
左邊的分類提供非常詳細的資訊,只要簡單點選就會讓資訊在頁面最下方呈現。
左邊所有功能分類展開如下:
裝置內容:資訊類別詳細展開圖
裝置內容:購買資訊
裝置內容:地點資訊
裝置內容:稽核記錄
裝置內容:異動記錄
裝置內容:Windows 細節
裝置內容:服務
裝置內容:已安裝軟體
裝置內容:已安裝軟體序號
裝置內容:已安裝軟體更新
裝置內容:記憶體與磁碟
裝置內容:網路裝置與設定
裝置內容:印表機與佇列內容
裝置內容:路由表資訊
裝置內容:群組與使用者
裝置內容:記錄檔位置
裝置內容:系統變數
裝置內容:Linux
Linux 的資訊畫面提供部份如下:
裝置內容:摘要
裝置內容:磁碟資訊
裝置內容:Nestat 與路由表資訊
裝置內容:服務
裝置內容:已安裝套件
裝置內容:記錄檔位置
裝置內容:使用者
裝置內容:系統變數
部署 Agent
要搜集裝置資訊,Open-AudIT 提供主動掃描(需預先提供 Windows/Linux 管理員帳密)或被動搜集(從 Agent 回報),而 Open-AudIT 最令我激賞的正是 Agent 回報部份。
其它資產管理系統所提供的 Agent 大都是編譯後的封裝執行檔,我們除了用它沒有別的辦法,而 Open-AudIT 的 Agent 卻是完全公開原始碼的 Script 檔,這對於部署或想要自訂內容的我來說根本是大禮啊!
Scripts 檔案下載
點選功能表 [Admin] > [Scripts] > [List Scripts],即可進入系統已經提供的 Script 樣版。
以 Windows 來說,下載 [audit_windows.vbs] 並修改 [url] 參數為你的 Open-AudIT 主機,[submit_online] 設為 y,就可將檔案丟到 AD 群組原則的 Logon Script 去,往後每次開機就會自動收回 Client 電腦的所有資訊。
群組原則管理:Logon Script
如果是 Linux 電腦,下載 [audit_linux.sh] 至 Linux 主機上,給予執行權限與註冊執行時間,就可以定期回收資訊。
測試 Agent
如果資訊回收遇到問題,可以修改 .vbs 或 .sh 檔,將裡面的 create_file 參數設為 y,接著在該電腦上手動執行它,完成後會在同一個目錄產生一個 .xml 檔案。
Agent 生成 Xml 資訊檔
可以觀察是否正確擷取電腦資訊內容,若無誤,下一步可以手動將資料回傳至伺服器,確認過程是否有問題。
開啟 [https://Open-AutIT主機/open-audit/index.php/system/] 進入資訊回傳頁。
Xml 資訊回傳頁
將 .xml 檔案內容全選複製,貼到圖中的輸入框並勾選 [Debug Display],最後按下 [Submit]。
Xml 資訊處理過程
如果內容無誤,處理完成後系統上就會增加這一筆主機資訊。
資料匯出
在任何清單列表頁面,右上方的搜尋欄左邊有幾個按鈕,點選後即可匯出目前所在列表的資料。
資料匯出功能
如圖中紅框所示,由左至右分別為:
- .xls 檔案格式
- .json 檔案格式
- .csv 檔案格式
- .html 檔案格式
- .xml 檔案格式
其它應用:群組內查詢
當點入某個群組清單後,即可對此群組做查詢,例如點選 [Queries] > [Installed - Software]。
Query:已安裝軟體
其它應用:啟用更多查詢或自訂
若預設的查詢定義不夠用,可以點選 [Queries] > [Activate Queries] 啟用更多的項目。
如果還是不夠,您可以點選 [Queries] > [Import Query] 自訂,建立的範本可以參考內建的項目依樣修改
其它應用:啟用更多群組
預設的檢視較少,如果想要有更多的檢視群組,請點選 [Admin] > [Groups] > [Activate Groups],進入後再綠色的勾上按一下,進行啟用。
啟用更多檢視群組
其它應用:增加自訂群組
如果內建的檢視群組還是不夠用,您可以自行定義,進入 [Groups] > [Add Group]。
預設新增畫面有一些選項可以挑選,不過我是習慣直接用 SQL 語法來操作。
增加自訂群組
如圖所示,我想要增加一個「有安裝 Office 2013 電腦」的群組,即可在 SQL 中予以撰寫,存檔後就有一個屬於自己的快速檢視群組。
檢視自訂群組清單
有了自訂群組,往後就可以很方便的取用最常使用的角度,不需要每次都辛苦的進行搜尋,省下大量的操作時間。
其它應用:增加自訂欄位
不同應用場景會衍生不同需求,欄位不夠亦可自訂,點選 [Admin] > [Fields] > [Create Fields]。
增加自訂欄位
更多應用
上述是針對一般常用功能做經驗分享,若有更多需求,官網文件是很好的參考資料。
- Open-AudIT Home Documentation
https://community.opmantek.com/display/OA/Home
其它方案
雖然使用 Open-AudIT 長期以來情況良好,我仍有在關注其它同類型套件。
其中一套是它,Opsi。
Opsi 也是開源的資產管理系統,他比 Open-AudIT 更多出了幾個亮點:
- 自動化作業系統安裝
- 自動軟體部署與更新管理
- 軟體授權集區管理
其中「軟體授權」是我最想要掌握的功能之一,因為 Open-AudIT 雖然有記錄軟體授權的功能,但是卻沒有「軟體授權集區管理」的概念,我想要做軟體授權數量管控,避免商業軟體授權有超用或未回收的快速管理。
因此,Opsi 將可能是我未來要轉移使用的套件,值得期待。