在RedHat 5.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 的组件的架构图,如下: