16

我的情况:我正在开发一个 Web 监控仪表板,该仪表板收集来自不同应用程序和来源的信息并生成图形、信息图形和报告。

我正在尝试集成的应用程序是 CACTI、Nagios和其他本地私有监控工具。除了 Nagios(我没有太多经验)之外,我可以毫无问题地集成这些应用程序。

我想知道是否有办法将Nagios 用作 Web 服务或类似的东西,所以我可以公开一些信息并使用它在我的仪表板应用程序上生成我自己的报告。

是否有可能在没有任何史诗般的努力的情况下做到这一点?

谢谢阅读。

4

4 回答 4

15

从 4.4 版开始的 Nagios 4.x 现在包括用于 JSON 输出的 CGI。安装最新版本的 Nagios 可能是最简单的方法。

请参阅此处的公告。

在此处查看2013 年 Nagios 世界大会的幻灯片。

于 2014-07-10T09:11:30.837 回答
8

Check_MK Multisite GUI(使用MK Livestatus的 Web 基础 GUI )提供了一种 Web 服务模式,您可以在其中将查询/命令作为 URL 参数发送,并在正文中以 JSON 格式获取响应。

诀窍是:在 GUI 中创建一个适合您需要的视图。然后提取该视图的 URL 并添加参数output_format=json。现在您应该有可解析格式的输出。

例如,此 URL 应为您提供所有服务的 JSON 列表:

check_mk/view.py?view_name=allservices&output_format=json
于 2013-10-28T16:04:19.467 回答
7

你可以试试:

1) MK Livestatus http://mathias-kettner.de/checkmk_livestatus.html 它不是网络服务,但它可以提供当前数据而无需任何复杂的操作。您只需要重定向这些数据。

2) status-json插件http://exchange.nagios.org/directory/Addons/APIs/JSON/status-2Djson/details以 JSON 格式返回数据。

3) NagiosWS插件,但我还不能开始工作。我认为它可以为 Nagios 2.x 完成

4) GroundWork 基础插件。我想我现在会尝试使用它。

我现在能够开始工作 1 和 2 解决方案。

否则,您可以使用 Icinga,它可以为您提供一些 JSON 或 XML 输出。Icinga 是 Nagios 的分支,可以在保存所有 nagios 数据和插件的情况下安装。至少它写在 Icinga 的网站上 =) 他们有一些其他的解决方案,比如 PHP lib。

对不起,当我是这个网站的新手时,我不能只发布 2 个链接。

最好的祝福。

于 2011-10-20T07:38:22.800 回答
2

为我工作 - MK Livestatus http://mathias-kettner.de/checkmk_livestatus.html它不是网络服务,但它可以提供当前数据而无需任何复杂的操作。您只需要重定向这些数据。

于 2016-02-22T11:28:40.537 回答