Nagios監(jiān)控服務(wù)器與客戶端的安裝
Nagios是一個(gè)監(jiān)視系統(tǒng)運(yùn)行狀態(tài)和網(wǎng)絡(luò)信息的監(jiān)視系統(tǒng)。Nagios能監(jiān)視所指定的本地或遠(yuǎn)程主機(jī)以及服務(wù),同時(shí)提供異常通知功能等Nagios可運(yùn)行在Linux/Unix平臺(tái)之上,同時(shí)提供一個(gè)可選的基于瀏覽器的WEB界面以方便系統(tǒng)管理人員查看網(wǎng)絡(luò)狀態(tài),各種系統(tǒng)問(wèn)題,以及日志等等。
一、Nagios的主要功能特點(diǎn):
- 監(jiān)視網(wǎng)絡(luò)服務(wù) (SMTP, POP3, HTTP, NNTP, PING等)
- 監(jiān)視主機(jī)資源 (進(jìn)程, 磁盤(pán)等)
- 簡(jiǎn)單的插件設(shè)計(jì)可以輕松擴(kuò)展Nagios的監(jiān)視功能
- 服務(wù)等監(jiān)視的并發(fā)處理
準(zhǔn)備軟件包:
- Nagios Core nagios-3.2.2.tar.gz
- Nagios Plugins nagios-plugins-1.4.15.tar.gz
- Nagios Addons nrpe-2.12.tar.gz
二、服務(wù)器端安裝
- 查看安裝服務(wù)器環(huán)境(LAMP)
- #rpm -qa | grep httpd
- #rpm -qa | grep php
- 沒(méi)有的話安裝
- # yum -y install gcc glibc glibc-common gd gd-devel php openssl-devel httpd
- 創(chuàng)建用戶:
- # useradd -m -s /bin/bash nagios
- # groupadd nagios
- # usermod -G nagios nagios
- # vi /etc/passwd
- nagios:x:500:500::/home/nagios:/sbin/nologin
- 改成:
- nagios:x:500:500::/home/nagios:/bin/bash
- 創(chuàng)建一個(gè)用戶組名為nagcmd 用于從Web接口執(zhí)行外部命令。將nagios用戶和apache用戶都加到這個(gè)組中。
- 因?yàn)橐玫?nbsp;CGI 的 Web 監(jiān)控面板,所以這里我們還要添加一個(gè) nagcmd 組,用于 CGI 執(zhí)行相關(guān)指令。
- # /usr/sbin/groupadd nagcmd
- # /usr/sbin/usermod -G nagcmd nagios
- # /usr/sbin/usermod -a -G nagcmd daemon (因?yàn)槭蔷幾g方式安裝的apache,默認(rèn)是以daemon用戶運(yùn)行)
下載相關(guān)的軟件包,服務(wù)器端需要安裝以下三個(gè)包,客戶端只需要安裝后兩個(gè)插件包:
- [root@server ~]#cd /usr/local/src/tarbag/
- [root@server tarbag]#wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.2.tar.gz
- [root@server tarbag]#wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.15.tar.gz
- [root@server tarbag]#wget http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.12.tar.gz
解壓并編譯安裝Nagios:
- # tar xvzf nagios-3.2.2.tar.gz
- # cd nagios-3.2.2
運(yùn)行Nagios配置腳本并使用先前開(kāi)設(shè)的用戶及用戶組:
- # ./configure --prefix=/usr/local/nagios --with-command-group=nagcmd
編譯Nagios程序包源碼:
- # make all
安裝二進(jìn)制運(yùn)行程序、初始化腳本、配置文件樣本并設(shè)置運(yùn)行目錄權(quán)限:
- # make install
- # make install-init //在/etc/rc.d/init.d安裝啟動(dòng)腳本
- # make install-config //安裝示例配置文件,安裝的路徑是/usr/local/nagios/etc
- # make install-commandmode //配置目錄權(quán)限
- #ls /usr/local/nagios/
- bin etc libexec sbin share var
三、對(duì)nagios進(jìn)行配置
樣例配置文件默認(rèn)安裝在這個(gè)目錄下/usr/local/nagios/etc,這些樣例文件可以配置Nagios使之正常運(yùn)行,只需要做一個(gè)簡(jiǎn)單的修改...
用你擅長(zhǎng)的編輯器軟件來(lái)編輯這個(gè)/usr/local/nagios/etc/objects/contacts.cfg配置文件,更改email地址nagiosadmin的聯(lián)系人定義信息中的EMail信息為你的EMail信息以接收?qǐng)?bào)警內(nèi)容。
- vi /usr/local/nagios/etc/objects/contacts.cfg
1、安裝nagios插件
- #cd ../
- #tar zxvf nagios-plugins-1.4.16.tar.gz
- #cd nagios-plugins-1.4.16
- #./configure --with-nagios-user=nagios --with-nagios-group=nagios --prefix=/usr/local/nagios/ //指定安裝目錄及用戶和組
- #make;make install
- 配置httpd
- 生成Nagios的Apache配置文件
- # cd nagios-3.2.2
- # make install-webconf
- /usr/bin/install -c -m 644 sample-config/httpd.conf /etc/httpd/conf.d/nagios.conf
- # cd sample-config
- 參考sample-config/httpd.conf配置內(nèi)容添加到Apache的httpd.conf配置文件中
- 創(chuàng)建一個(gè)nagiosadmin的用戶用于Nagios的Apache接口登錄。記下你所設(shè)置的登錄口令,一會(huì)兒你會(huì)用到它。
- # ./htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
- 密碼:nagiosmonitor
- 重啟Apache服務(wù)以使設(shè)置生效。
- 安裝NRPE插件,想獲取客戶機(jī)上更為詳細(xì)的信息,還必須在服務(wù)器及客戶端上安裝NRPE插件。
- #cd ..
- #tar zxvf nrpe-2.14.tar.gz
- #cd nrpe-2.14
- #./configure --with-nagios-user=nagios --with-nagios-group=nagios --prefix=/usr/local/nagios/
- # make all
- # make install-plugin;make install-daemon;make install-daemon-config
- # ls /usr/local/nagios/libexec/
- check_apt check_ftp check_mailq check_overcr check_tcp .......
- 驗(yàn)證Nagios的樣例配置文件
- # /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
- 如果沒(méi)有報(bào)錯(cuò),可以啟動(dòng)Nagios服務(wù)
- 啟動(dòng)httpd及nagios服務(wù)并驗(yàn)證
- #chkconfig --add nagios //設(shè)置nagios及http開(kāi)機(jī)自啟動(dòng)
- #chkconfig nagios on
- #chkconfig httpd on
- #service nagios start
- #service httpd start
2、客戶端安裝
- #useradd -s /sbin/nologin nagios //添加nagios用戶
- 安裝nagios-plugins
- # tar -zxvf nagios-plugins-1.4.15.tar.gz
- # cd nagios-plugins-1.4.15
- # ./configure --prefix=/usr/local/nagios
- # make
- # make install
- # chown nagios.nagios /usr/local/nagios/
- # chown -R nagios.nagios /usr/local/nagios/libexec/
- 安裝nrpe插件
- # tar -zxvf nrpe-2.12.tar.gz
- # cd nrpe-2.12
- # ./configure --prefix=/usr/local/nagios/
- # make all
- # make install-plugin 安裝check_nrpe這個(gè)插件
- # make install-daemon 安裝daemon
- # make install-daemon-config 安裝配置文件
- 如果安裝時(shí)報(bào)錯(cuò):checking for SSL headers... configure: error: Cannot find ssl headers
- # rpm -qa|grep openssl
- openssl-devel-0.9.8e-12.el5_4.6
- openssl-0.9.8e-12.el5_4.6
- yum install openssl-devel
- 或者下載:http://www.openssl.org/source/
- tar zxvf openssl-1.0.0a.tar.gz
- cd openssl-1.0.0a
- ./config
- make
- make test
- make install
- 修改客戶端配置文件
- vi /usr/local/nagios/etc/nrpe.cfg
- server_port:5666
- allowed_hosts=127.0.0.1,192.168.1.95 //添加服務(wù)器端的IP地址
- 指定nagios監(jiān)控主機(jī)ip,多個(gè)ip用逗號(hào)分隔,后面的IP地址,是nagios服務(wù)端的ip地址,也就是說(shuō)只允許指定的ip通過(guò)nrpe開(kāi)的端口5666取得本機(jī)的信息。
- 然后修改nrpe.cfg中的command部分。
- 啟動(dòng)NRPE守護(hù)進(jìn)程:(可以將此命令加入/etc/rc.local,以便開(kāi)機(jī)自動(dòng)啟動(dòng))
- #/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
- 可以將此命令加入/etc/rc.local,以便開(kāi)機(jī)自動(dòng)啟動(dòng)
- echo "/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d" >> /etc/rc.local
- #netstat -utpln |grep nrpe //查看nrpe進(jìn)程是否已正常啟動(dòng)
- #/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1 NRPE v2.14 //nrpe測(cè)試結(jié)果,此結(jié)果為nrpe已經(jīng)正常工作了
- 然后在nagios監(jiān)控服務(wù)器上測(cè)試
- #/usr/local/nagios/libexec/check_nrpe -H 192.168.1.77 //被監(jiān)控主機(jī)ip
- 返回信息被監(jiān)控服務(wù)器上安裝的NRPE版本:NRPE v2.12
3、定義監(jiān)控內(nèi)容
- # vi /usr/local/nagios/etc/nrpe.cfg //定義監(jiān)控服務(wù)器內(nèi)容
- command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10 #監(jiān)控登陸的用戶數(shù)量
- command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20 #監(jiān)控CPU的負(fù)載
- command[check_sda2]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda2 #監(jiān)控磁盤(pán)利用率,這里的sda2必須是實(shí)際的硬盤(pán)分區(qū),可使用fdisk –l查
- command[check_swap]=/usr/local/nagios//libexec/check_swap -w 20 -c 10 #監(jiān)控交換空間 command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z #監(jiān)控進(jìn)程中的僵尸進(jìn)程
- command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200 #監(jiān)控所有進(jìn)程
- 注意:command后面括號(hào)中的內(nèi)容就是定義的變量,變量名可以任意指定,只需和服務(wù)器配置文件中的一致即可