我有一个运行openwrt的Linksys WRT54GL路由器。 当我们的主链路断开时,我有一个主要的互联网连接和一个辅助连接,作为一个故障转移连接。 这两个连接都有公共ips。
我现在想要使用nagios来监视这两个连接,以便在其中任何一个发生故障时通知我。 我也使用pnp4nagios绘图,我也打算找出每个连接的中断统计。
现在我的问题是,你build议用什么nagios插件来监视这些连接。 有这样一个理想的插件,这样的情况,你怎么去呢?
我会使用check_http脚本,很奇怪。 让它每隔N分钟发一个http请求,以确保你相对确定(google,facebook,yahoo)。 如果您不希望在DNS不起作用时发出抱怨,请使用远程服务器的IP而不是DNS名称。
NAGIOS通常监控链路状态的方法比较简单,至less在状态图和主机依赖关系的概念方面:希望能够在链路的另一端立即联系设备。 “联系人”的定义通常是ICMP回应请求(ping),但是它是任意可configuration的。
是的,你可以devise一些openwrt的testing,告诉你路由器对链路状态的看法,但是:让我们假设这样的testing可以写出来。
我非常相信testing你真正想知道的。 在这种情况下,我假设你想知道这些链接是否会带来stream量。 如果是这样,那么不要把答案委托给另一个设备 – 自己testing一下。
如果这不能说服你,请查看openwrt代码,找出它是如何确定链接是否启动 – 然后重复NAGIOS的testing。
因为WRT54GL路由器生成的SSLv1证书(我的情况番茄1.28)不被check_http nagios插件(只在nagios插件1.4中的SSLv2和SSLv3)接受,check_http没有做这项工作。
nagios@host:~# ./check_http --ssl -H cacert.org HTTP OK: HTTP/1.1 302 Found - 412 bytes in 0.446 second response time |time=0.445800s;;;0.000000 size=412B;;;0 nagios@host:~# ./check_http --ssl -H myrouter.local CRITICAL - Cannot make SSL connection 20391:error:14077417:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert illegal parameter:s23_clnt.c:602: HTTP CRITICAL - Error on receive
用户check_tcp来代替
nagios@host:~# ./check_tcp -p 443 -H myrouter.local TCP OK - 0.059 second response time on port 443|time=0.059017s;;;0.000000;10.000000