原理:监控端通过check_nrpe把要监控的指令发送给被监控端,被监控端在本机执行监控任务,并把执行的结果发送回监控端。
如何扩展Nagios,以实现自定义监控?
借助插件进行的每一次有效的Nagios检查(Nagios check)都会生成一个数字表示的退出状态。可能的状态有:
- 0--各方面都正常,检查成功完成。
- 1--资源处于警告状态。某个地方不太妙。
- 2--资源处于临界状态。原因可能是主机宕机或服务未运行。
- 3--未知状态,这未必表明就有问题,而是表明检查没有给出一个清楚明确的状态。
插件还能输出文本消息。默认情况下,该消息显示在Nagios web界面和Nagios邮件警报信息中。尽管消息并不是硬性要求,你通常还是可以在可用插件中找到它们,因为消息告诉用户出了什么岔子,而不会迫使用户查阅说明文档。
网上的例子,我自己稍作更改实验后可正常测试使用:
被监控端设置:
vim /usr/lib64/nagios/plugins/check_file
#!/bin/bash filename=$1 if [ ! -e $filename ];then echo "CRITICALL status -file $filename doesn't exist" exit 2 elif [ ! -r $filename ];then echo "WARNING status -file $filename is not readable" exit 1 elif [ ! -f $filename ];then echo "UNKNOWN status -file $filename is not a file" exit 3 else if [ $1 ];then echo "OK status -file $filename is OK" exit 0 fi fi