推荐使用哪个 nagios 插件来监控具有公共 IP 的路由器?

推荐使用哪个 nagios 插件来监控具有公共 IP 的路由器?

我有一个Linksys WRT54GL正在运行的路由器开源软件。我有一个主互联网连接和一个辅助连接,后者在主链接断开时充当故障转移连接。两个连接都有公共 IP。

我现在想使用 nagios 监控这两个连接,这样当其中一个出现故障时我就能收到通知。我还使用 pnp4nagios 进行绘图,并打算找出每个连接的中断统计数据。

现在我的问题是,您推荐使用哪个 nagios 插件来监控这些连接。是否有适合这种情况的插件,您如何操作?

答案1

奇怪的是,我会使用 check_http 脚本。让它每 N 分钟向你相对确定会启动的某个东西(google、facebook、yahoo)发出一次 http 请求。如果你不想让它在 DNS 不工作时发出抱怨,请使用远程服务器的 IP 而不是 DNS 名称。

答案2

NAGIOS 监控链路状态的常用方法稍微简单一些,至少就其状态图和主机依赖性概念而言:它希望能够立即联系链路另一端的设备。“联系”的定义通常是 ICMP 回显请求 (ping),但它是任意可配置的。

是的,您可以设计一些针对 openwrt 的测试来告诉您路由器对链路状态的看法,但是:让我们假设可以编写这样的测试。

  • 要么它总是会给出与测试链路另一端连通性相同的结果,在这种情况下,既然一个简单的事情就足够了,为什么还要费心去做复杂的事情呢?
  • 或者偶尔会对链路另一端的连接测试给出不同的结果,在这种情况下,我认为测试有问题;路由器向你保证链路已连接有什么用处如果它不承载流量

我坚信测试你真正想知道的东西。在这种情况下,我假设你想知道链接是否会承载流量;如果是,那么不要将答案委托给另一台设备 - 自己测试一下。

如果这不能说服你,请查看 openwrt 代码并找出答案确定链接是否正常 - 并从 NAGIOS 重复该测试。

答案3

check_http 无法完成这项工作,因为 WRT54GL 路由器生成了一个 SSLv1 证书(在我的情况下是 Tomato 1.28),而 check_http nagios 插件不接受该证书(nagios-plugins 1.4 中仅接受 SSLv2 和 SSLv3)。

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

相关内容