Red Hat上的Nagios-安裝Nagios
本文講述的是Red Hat上的Nagios:
安裝Nagios 、Nagios的插件 、Nagios配置文件 、Nagios對(duì)象 、配置NDOUtils
一、安裝配置Nagios
1、Nagios簡(jiǎn)介
Nagios是一款遵循GPLv2的開(kāi)源網(wǎng)絡(luò)監(jiān)控軟件,可用來(lái)監(jiān)控指定的多種系統(tǒng)的主機(jī)、服務(wù),并可在它們的工作狀態(tài)發(fā)生變化時(shí)通知管理員。它的特性包括:
1)監(jiān)控網(wǎng)絡(luò)服務(wù)(HTTP、POP3、SMTP、PING、MySQL等)
2)監(jiān)控主機(jī)資源(磁盤(pán)空間利用率、內(nèi)存利用率、CPU負(fù)載等)
3)簡(jiǎn)潔的插件設(shè)計(jì)接口,使得用戶可以輕松開(kāi)發(fā)所需的檢測(cè)腳本
4)并行服務(wù)模式
5)輕松描述網(wǎng)絡(luò)結(jié)構(gòu),并且能夠區(qū)辨“宕機(jī)”和“主機(jī)不可達(dá)”
6)通過(guò)郵件或用戶自定義的方式將主機(jī)或服務(wù)的工作狀態(tài)變化情況通知給管理員
7)自動(dòng)日志滾動(dòng)
8)支持以冗余方式進(jìn)行主機(jī)監(jiān)控
9)可以通過(guò)web方式直觀的查看當(dāng)前網(wǎng)絡(luò)狀態(tài)、通知和問(wèn)題歷史、日志文件等等,此組件為可選
Nagios通常由一個(gè)主程序(Nagios)、一個(gè)插件程序(Nagios-plugins)和四個(gè)可選的ADDON(NRPE、NSCA、NSClient++和NDOUtils)組成。Nagios的監(jiān)控工作都是通過(guò)插件實(shí)現(xiàn)的,因此,Nagios和Nagios-plugins是服務(wù)器端工作所必須的組件。而四個(gè)ADDON中,NRPE用來(lái)在監(jiān)控的遠(yuǎn)程Linux/Unix主機(jī)上執(zhí)行腳本插件以實(shí)現(xiàn)對(duì)這些主機(jī)資源的監(jiān)控;NSCA用來(lái)讓被監(jiān)控的遠(yuǎn)程Linux/Unix主機(jī)主動(dòng)將監(jiān)控信息發(fā)送給Nagios服務(wù)器(這在冗余監(jiān)控模式中特別要用到);NSClient++是用來(lái)監(jiān)控Windows主機(jī)時(shí)安裝在Windows主機(jī)上的組件;而NDOUtils則用來(lái)將Nagios的配置信息和各event產(chǎn)生的數(shù)據(jù)存入數(shù)據(jù)庫(kù),以實(shí)現(xiàn)這些數(shù)據(jù)的快速檢索和處理。這四個(gè)ADDON(附件)中,NRPE和NSClient++工作于客戶端,NDOUtils工作于服務(wù)器端,而NSCA則需要同時(shí)安裝在服務(wù)器端和客戶端。
下圖是筆者根據(jù)自己的理解給出的Nagios各組件的關(guān)系圖,希望能幫助讀者理解。如果您對(duì)此構(gòu)圖中的關(guān)系持有異議,歡迎通過(guò)各種方式跟筆者交流。

