我需要从 Nagios 获取主机和服务的完整列表,以便制定决策表。
我认为有两种方法,查询 Nagios CGI 和解析 Nagios cfg 文件。
但是...Nagios cfg 文件可能不是标准的,这可能会成为一个问题。
有人知道该怎么做吗?
提前致谢
答案1
您可以从对象缓存文件(其路径可以在 nagios.cfg 中找到,通常位于/usr/local/nagios/var/
或 之类的某个地方/var/cache/nagios3/
)中抓取它,或者从 CGI 的 HTML 输出中抓取它(您可以通过命令行运行),但为什么要重新发明轮子呢?
你可能想尝试皮纳格,因为它就是为此目的而生的。如果 Python 不是你的风格,还有Nagios Exchange 上的 API 类别它具有类似的附加组件,可以以几乎任何您能想到的格式显示此信息。
答案2
我个人更喜欢MK 实时状态为此。您还可以使用 NDOUtils 将这些数据放入数据库中。