文章說明:文章主要參照“海哥CentOS Blog”
監控監控linux本地主機時,我們可以直接更改配置文件進行監控,如果需要監控的主機與nagios不在同一機器上,即監控遠程linux主機時,我們需要藉助NRPE插件實現。
遠程主機的操作
下載Nagios Plugins和NRPE
- cd /tmp
- wget http://iweb.dl.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.13/nrpe-2.13.tar.gz
- wget http://iweb.dl.sourceforge.net/project/nagiosplug/nagiosplug/1.4.16/nagios-plugins-1.4.16.tar.gz
創建nagios帳號
- useradd nagios
- passwd nagios
安裝nagios-plugin
- cd /tmp
- tar xvfz nagios-plugins-1.4.16.tar.gz
- cd nagios-plugins-1.4.16
- export LDFLAGS=-ldl
- ./configure --with-nagios-user=nagios --with-nagios-group=nagios --enable-redhat-pthread-workaround
- make
- make install
- chown nagios.nagios /usr/local/nagios
- chown -R nagios.nagios /usr/local/nagios/libexec/
安裝NRPE
- cd /tmp
- tar xvfz nrpe-2.13.tar.gz
- cd nrpe-2.13
- ./configure
- make all
- make install-plugin
- make install-daemon
- make install-daemon-config
- yum install xinetd
- make install-xinetd
配置NRPE以守護進程運行
1、更改/etc/xinetd.d/nrpe文件,設置允許nagios服務器連接,如nagios服務器的ip爲192.168.1.2:
- only_from = 127.0.0.1 192.168.1.2
2、在/etc/services結尾增加:
- nrpe 5666/tcp # NRPE
3、啓動xinetd
- service xinetd restart
4、驗證nrpe是否監聽
- netstat -at | grep nrpe
5、測試nrpe是否正常運行
- /usr/local/nagios/libexec/check_nrpe -H localhost
- NRPE v2.13
6、更改 /usr/local/nagios/etc/nrpe.cfg
nrpe.cfg文件裏包含需要監控遠程主機的命令,如下面是我的配置:
- #用戶登錄數
- command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10
- #CPU負載
- command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20
- #磁盤空間
- command[check_disk]=/usr/local/nagios/libexec/check_disk -w 20 -c 10 -p /dev/sda
- #殭屍進程數
- command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z
- #進程總數
- command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200
- #物理內存(腳本內容見附件)
- command[check_mem]=/usr/local/nagios/libexec/check_mem.sh -H $HOSTADDRESS$
nagios服務器的操作
首先安裝nagios,參考:http://www.centos.bz/2012/02/centos-install-nagios/
下載安裝NRPE
- cd /tmp
- wget http://iweb.dl.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.13/nrpe-2.13.tar.gz
tar xvfz nrpe-2.13.tar.gz
cd nrpe-2.13
./configure
make all
make install-plugin
測試是否正常:
- /usr/local/nagios/libexec/check_nrpe -H 192.168.1.3
- NRPE v2.13
爲監控遠程主機定義host和service
1、定義check_nrpe命令
在文件/usr/local/nagios/etc/objects/commands.cfg後面增加:
- # 'check_nrpe' command definition
- define command{
- command_name check_nrpe
- command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -t 30 -c $ARG1$
- }
2、創建/usr/local/nagios/etc/objects/host.cfg (需提前在nagios.cfg中定義)
host定義示例:
- define host{
- use linux-server
- host_name remotehost
- address 192.168.1.3
- }
3、創建服務:vi /usr/local/nagios/etc/objects/services.cfg (需提前在nagios.cfg中定義)
如定義監控遠程主機磁盤空間示例(其他服務語法相同):
- define service{
- use generic-service
- service_description sda磁盤空間
- check_command check_nrpe!check_disk
- }
之後重載nagios配置文件使其生效
- service nagios reload