【问题标题】:Is there a way to extract data from Nagios as if it was a web service?有没有办法从 Nagios 中提取数据,就好像它是一个 Web 服务一样?
【发布时间】:2011-10-14 13:19:52
【问题描述】:

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

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

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

是否有可能在不费吹灰之力的情况下做到这一点?

感谢阅读。

【问题讨论】:

    标签: web-services nagios data-exchange


    【解决方案1】:

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

    见公告here

    查看 2013 年 Nagios 世界大会 here 的幻灯片。

    【讨论】:

      【解决方案2】:

      Check_MK 多站点 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
      

      【讨论】:

      【解决方案3】:

      你可以试试:

      1) MK 直播状态 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 Foundation 插件。我想我现在会尝试使用它。

      我现在可以开始工作 1 和 2 解决方案。

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

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

      最好的问候。

      【讨论】:

      • 我认为您应该能够将其余链接作为 cmets 发布到您的答案中。一旦您获得更多声誉,您就可以编辑您的答案并将链接放在您希望它们放在首位的位置。这样您的信息仍然在一个地方。
      • 是的,但是 NagiosWS 和 GrowndWork Foundation 是棘手的一个)例如stackoverflow.com/questions/7837355/…
      • 所以对我来说这只有 3 种真正的方式 - Livestatus(至少支持)、status-json(使用 status.cgi 作为源,这不好)和 IDOutils,它们将您的数据存储到 DB 中。它很酷而且很有用,但没有对 Nagios 的反馈,但您可以使用 Nagios 命令行 API。但是这种方式对于网络服务来说是低级的,需要一些工作。
      • 感谢@ainlolcat 的有用建议!打赌你现在可以发布更多链接哈哈
      • 是的。我认同。谢谢你。关于 Nagios - 试试 Icinga,真的很棒)
      【解决方案4】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-08-07
        • 2021-06-04
        • 2019-10-19
        • 1970-01-01
        • 2021-11-23
        • 1970-01-01
        相关资源
        最近更新 更多