作为一个更大的复杂的一部分,是一个有4台电脑的小型办公楼。 它有一个cat5运行到一个非pipe理型交换机,有4台计算机连接到它。
由于我无法ping通交换机,我只能通过ping计算机来判断networking是否启动。 但那个办公室里的女士往往会在节假日,周末,当他们掉下来的时候关掉电脑等,99%的时间,至less有一台电脑开着。
我想要做的就是让Nagios发送一个通知,只有当所有4台电脑都失踪了。 换句话说,开关死亡或者FSB(光纤寻找反铲)在该地区有一些乐趣。 我不认为Nagios主机检查依赖关系将从我一直在阅读的这样做。
任何其他方式来做到这一点?
编写你自己的小插件并不难,因为简单的testing插件很容易编写,他们所要做的就是返回一个退出代码和一行nagios解释的文本( 请参阅文档 )。
编辑:我有一分钟的时间,所以这里是一个非常简单的例子,如何去做这样的testing:
#!/bin/bash ping -c 3 host1 > /dev/null if [ "$?" -eq "0" ]; then echo "OK - answer from host1" exit 0 fi ping -c 3 host2 > /dev/null if [ "$?" -eq "0" ]; then echo "OK - answer from host2" exit 0 fi echo "Fail - no host answers" exit 2
这只会向主机发送三个ping命令,如果主机应答,返回值为0,如果没有可达的值,最后以2的值退出。
那么,四台机器组成一个集群,不是吗? 有关如何创build“OR”检查的说明,请参阅文档中的http://nagios.sourceforge.net/docs/nagioscore/3/en/clusters.html ; 只有在发生多种情况时才会通知。