nagios-plugin和nrpe快速部署办法[原创]

最近公司的监控服务器安装的差不多了,接下来的任务就是被监控机上的nagios-plugin和nrpe的安装了,200多台机器真要一台一台手工安装,就真的会死人了,在今天下午找到了个快速部署的办法,特把此方法与给位分享一下,高手可以忽略了。

1,先在任意一台被监控机上安装nagios-plugin和nrpe,安装目录同为/usr/local/nagios或者按各自的实际要求来定,同时这台被监控机上最好是带有mysql,这样监控mysql的脚本就会被编译进去了,这两个软件同在一个目录的一个好处就是两个软件之间可以互相使用对方libexec目录下的程序。

2,修改/etc/xinetd.d/nrpe文件,这里只需要注释掉only_from那行就行了,当然如果你的监控机只有一台,你可以考虑把那个ip改成你监控机的ip

3,修改nrpe.cfg文件,因为我希望我的每台被监控的服务器的监听ip都bind到本机的内网网卡的ip上,所以我会把#server_address=127.0.0.1这行的注释去掉。

修改
command[check_hda1]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/hda1

command[check_disk]=/usr/local/nagios/libexec/check_disk -w 20% -c 10%

而且可以在这里把你需要监控资源都写上。

4,打包处理,接下来的任务就是把nagios目录和xinetd.d目录下的nrpe文件打到一个包中当做分发的基础包

tar zcvf nagios.tar.gz /usr/local/nagios /etc/xinetd.d/nrpe

5,将包分发,并执行配置脚本。将打好的tar包和下面的脚本分发到将要部署的服务器上,并执行脚本,这样被监控服务器就配置完毕了,当然以下脚本可以根据自己的实际应用进行调整。至于分发方法按各位习惯用的就行了,通常常使用的就是rsync,scp,cfengine统一配置等等

下面对上面的脚本做个解释

3行是创建用户
4行是将nagios包加压缩到相应的位置,nagios到/usr/local/nagios,nrpe到/etc/xinetd.d下
6行获取内网网卡的ip
7行首先将server_address的ip改成本机内网ip的地址,同时把allowed_hosts的地址在原有的基础上添加了本机内网的地址和监控机的地址
8行设置nrpe启动监听的ip地址
9行添加nrpe的服务端口
10行重启xinetd服务,也就是启动nrpe的进程

将此脚本存到其他的被监控机,并把那个nagios包也放上去,然后执行脚本,等数秒钟后使用netstat命令查看端口

# netstat -ln
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State
tcp        0      192.168.202.129:5666                0.0.0.0:*                   LISTEN
tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN
tcp        0      0 :::22                       :::*                        LISTEN
udp        0      0 0.0.0.0:111                 0.0.0.0:*

首先在本机测试nrpe,执行下面的命令

[root@linux02 tmp]# /usr/local/nagios/libexec/check_nrpe -H 192.168.202.129
返回如下结果
NRPE v2.12

再来从监控机上执行命令查看被监控机的nrpe

[root@linux01 ~]# /usr/local/nagios/libexec/check_nrpe -H 192.168.202.129
返回结果如下
NRPE v2.12

由此可以看到,这样的部署方便快捷,到此,快速部署nagios-plugin和nrpe就写完了,当然以上部署还很基础,很多监控脚本都没有集成进去,还需要很多的完善,但此篇文章仅仅是给大家一个引子。

另外。如果有些人不喜欢使用xinetd来启动nrpe的话,可以讲上面的脚本稍微的改改,将

/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg –d

这条命令添加到rc.local里,这样也可以启动nrpe