目前,Nagios只能安裝在Linux系統(tǒng)主機(jī)上,其編譯需要用到gcc。同時(shí),如果打算使用web界面的管理工具的話,還需要有apache服務(wù)器和GD圖形庫(kù)的支持。
2、安裝前的準(zhǔn)備工作
(1)解決安裝Nagios的依賴關(guān)系:
Nagios基本組件的運(yùn)行依賴于httpd、gcc和gd??梢酝ㄟ^(guò)以下命令來(lái)檢查nagios所依賴的rpm包是否已經(jīng)完全安裝:
- # rpm -q httpd gcc glibc glibc-common gd gd-devel
對(duì)于缺少的rpm包,您可以掛載光盤(pán)直接使用rpm命令進(jìn)行安裝。如果不想總是被rpm的依賴關(guān)系所困擾,您可以通過(guò)yum結(jié)合本地源來(lái)實(shí)現(xiàn)rpm包的管理。對(duì)于本地源的建立,可以參考筆者的另外一篇關(guān)于yum的文章。
說(shuō)明:以上軟件包您也可以通過(guò)編譯源代碼的方式安裝,只是后面許多要用到的相關(guān)文件的路徑等需要按照您的源代碼安裝時(shí)的配置逐一修改。
(2)添加nagios運(yùn)行所需要的用戶和組:
- # groupadd nagcmd
- # useradd -m nagios
- # usermod -a -G nagcmd nagios
把a(bǔ)pache加入到nagcmd組,以便于在通過(guò)web Interface操作nagios時(shí)能夠具有足夠的權(quán)限:
- # usermod -a -G nagcmd apache
3、編譯安裝nagios:
- # tar zxf nagios-3.1.2.tar.gz
- # cd nagios-3.1.2
- # ./configure --with-command-group=nagcmd
- # make all
- # make install
- # make install-init
- # make install-config
- # make install-commandmode
為email指定您想用來(lái)接收nagios警告信息的郵件地址,默認(rèn)是本機(jī)的nagios用戶:
- # vi /usr/local/nagios/etc/objects/contacts.cfg
- email nagios@localhost #這個(gè)是默認(rèn)設(shè)置
在httpd的配置文件目錄(conf.d)中創(chuàng)建Nagios的Web程序配置文件:
- # make install-webconf
創(chuàng)建一個(gè)登錄nagios web程序的用戶,這個(gè)用戶帳號(hào)在以后通過(guò)web登錄nagios認(rèn)證時(shí)所用:
- # htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
以上過(guò)程配置結(jié)束以后需要重新啟動(dòng)httpd:
- # service httpd restart
4、編譯、安裝nagios-plugins
nagios的所有監(jiān)控工作都是通過(guò)插件完成的,因此,在啟動(dòng)nagios之前還需要為其安裝官方提供的插件。
- # tar zxf nagios-plugins-1.4.13.tar.gz
- # cd nagios-plugins-1.4.13
- # ./configure --with-nagios-user=nagios --with-nagios-group=nagios
- # make
- # make install
5、配置并啟動(dòng)Nagios
(1)把nagios添加為系統(tǒng)服務(wù)并將之加入到自動(dòng)啟動(dòng)服務(wù)隊(duì)列:
- # chkconfig --add nagios
- # chkconfig nagios on
(2)檢查其主配置文件的語(yǔ)法是否正確:
- # /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
(3)如果上面的語(yǔ)法檢查沒(méi)有問(wèn)題,接下來(lái)就可以正式啟動(dòng)nagios服務(wù)了:
- # service nagios start
(4)配置selinux
如果您的系統(tǒng)開(kāi)啟了selinux服務(wù),則默認(rèn)為拒絕nagios web cgi程序的運(yùn)行。您可以通過(guò)下面的命令來(lái)檢查您的系統(tǒng)是否開(kāi)啟了selinux:
- #getenforce
如果上面命令的結(jié)果顯示開(kāi)啟了selinux服務(wù),您可以通過(guò)下面的命令暫時(shí)性的將其關(guān)閉:
- #setenforce 0
如果您想在以后完全關(guān)閉selinux,可以通過(guò)編輯/etc/sysconfig/selinux文件,將其中的selinux后面的值“force”修改為“disable”即可。
當(dāng)然,您也可以通過(guò)以下方式將nagios的CGI程序運(yùn)行于SELinux/targeted模式而不用關(guān)閉selinux:
- # chcon -R -t httpd_sys_content_t /usr/local/nagios/sbin
- # chcon -R -t httpd_sys_content_t /usr/local/nagios/share
(5)通過(guò)web界面查看nagios:http://your_nagios_IP/nagios
登錄時(shí)需要指定前面設(shè)定的web認(rèn)證帳號(hào)和密碼。
注意:為了nagios系統(tǒng)的安全,建議您使用信息摘要強(qiáng)認(rèn)證模式(如MD5),強(qiáng)制使用web的TSL/SSL安全通訊模式,并且通過(guò)訪問(wèn)控制列表設(shè)定能訪問(wèn)nagios的web界面的客戶端地址。
本文講述的是Red Hat上的Nagios安裝Nagios 下一節(jié):Nagios的插件
【編輯推薦】


















