三、被監控機(linux)系統的安裝配置
1、使用NRPE監控遠程LINUX上的”本地信息”:
NRPE總共由兩部分組成: check_nrpe 插件,位於在監控主機上
NRPE daemon 運行在遠程的linux主機上(通常就是被監控機)
(整個的監控過程如下):
當nagios需要監控某個遠程linux主機的服務或者資源情況時
(1)nagios主監控機會運行check_nrpe這個插件,告訴它要檢查什麼.
(2)check_nrpe插件會連接到遠程的NRPE daemon,所用的方式是SSL
(3)NRPE daemon會運行相應的nagios插件來執行檢查
(4)NRPE daemon將檢查的結果返回給check_nrpe插件,插件將其遞交給nagios做處理。
注意: NRPE daemon需要nagios插件安裝在遠程的linux主機上,否則daemon不能做任何的監控。
2、在被監控機上面建用戶與安裝nagion插件:
(1)增加用戶、組與密碼
[root@localhost ]# groupadd nagios (增加用戶組)
[root@localhost ]# useradd nagios -g nagios (增加用戶並加入組)
[root@localhost ]# passwd nagios (設置密碼)
(2)解壓與安裝 (下載地址:http://www.nagios.org/download/plugins/)
[root@localhost ]# tar -zxvf nagios-plugins-1.4.15.tar.gz
[root@localhost ]# cd nagios-plugins-1.4.15
[root@localhost ]# ./configure (編譯)
[root@localhost ]# make && make install (安裝)
(3)修改目錄權限
[root@localhost ]# chown nagios.nagios /usr/local/nagios
[root@localhost ]# chown -R nagios.nagios /usr/local/nagios/libexec
3、在被監控機上面安裝nrpe插件:(下載地址:http://sourceforge.net/projects/nagios/files/)
[root@localhost ]# tar -zxvf nrpe-2.12.tar.gz
[root@localhost ]# cd nrpe-2.12
[root@localhost ]# ./configure (可以看到NRPE的端口是5666)
[root@localhost ]# make all
[root@localhost ]# make install-plugin (安裝check_nrpe插件)
[root@localhost ]# make install-daemon (安裝deamon)
[root@localhost ]# make install-daemon-config (安裝daemon配置文件)
(1)設置開機加載nrpe服務
[root@localhost ]# make install-xinetd (安裝nrpe到開機啓動服務中)
[root@localhost ]# vim /etc/xinetd.d/nrpe (編輯開機啓動文件)
- # default: on
- # description: NRPE (Nagios Remote Plugin Executor)
- service nrpe
- {
- flags = REUSE
- socket_type = stream
- port = 5666
- wait = no
- user = nagios
- group = nagios
- server = /usr/local/nagios/bin/nrpe
- server_args = -c /usr/local/nagios/etc/nrpe.cfg --inetd
- log_on_failure += USERID
- disable = no
- only_from = 127.0.0.1 192.168.1.100 ;在後面增加的是監控主機的IP地址,以空格間隔。
- }
(2)添加到開機加載服務中
[root@localhost ]# vi /etc/services
- # Local services
- nrpe 5666/tcp # 增加nrpe的服務
[root@localhost ]# service xinetd restart (重啓xinetd服務,加載新增的端口)
[root@localhost ]# /usr/local/nagios/libexec/check_nrpe -H localhost (檢測是否安裝成功,成功會返回nrpe的版本號)
(3)查看NRPE的監控命令:
[root@localhost ]# cd /usr/local/nagios/etc
[root@localhost ]# vim nrpe.cfg (去掉前面的註釋號,才能開啓監控)
- # The following examples use hardcoded command arguments...
- command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10 ;檢測登錄用戶
- command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20 ;檢測CPU負載
- command[check_hda1]=/usr/local/nagios/libexec/check_disk -w 20 -c 10 -p /dev/hda1 ;檢測磁盤容量
- 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 ;檢測總進程數
(使用check_load -w 15,10,5 -c 30,25,20這個命令“檢測當前cpu的負載”的意義如下)
當1分鐘多於15個進程等待, 5分鐘多於10個進程, 15分鐘多於5個進程則爲warning狀態
當1分鐘多於30個進程等待, 5分鐘多於25個進程, 15分鐘多於20個進程則爲critical狀態
默認定義監控的內容是上面的五項,如果需要監控更多(如內存swap使用),可以自己增加進去,但請注意必須在/usr/local/nagios/libexec/這個目錄下有check_swap的命令參數。
- command[check_swap]=/usr/local/nagios/libexec/check_swap -w 20% -c 10%
(上面是檢測系統內存,當剩餘20%時警告,10%嚴重警告)
四、在主監控機系統上配置NRPE插件
1、在主監控機上面安裝check_nrpe插件:(下載地址:http://sourceforge.net/projects/nagios/files/)
[root@localhost ]# tar -zxvf nrpe-2.12.tar.gz
[root@localhost ]# cd nrpe-2.12.tar.gz
[root@localhost ]# ./configure (編譯)
(注意:如果編譯的時候如果報錯“checking for SSL headers... configure: error: Cannot find ssl headers”) 原因是缺少openssl-devel包,執行 # yum -y install openssl-devel 問題解決!
[root@localhost ]# make all
[root@localhost ]# make install-plugin (安裝check_nrpe插件)
2、在主監控機上測試到被監控機的通信是否正常:
[root@localhost ]# /usr/local/nagios/libexec/check_nrpe -H 192.168.0.100 (被監控機IP地址)
(如果雙方之間的通信正常會返回nrpe版本信息)
3、在主監控機上commands.cfg命令參數增加對check_nrpe的定義:
[root@localhost ]# vi /usr/local/nagios/etc/objects/commands.cfg(在文件最後面增加下面的定義:)
- # 'check_nrpe ' command definition
- define command{
- command_name check_nrpe ;定義命令名稱
- command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
- }
4、在主監控機上面增加定義被監控的“主機名稱”和“服務項目”等:
[root@localhost ]# cd /usr/local/nagios/etc/objects/
[root@localhost ]# cp localhost.cfg linux.cfg
[root@localhost ]# chown nagios.nagios linux.cfg (注意要改變文件屬主爲nagios)
[root@localhost ]# vim linux.cfg (定義要監控的linux主機列表和服務)
- define host{ ;這裏定義主機列表
- use linux-server
- host_name nfs-server
- alias nfs
- address 192.168.1.83
- }
- define hostgroup{ ;這裏定義羣組列表
- hostgroup_name remote-linux-servers
- alias Linux Servers
- members nfs-server
- }
- define service{ ;這裏定義遠端到被控機的服務和要加入此服務的羣組名
- use local-service
- hostgroup_name remote-linux-server
- service_description http:80
- check_command check_http ;http服務可以通過遠程訪問的方法來檢測,只需調用主控端check_http命令
- }
- define service{ ;這裏定義被控機本地的服務和要加入此服務的主機名
- use local-service
- host_name nfs-server
- service_description Root Partition
- check_command check_nrpe!check_disk ;檢查根分區的使用情況,要在被控機本地執行,需要調用遠端的check_nrpe插件定義的命令。提示:check_nrpe後面跟的命令必須要與在被控機的nrpe.cfg參數的command[check_disk]中括號一樣
- }
5、注意:新增的定義文件linux.cfg 要加入到主配置文件nagios.cfg中去加載
[root@localhost ]# vim /usr/local/nagios/etc/nagios.cfg
- cfg_file=/usr/local/nagios/etc/objects/linux.cfg
6、檢測參數修改配置是否正確,並重新加載nagios.
[root@localhost ]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
[root@localhost ]# service nagios reload