是否有任何可能的方法从Nagios监视工具(已配置主机/主机组)获取主机/主机组的实时可用性,可以将其重定向/捕获到外部网页 . 是否有任何暴露的API来做到这一点,找不到办法 . Nagios在Linux主机上 . 任何帮助或信息表示赞赏 .
EDIT1:
我有一个主机组说例如在这个主机组中的'All_prod'我将为所有主机提供大约20个Linux主机,将会定义一些指标/检查(示例可用性,CPU负载,可用内存..等) . 在这里,我想要仅报告所有主机的可用性指标(例如:如果可用性在24小时内下降,如果可用性下降10分钟,那么它应该为我提供报告,因为它在24小时内停止了10分钟或者只是给我任何相关信息,我可以使用数据评估评估) . 如果有任何API来获取该信息会很好,这会将数据作为json / xml返回 .
1 回答
您可以使用Nagios JSON API . 您可以在此处使用查询构建器http://NAGIOSURL/jsonquery.html .
但是,要回答您的具体问题,主机的查询将如下所示:
http://NAGIOSURL/cgi-bin/statusjson.cgi?query=host&hostname=localhost
这将输出类似于以下内容:
对于主机组:
http://NAGIOSURL/nagios/cgi-bin/statusjson.cgi?query=hostlist&hostgroup=linux-servers
这将输出类似于以下内容:
希望这可以帮助!
编辑1(与问题的编辑1对应):
你默认内置了什么?你可以使用上面的方法来获取每个主机的数据(但听起来你想要每个服务),所以 again 我们将使用在http://YOURNAGIOSURL/jsonquery.html找到的JSON API来获取服务数据 .
http://YOURNAGIOSURL/nagios/cgi-bin/statusjson.cgi?query=service&hostname=localhost&servicedescription=Current+Load
我们将得到以下输出(类似的,无论如何):
对于你想要做的事情(据我所知),最重要的一行是perfdata线:
这是您用于生成您尝试生成的任何自定义指标报告的数据 .
请记住,这是Nagios XI中内置的一种内容(不是像您要求的那样是可导出的格式),但是度量组件确实允许您轻松深入查看某些特定于度量的数据 .
希望 this 有帮助!