nrpe的工作过程如下:
根据这一特性,预先将脚本部署到被监控的机器上,选择适当的触发条件,通过check_nrpe来执行该脚本,便实现了自动处理。
例子:
利用nagios的报警特性来做触发,nagios对于某一故障恢复后,会发送通知消息,如发送邮件。当nagios发送恢复类的邮件时,通过check_nrpe执行被监控机器的脚本。
在被监控机192.168.1.103上部署了一个脚本mysql_correct_sync,并有两个监控服务mysql_slave_33779 和 mysql_slave_33789。当这两个服务故障恢复时,执行脚本mysql_correct_sync
实施步骤如下:
1·在监控机上部署好邮件发送脚本及nagios邮件配置
vi /usr/local/nagios/etc/objects/commands.cfg
#将notify-service-by-email改为如下配置,使用nagios_mail脚本发送邮件
define command{
command_name notify-service-by-email
command_line nagios_mail #自定义一个nagios发邮件脚本
}
修改完成后,重启nagios
nagios_mail脚本中加入触发103上的correct_sync_delay.py 内容
2·在被监控机上192.168.1.103部署好mysql_correct_sync脚本,并配置好nrpe
vi /usr/local/nagios/etc/nrpe.cfg
#添加如下内容
command[mysql_correct_sync]=/opt/correct_sync_delay.py
“`
配置好之后,重启nrpe
以上步骤完成后,即可实现nrpe自动处理了。
这只是利用nrpe进行的一次尝试,如能把nagios结合saltstack之类的工具一起用的话,应该会更轻松。