按照老板的要求,我正在设置一个测试 nagios 盒,以便进一步了解它。
我在 VirtualBox 中运行的 Ubuntu 服务器 11.10 上安装了 Nagios 3.3.1。我还将运行 Server 2K8 的 VBox 连接到此虚拟网络,并在其上运行 NSClient++。我已经设置并查询正常。
另外,在这个网络上,我有一个运行 pFsense 的 VBox,充当内部虚拟网络和主机之间的路由器。
我从 Nagios wiki 上遵循的关于如何监控路由器和交换机的说明建议设置 SNMP 正常运行时间检查,如下所示:
define service{
use generic-service ; Inherit values from a template
host_name linksys-srw224p
service_description Uptime
check_command check_snmp!-C public -o sysUpTime.0
}
我这样做了,但检查一直超时并在 nagios 上发出严重警告。
然后我将命令改为:
define service{
use generic-service ; Inherit values from a template
host_name linksys-srw224p
service_description Uptime
check_command check_snmp!-C public -o .1.3.6.1.2.1.1.3.0
}
这非常有用,它为我提供了 pFsense 盒子的正确正常运行时间。
我试图弄清楚为什么我不能让第一个工作以及为什么第二个可以工作。
有人能向我解释一下 .1.3.6.1.2.1.1.3.0 对应的是什么以及如何让第一个命令起作用吗?
答案1
这.1.3.6.1.2.1.1.3.0
就是所谓的 OID 或对象标识符。OID 充当地址,用于标识整个 SNMP 网络中特定元素的位置。
第一个命令不起作用的原因是您的 pFsense 框无法识别该sysUpTime.0
命令是什么。
您可以阅读有关 SNMP 的更多信息这里
答案2
您运行 3.3.1 的事实表明您自己编译了它(可能遵循“ubuntu 快速入门”?)。
这是一个坏主意,原因有很多;3.3.1 有严重的错误,在某些情况下会变得不稳定,快速入门是在 2006 年左右编写的,具有危险的误导性,它需要做很多工作,它会阻止您使用任何其他 Ubuntu 打包的 nagios 工具,等等。
您应该放弃您已完成的所有工作,并从 Ubuntu 存储库安装“nagios3”包。完成此操作后,请阅读文档的“基础知识”部分(忽略“入门”废话)。
然后您可以安装“nagios-snmp-plugins”包,它将为您提供一些不错的 check_snmp 变体。