我的情况:我正在开发一个网络监控仪表板,它可以汇集来自不同应用程序和来源的信息,并生成图表,信息图形和报告。
我尝试集成的应用程序是CACTI, Nagios 以及其他本地私有监控工具。除了Nagios之外,我没有问题整合这些应用程序(我没有太多的经验)。
我想知道的是,是否有办法使用Nagios作为Web服务或类似的东西,所以我可以公开一些信息并使用它来生成我自己的报告我的仪表板应用程序。
是否有可能在没有任何史诗努力的情况下做到这一点?
感谢阅读。
答案 0 :(得分:15)
从版本4.4开始的Nagios 4.x现在包含用于JSON输出的CGI。安装最新版本的Nagios可能是最简单的方法。
请参阅公告here。
查看Nagios World Conference 2013 here的幻灯片。
答案 1 :(得分: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
答案 2 :(得分:7)
您可以尝试:
1) MK Livestatus http://mathias-kettner.de/checkmk_livestatus.html 它不是Web服务,但它可以提供当前数据而无需任何复杂的操作。您需要重定向此数据。
2) status-json 插件http://exchange.nagios.org/directory/Addons/APIs/JSON/status-2Djson/details,以JSON格式返回数据。
3) NagiosWS 插件,但我还没能开始工作。我认为可以为Nagios 2.x
完成4) GroundWork Foundation 插件。我想我现在会尝试使用它。
我现在能够开始工作1和2解决方案。
否则你可以使用Icinga,它可以为你提供一些JSON或XML输出。 Icinga是Nagios的分支,可以安装保存所有的nagios数据和插件。至少它写在Icinga的网站上=)他们有一些其他解决方案,如PHP lib。
抱歉,我在这个网站上新手的时候只能发布2个链接。
最好的问候。
答案 3 :(得分:2)
为我工作 - MK Livestatus http://mathias-kettner.de/checkmk_livestatus.html它不是网络服务,但它可以提供当前数据,而无需任何复杂的操作。您需要重定向此数据。