nrpe插件,是安装在客户端上面,通过修改配置文件,启动之后,可以供服务端读取信息,当然服务端也需要设置以下。我下面举例:
服务端:203
客户端:191、189
操作系统都是:RedFlagDC5.0SP2
kernel:2.6.9-42.7AX
|
服务端203上面安装了
nagios-plugins-1.4.11-1
nagios-cn-www-3.0rc1-1.rfdc5.0sp2
nagios-cn-3.0rc1-1.rfdc5.0sp2
|
客户端191和289上面安装了(
当然安装前建议先建nagios用户和组,我不希望nrpe以root权限跑)
nagios-plugins-1.4.11-1
nrpe-2.12-1
nrpe-plugin-2.12-1
|
首先配置客户端191和189上面nrpe的配置文件/etc/nagios/nrpe.cfg,修改其中的
allowed_hosts=172.16.81.203
|
后面的IP地址,是服务端203的ip地址,也就是说只允许203通过nrpe开的端口5666取得本机的信息。
然后修改nrpe.cfg中的command部分。默认提供了5个command
command[check_users]=/usr/lib/nagios/plugins/check_users -w 5 -c 10
command[check_load]=/usr/lib/nagios/plugins/check_load -w 15,10,5 -c 30,25,20
command[check_hda1]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/hda1
command[check_zombie_procs]=/usr/lib/nagios/plugins/check_procs -w 5 -c 10 -s Z
command[check_total_procs]=/usr/lib/nagios/plugins/check_procs -w 150 -c 200
|
其实我就改了其中的check_hda1部分,因为我191和189上/分区不是hda1
191上跟分区是sda6,并且为了以后监控更多的磁盘,并且为了直观,所以我改了命令名为check_/。
command[check_/]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/sda6
|
189上跟分区是hda10,命令名也同样被我改了。
command[check_/]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/hda10
|
启动客户端191和189上的nrpe服务即可。
当然command部分可以无限制的扩展,因为有nagios_plugins的支持,想监控本地的什么资源,都可以自己写出来。此文章中就不多述,以后再研究。
在nrpe所带的README中说,还要在/etc/service中添加nrpe的5666端口tcp一行,但是我没有加也没关系。但是在正式的环境里面,建议还是加上。
可见客户端比较简单。
服务端203上面的配置是这样的,首先nagios部分已经配置好了(包括host都已经定义好了),不多叙述。只需要修改service部分。
在此之前,需要先定义command部分关于nrpe的信息,修改/etc/nagios/objects/commands.cfg,在最后添加
define command{
command_name check_nrpe
command_line /usr/lib/nagios/plugins/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
|
其实从nrpe_plugin的README中可以得到很详细的介绍。其中command_line后面指定的命令,可能需要修改以下,我当时没注意,就直接拷贝的nrpe_plugin的README中的内容,结果就是错误的
define command{
command_name check_nrpe
command_line /usr/local/nagios/libexec/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
|
很明显,需要修改。
然后说service部分,/etc/nagios/objects/localhost.cfg中定义新的service
define service{
use local-service
host_name lvs191,lvs203,189
service_description nrpe_disk
check_command check_nrpe!check_/
notifications_enabled 0
}
|
这里,check_command后面的“check_nrpe!check_/”,前面的“check_nrpe”是在commands.cfg文件中定义的,“check_/”是客户端191和189的/etc/nagios/nrpe.cfg中定义的内容。
改好之后,启动nagios即可。就等着结果吧。
每次启动nagios,你新添加的服务项,是一个时间段之后才会第一次扫描,一般是nagios启动的2分钟之后才扫描,以后每多长时间扫描一次,是取决于“use local-service”的“local-service”中定义的时间的。 当然,在localhost.cfg中我添加了5个默认的服务
##################################################################
######## The nrpe plugin
##################################################################
define service{
use local-service
host_name lvs191,lvs203,189
service_description nrpe_disk
check_command check_nrpe!check_/
notifications_enabled 0
}
define service{
use local-service
host_name lvs191,lvs203,189
service_description nrpe_users
check_command check_nrpe!check_users
notifications_enabled 0
}
define service{
use local-service
host_name lvs191,lvs203,189
service_description nrpe_load
check_command check_nrpe!check_load
notifications_enabled 0
}
define service{
use local-service
host_name lvs191,lvs203,189
service_description nrpe_zombie_procs
check_command check_nrpe!check_zombie_procs
notifications_enabled 0
}
define service{
use local-service
host_name lvs191,lvs203,189
service_description nrpe_total_procs
check_command check_nrpe!check_total_procs
notifications_enabled 0
}
|
抽个图看看。193是我的everest linux桌面,没有装nrpe,只使用了nagios的几个简单监控http、ssh、ping。
如何扩展nrpe,让其监控更多的信息,继续测试中……
阅读(2601) | 评论(0) | 转发(0) |