在redhat5.4 上配置 nagios 之 NRPE实现远程监控

简介:

 第一,   nagios 的插件介绍

1,nagios 是一款开源的网络监控软件,可以用来监控host ,service等对象,nagios能根据监控对像状态的变化的改变,而进行通知管理员,当然 您可以选择报警的方式(     E-mai,SMS(即短信服务))

2 nagios 通常有一个主程序,一个插件程序nagios-plugins和四个可选的ADDON 分别是NRPE,NSCA,NSClient++和Ndoutils 做成,当然nagios的监控工作都是通过插件来实现的,nagios和nagios-Plugins 是服务器端工作必须的组件,而其他四个ADDON的作用分别是
   NRPE是用来监控远程linux/unix 主机,用来执行远程主机上的插件或者脚本,来进行监控主机的资源及其服务,当然用该中方法监控远程linux/unix主机上的资源的话,必须nagios 服务端同时也要安装该NRPE

   NSCA是用来被监控的远程linux/unix 主机主动将监控信息发送给nagios 服务端(在冗余监控模式中用到,当在nagios的分布式监控中同样也要用到该插件) 如果用NSCA插件进行监控远程主机上的资源的话,同样nagios 服务器端同样要安装该插件

      NSClient++ 该插件是用来监控Window 主机上的资源的,     
              NDOUTILS ADDON主要用来将Nagios的配置信息和event产生的数据存入数据库(目前的beta版支持mysql和pgsql,稳定版只支持mysql),以方便实现数据的快速检索和处理,并且为其它通过web接口程序来管理这些数据提供了保障。
在一个大型应用中,可能存在多个独立的或分布式布置的Nagios服务器,这种环境中的每个Nagios服务器通常被称为一个Nagios实例。在多Nagios实例的环境中,既可以把所有实例的数据存入到一个数据库,也可以将各实例的数据分别存储。
在只有一个Nagios实例环境中,其实例名称通常为“default”;而在多实例的环境中,则需要为此些Nagios实例各自命名。
 
NDO Utils主要由以下四个部分组成:
 
1)NDOMOD Event Broker Module(NDOMOD.O):用来输出Nagios进程产生的数据(data和logic),其前提是Nagios在编译时开启了Event broker的功能。同时,NDOMOD模块还可以导出Nagios配置有关的信息(包括Nagios监控进程运行时环境产生的动态数据)至文件、Unix域套接字或者TCP套接字。NDO2DB将通过前面的这三种方式获得Nagios的有关数据。
2)NDO2DB:用来接收由NDOMOD和LOG2NDO组件输出的信息并将之存储在数据库中。启动时,NDO2DB进程将创建一个TCP套接字或Unix域套接字以监听客户端(输出端)的连接请求。目前仅支持MySQL数据库。
多个客户端可以同时向一个NDO2DB守护进程输出数据,此时的NDO2DB将为每一个连接进来的客户端(Nagios实例)建立一个连接进程,以实现每个客户端数据的独立存储、检索和处理。 
3)LOG2NDO:用来将Nagios的历史日志通过NDO2DB进程输出至数据库。LOG2NDO与NDO2DB进程通信的方法依然是标准文件、Unix域套接字或者TCP套接字三种。
4)FILE2SOCK:从标准文件或标准输入读入数据,并将之输出至Unix域套接字或TCP套接字。当NDOMOD或LOG2NDO将数据输出至标准文件时,此工具则可用来将这些标准文件中数据读出并发送给NDO2DB进程监听的TCP套接字或Unix域套接字。
 

下面是nagios 的组件的架构图,如下:

第二 ,首先在nagios服务器上安装NRPE插件

 1解压并按装NRPE
 # tar xvf nrpe-2.12.tar.gz

 # cd   xvf nrpe-2.12

   #。/config
   #make all
   #make install-plugin
   #make install-daemon
       #make install-daemon-config
       #make install-xinetd

       # cp nrpe.cfg /usr/local/nagios/etc
#cp src/nrpe /usr/local/nagios/bin
#cp init-script /etc/init.d/nagios-nrpe
#chmod +x /etc/init.d/nagios-nrpe

