NagiosQL是一個基於Web方式的Nagios配置管理工具,它使用PHP語言開發,可運行在Apache下,後臺使用Mysql數據庫。同時,NagiosQL也是一個開源軟件。如果你使用過Nagios,那麼你一定感知到了它的強大監控功能,以及它的可擴展性。然而,它的監控配置信息都存放於文件中,配置和修改都需要手工編輯文件,這樣十分不便,尤其當監控的內容增多時,問題就更加明顯。NagiosQL就是一款解決此類問題的軟件,它提供了可視化的配置環境(基於Web方式),因此需要先搭建WEB環境。
一、安裝NagiosQL軟件
1、搭建web環境,安裝依賴包:
[root@localhost /]#yum -y install php-* mysql-* perl-* glibc-* gd-* httpd gcc gettext
2、釋放nagiosQL軟件包
NagiosQL是一個WEB管理工具,只要把其放到下Apache即可。因爲這裏它要和Nagios整合到一起,爲了方便管理,把其放在Nagios目錄下。
3、建立nagiosQL導出nagios配置文件的目錄,並修目錄權限,否則安裝會報錯。
4、修改httpd.conf配置文件,添加nagiosQL的虛擬目錄。
[root@localhost /]#vim /etc/httpd/conf/httpd.conf
...//省略部分內容
5、重啓httpd服務和mysqld服務,並創建nagiosql安裝文件。
[root@localhost /]#service httpd restart
[root@localhost /]#service mysqld restart
[root@localhost /]#touch /usr/local/nagios/nagiosql/install/ENABLE_INSTALLER
6、安裝nagiosQL,在瀏覽器中訪問http://yourIP/nagiosQL進行安裝nagiosQL。
如下圖:選擇中文開始安裝。
此時,會檢測環境是否可用,如果報錯根據報錯信息解決即可,單擊下一步進行安裝:
接下來,會要求填寫數據庫的相關信息,這裏默認即可,只填寫nagiosQL的管理密碼就可以了。
然後,選擇完成安裝後會彈出登錄界面,數據上面創建的用戶和密碼即可登錄。
二、Nagios的基本配置
1、登錄後的第一件事就是修改nagios相關路徑,在左邊菜單選擇管理-域,在右邊域管理中點擊localhost功能中的圖標進行修改,修改完成後單擊保存即可。
如果出現如下錯誤,則表示權限不夠,因此需要給相應的文件和目錄添加權限。
解決辦法如下:
2、接着在,“工具”→“導入數據” 右邊會列出一些配置文件,按ctrl鍵全部選擇右邊的.cfg文件--導入。
3、導入只是把配置文件內容導入到Mysql數據庫,而使用其配置文件時,是一個個cfg文件,所以下面要進行寫入過程,“工具”→“Nagios控制”→“寫入檢測數據”和“寫入其他數據”依次順序執行。
寫入之後就可以看到相應的cfg文件了,查看寫入是否成功,由下面的輸出可以看出寫入是成功的。
4、修改nagios的配置文件,將原有以cfg_file開頭項全部註釋掉,加入上面新寫入的配置文件
有關在nagios.cfg文件註釋原有以cfg_file開頭項可以在nagiosql頁面選擇“工具”→“nagios配置”將原有以cfg_file開頭項用#註釋,如下圖所示:
加入新的配置文件路徑
cfg_dir=/etc/nagiosql/hosts/
cfg_dir=/etc/nagiosql/services/
cfg_file=/etc/nagiosql/commands.cfg
cfg_file=/etc/nagiosql/contactgroups.cfg
cfg_file=/etc/nagiosql/contacts.cfg
cfg_file=/etc/nagiosql/contacttemplates.cfg
cfg_file=/etc/nagiosql/hostdependencies.cfg
cfg_file=/etc/nagiosql/hostescalations.cfg
cfg_file=/etc/nagiosql/hostextinfo.cfg
cfg_file=/etc/nagiosql/hostgroups.cfg
cfg_file=/etc/nagiosql/hosttemplates.cfg
cfg_file=/etc/nagiosql/servicedependencies.cfg
cfg_file=/etc/nagiosql/serviceescalations.cfg
cfg_file=/etc/nagiosql/serviceextinfo.cfg
cfg_file=/etc/nagiosql/servicegroups.cfg
cfg_file=/etc/nagiosql/servicetemplates.cfg
cfg_file=/etc/nagiosql/timeperiods.cfg
在nagiosql頁面選擇“工具”—“nagios配置”將上面的內容複製到nagios.cfg文件中,如下圖所示:
單擊“保存”按鈕,保存nagios.cfg文件的修改。
5、再次單擊工具--Nagios控制,在右側單擊檢查配置文件後面的“執行”,進行文件的檢查。檢測結果如下圖所示
解決方法:如下將下列內容註釋,
[root@localhost /]#vim /etc/nagios/services/imp_temporary.cfg
並修改servicetemplates.cfg文件中有關srv-pnp的定義,修改結果如下圖:
[root@localhost /]#vim /etc/nagios/servicetemplates.cfg
...//省略部分內容
6、再次單擊工具--Nagios控制,在右側單擊檢查配置文件後面的“執行”,進行文件的檢查。檢測結果如下圖所示
根據報錯提示解決問題。
解決方法如下:修改hosttemplates.cfg文件,修改後的結果如下圖所示:
[root@localhost /]#vim /etc/nagios/hosttemplates.cfg
...//省略部分內容
修改nagios.cfg文件,在nagios.cfg文件中的use後添加host-pnp
[root@localhost /]#vim /etc/nagios/hosts/nagios.cfg
...//省略部分內容
再次單擊工具--Nagios控制,在右側單擊檢查配置文件後面的“執行”,進行文件的檢查。根據檢測結果解決問題,基本和上面問題解決方法類似,即在主機監控文件的use後添加host-pnp,在服務監控文件的use後添加srv-pnp
單擊工具--Nagios控制,在右側單擊檢查配置文件後面的“執行”,進行文件檢測,直到不提示報錯爲止。
7、最後重啓nagios服務:
如果提示以上錯誤,很顯然又是權限問題,因此給相應文件和目錄權限即可,解決如下:
注意:建議在nagios安裝好後就佈署nagiosql,這樣就不會出現上述的問題了。
三:nagiosQL應用配置
通過nagiosql添加要監控的主機:以監控Linux主機(如mysql服務器爲例)
例如:加入第一個分區使用情況,注意有些硬盤用的是hda,有些是sda
如果你不確定你所使用的是哪種接口的硬盤,請用命令ls /dev/查看一看,看到我這裏用的是SCSI接口的硬盤
1、添加命令:進入nagiosQL管理控制檯點 命令-定義-添加
添加如下命令
2、添加監控主機:進入nagiosQL管理控制檯點 監督-host-添加
列如:添加一個mysqlhost的主機,添加內容如下:
注意:保存完主機配置後,還需要單擊寫入按鈕,否則無效。
3、添加監控服務 監督-服務-添加
添加服務內容如下:
配置名稱:imp_mysqlhost //注:這裏的配置名稱一定和已監控主機的相關項目的配置文件名一致,我這裏是監控mysql服務器,配置文件名稱是services/imp_mysqlhost。
服務描述:mysql_server //自定義
檢查命令:check_nrpe //前面定義好的命令
$ARG1$:check_check_swap //在被監控主機定義好的命令
單擊保存按鈕,添加完成記得要點寫入配置。
這裏我只演示添加check_swap服務,更多服務的添加要靠自己多學習舉一反三。
4、然後在主機端關聯剛纔自定義好的服務,操作過程如下圖所示:
在監督—host選項中找到已添加好的被監控的主機,我這裏被監控的主機是mysqlhost,單擊後面的修改。
注意:別忘記了寫入操作,否則無效。
5、最後重啓服務,是配置文件生效。
四:查看nagios監控界面,驗證監控效果。
哎呀我的天啊!都凌晨兩點了,辛苦熬夜寫的這篇文章,大家一定要支持啊。