身為一個網管人員,維持網路正常服務是其基本的責任,也是最重要的使命,依此推想,網管人員在工作上最迫切需要的,其實是一套合適的網路服務監控軟體,它不但能夠減輕相關人員的工作負擔,而且可以徹底杜絕人為疏失所帶來的資安危機。
說明完Zabbix架構的相關名詞後,接著說明如何安裝Zabbix軟體。相關安裝步驟如下所示,在此假設讀者的系統已安裝MySQL資料庫。
首先,執行指令「useradd zabbix」新增名稱為「zabbix」的使用者,以做為執行Zabbix程式之用。
然後,執行以下的指令來設定Zabbix的組態:
相關組態說明如下:
--enable-server:設定具有Zabbix Server的功能。
--enable-agent:設定具有Zabbix Agent的功能。
--with-mysql:設定含有支援MySQL資料庫的功能。
--with-net-snmp:設定支援net-snmp的功能。
-with-libxml2:如果要支援虛擬主機(VM)的監測功能,必須設定此選項。
接著,執行指令「make && make install」來編譯及安裝相關的程式執行檔。隨後安裝MySQL相關資料庫,亦即安裝Zabbix所需的相關資料庫表格,建立一個名稱為「zabbix」的資料庫。
最後,在Zabbix原始碼的「database」目錄中將有data.sql、images.sql、schema.sql三個檔案,可用來建立相關的資料庫表格,使用以下的指令來建立資料庫表格:
安裝成功後,Zabbix將提供以下幾個執行檔,其功能分別說明如下:
- zabbix_get:可從Zabbix伺服器(Server端)取得相關資訊。
- zabbix_sender:對Zabbix伺服器傳送相關資訊。
- zabbix_agentd:運作在被監控主機(以下稱為Zabbix Agent主機)上的常駐程式(Daemon),用來與Zabbix Server進行溝通,並將所在主機上的相關資訊提供給Zabbix Server。
- zabbix_server:運作在Zabbix Server主機上,用來監控Zabbix Agent主機的狀態。
接下來,說明Zabbix所使用的組態。由於Zabbix採用Server-Agent架構,因此其組態檔也區分為Server及Agent的組態,表3與表4分別為其Server端及Agent端的重要組態說明。
表3 Zabbix之Server端的重要組態
表4 Zabbix之Agent端的重要組態
安裝網頁式管理系統
為方便管理者管理,Zabbix提供了一個以PHP語言撰寫的網頁式管理系統。安裝過程很簡單,先將Zabbix原始碼目錄中所附的PHP檔案複製到網站伺服器,而網站伺服器必須支援PHP及MySQL功能。然後,跟著Zabbix設定程式指示操作即可,相關操作步驟如下:
先檢查目前的運作環境是否能夠運作Zabbix。這裡要注意的是,筆者在測試時,一直發生「PHP databases support」未通過的現象,發生此種問題的原因在於,PHP必須支援mysqli額外功能組態,所以讀者若是自行編譯PHP版本,必須將相關參數(主要為mysqli)一起編譯進去才行,如下為編譯PHP時組態的參考:
然後設定資料庫的相關連線資訊,也就是設定MySQL資料庫主機位置、帳號與密碼等相關資訊。
接著設定Zabbix Server相關資訊,包括主機位址、通訊埠及名稱。
最後按下〔Next〕按鈕,即可安裝並產生組態檔,組態檔名稱為「zabbix.conf.php」。在完成以上的設定後,即可透過瀏覽器以預設的帳號「admin」及密碼「zabbix」進行登入。成功登入之後,就會出現如下的儀表版畫面,顯示相關的重要資訊。