同样也要为nagios指定固定端口,只要该端口没被占用就可以,也没有必要指定的是5666

    为nrpe指定固定的端口
#vim /etc/service

nrpe   5666/tcp   #NRPE

 
3 配置超级守护进程中管理nrpe
       #cd /etc/xinetd.d/nrpe
        only_from   = 127.0.0.1 <nagios_ip_address>注: 必须添加nagios的服务端的地址如果为配置允许nagios服务端的地址的话,nagios 服务器不能正常通过nrpe 进行监控该主机、
4启动NRPE的后台守护进程
      /usr/local/nagios/bin/nrpe   -c /usr/local/nagios/etc/nrpe.cfg –d
而该命令生成的日志在系统日志中(即/var/log/message)中。如果没有错误,就基本上是完成了
5在nagios服务器上田间命令
   #cd /usr/local/nagios/etc/object
   #vim command.cfg
define command {

     command_name check_nrpe

     command_line /usr/local/nagios/libexec/check_nrpe -H $HOSTADRESS$ -c $ARG1$

        }

6 在nagios服务器上验收一下
#/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1
   返回的值为被监控服务器上安装的NRPE的版本信息
           NRPE v2.12
 
第三 在远程主机上安装nagios-plugins 和nrpe
1添加nagios用户,应为nagios默认情况下运行NRPE
 #useradd nagios
2安装nagios-plugin插件
   #tar xvf nagios-plugins-1.4.15.tar.gz
   # cd   nagios-plugins-1.4.15 
   # ./configure
       # make all
      #cd /usr/local/nagios/

       #mkdir   etc bin

        #chown -R nagios.nagios /usr/local/nagios
        
3安装并配置nrpe
     #tar xvf nrpe-2.12.tar.gz
     # cd nrpe-2.12
     # ./configure
      #make all
       #make install-plugin
       #make install-daemon
       #make install-daemon-config
       #make install-xinetd

       # cp nrpe.cfg /usr/local/nagios/etc
#cp src/nrpe /usr/local/nagios/bin
 #cp init-script /etc/init.d/nagios-nrpe
 #chmod +x /etc/init.d/nagios-nrpe

 
4配置nrpe的主配置文件
     #cd /usr/local/nagios/etc
     #vim nrpe.cfg

       allow_hosts=127.0.0.1 Nagios-IP-Address #注: 修改为nagios的服务器地址,如果是多个IP 中间用“,” 隔开

5 配置超级守护进程中管理nrpe
       #cd /etc/xinetd.d/nrpe
        only_from   = 127.0.0.1 <nagios_ip_address>注: 必须添加nagios的服务端的地址如果为配置允许nagios服务端的地址的话,nagios 服务器不能正常通过nrpe 进行监控该主机
6为nrpe指定固定的端口
#vim /etc/service

nrpe   5666/tcp   #NRPE

7启动并查看指定端口是否开启
   #/etc/init.d/nagios-nrpe start
 #netstat -tunlp | grep nrpe
8 在本机上验收一下,检验nrpe 是否正常运行
#/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1
   返回的值为被监控服务器上安装的NRPE的版本信息
           NRPE v2.12
 9 当然可在在nagios服务端验收一下
     #/usr/local/nagios/libexec/check_nrpe -H IP(远程主机)
 注:如果远程主机和nagios上的服务器的iptables如果要是开启的话,同样也需要配置相对于的iptables 规则
 
10当然通过NRPE,可以监控到的信息,只要在被监控服务器上的插件(/usr/local/nagios/libexec中的所有插件),都可以使用,也就是说,只要在该文件下有对应的插件,就能监控对应的信息,当然就可以实现.注意的是,必须在远程主机中nrpe 中定义相应的命令,否则不能监控对应的资源
  









本文转自 freehat08 51CTO博客,原文链接:http://blog.51cto.com/freehat/429633,如需转载请自行联系原作者
目录
相关文章
|
监控 网络协议 测试技术
|
监控
|
监控 关系型数据库 MySQL