我想使用Nagios来监视我的服务器中的多余PSU(运行Debian Wheezy)。
我已经在lm-sensors包中运行了sensors-detect脚本,它唯一能find的就是
Driver `ipmisensors': * ISA bus, address 0xca2 Chip `IPMI BMC KCS' (confidence: 8)
然后我安装了freeipmi-tools ,我发现我可以从ipmi-sensors获得一些有用的输出:
$ sudo ipmi-sensors --group='Power Supply' 5: Power Supply 1 (Power Supply): [Presence detected] 6: Power Supply 2 (Power Supply): [Presence detected] 7: Power Supplies (Power Supply): [Fully Redundant]
我可以编写一个Nagios插件来在本地运行ipmi-sensors ,parsing它的输出,并且如果它发生变化,会发出警报,但是我不愿意依靠输出格式保持不变,而且我也不知道如何获得更多的机器可读输出。
我已经看过check_ipmi_sensor ,但似乎只能在IPMI设备在networking上可用的地方进行操作; 我的不是。
有没有比parsingipmi-sensors的输出更好的方法?
Nagios Exchange中列出了IPMI的其他几个插件。 这是(有时)比Google更好的开始寻找的地方。
例如:
ipmitool在本地主机上运行 free-ipmi 没有理由parsingIPMI数据。 它需要一个CPU线程来读取和一个线程来parsing,如果你扩大到数据中心大小的系统,数以千计的服务器,这是很多的线程。 而应使用API,Java(Vrx或Hemi)或C库(ipmitool或freeipmi)直接访问IPMI数据。 数据中心(40k台服务器)每分钟可读取600万个IPMI传感器,创build线程成为限制因素。
API的优点是IPMB总线错误,如总线繁忙或有渗透硬件错误报告,您可以决定重试检索数据。