三、被监控机(linux)系统的安装配置 

1使用NRPE监控远程LINUX上的本地信息 

NRPE总共由两部分组成: check_nrpe 插件,位于在监控主机

     NRPE daemon 运行在远程的linux主机上(通常就是被监控机)

(整个的监控过程如下):

nagios需要监控某个远程linux主机的服务或者资源情况时

1nagios主监控机会运行check_nrpe这个插件,告诉它要检查什么.

2check_nrpe插件会连接到远程的NRPE daemon,所用的方式是SSL

3NRPE daemon会运行相应的nagios插件来执行检查

4NRPE 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  (编辑开机启动文件)

  1. # default: on  
  2. # description: NRPE (Nagios Remote Plugin Executor)  
  3. service nrpe  
  4. {  
  5.         flags           = REUSE 
  6.         socket_type     = stream 
  7.         port            = 5666 
  8.         wait            = no 
  9.         user            = nagios 
  10.         group           = nagios 
  11.         server          = /usr/local/nagios/bin/nrpe  
  12.         server_args     = -c /usr/local/nagios/etc/nrpe.cfg --inetd  
  13.         log_on_failure  += USERID  
  14.         disable         = no 
  15.         only_from       = 127.0.0.1 192.168.1.100 ;在后面增加的是监控主机的IP地址,以空格间隔。  
  16. }  

 

2)添加到开机加载服务中

[root@localhost ]# vi /etc/services

  1. # Local services  
  2. 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 (去掉前面的注释号,才能开启监控)

  1. # The following examples use hardcoded command arguments...  
  2. command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10  ;检测登录用户
  3. command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20   ;检测CPU负载
  4. command[check_hda1]=/usr/local/nagios/libexec/check_disk -w 20 -c 10 -p /dev/hda1 ;检测磁盘容量
  5. command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z ;检测僵尸进程
  6. 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的命令参数。

  1. 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(在文件最后面增加下面的定义:)

  1. # 'check_nrpe ' command definition  
  2. define command{  
  3.         command_name check_nrpe     ;定义命令名称  
  4.         command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$  
  5.         } 

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主机列表和服务)

  1. define host{   ;这里定义主机列表  
  2.         use              linux-server   
  3.        host_name         nfs-server  
  4.        alias             nfs  
  5.        address           192.168.1.83  
  6.         }  
  7.  
  8. define hostgroup{    ;这里定义群组列表  
  9.        hostgroup_name    remote-linux-servers   
  10.        alias            Linux Servers  
  11.        members          nfs-server  
  12.         }  
  13.  
  14. define service{      ;这里定义远端到被控机的服务和要加入此服务的群组名  
  15.        use                     local-service  
  16.        hostgroup_name          remote-linux-server  
  17.        service_description     http:80    
  18.        check_command           check_http ;http服务可以通过远程访问的方法来检测,只需调用主控端check_http命令  
  19.         }  
  20.  
  21. define service{    ;这里定义被控机本地的服务和要加入此服务的主机名  
  22.        use                      local-service  
  23.        host_name                nfs-server  
  24.        service_description      Root Partition   
  25.        check_command            check_nrpe!check_disk ;检查根分区的使用情况,要在被控机本地执行,需要调用远端的check_nrpe插件定义的命令。提示:check_nrpe后面跟的命令必须要与在被控机的nrpe.cfg参数的command[check_disk]中括号一样  
  26.         }  

5、注意:新增的定义文件linux.cfg 要加入到主配置文件nagios.cfg中去加载
[root@localhost ]# vim  /usr/local/nagios/etc/nagios.cfg

  1. 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