0

我正在尝试从 nagios (Nagios® Core™ 4.0.8) 中提取一周(7 天)的 nagios 可用性报告数据,并以 csv 格式获取输出。

这是 am 查询后端的 URL /作为参数传递给avail.cgi:

https://username:password@nagioshostname/nagios/cgi-bin/avail.cgi?show_log_entries=&servicegroup=services1&timeperiod=last7days&smon=8&sday=1&syear=2017&shour=0&smin=0&ssec=0&emon=8&eday=3&eyear=2017&ehour=24&emin=0&esec= 0&rpttimeperiod=24x7&assumeinitialstates=yes&assumestateretention=yes&assumestatesduringnotrunning=yes&includesoftstates=no&initialassumedhoststate=3&initialassumedservicestate=0&backtrack=4&csvoutput=1

上面的 URL 没有返回带有avail.cgi 的数据,最终有 html 和响应。

<BR><BR>
<DIV ALIGN=CENTER CLASS='dataTitle'>Servicegroup 'services1' Host State Breakdowns:</DIV>
<DIV ALIGN=CENTER>
<TABLE BORDER=0 CLASS='data'>
<TR><TH CLASS='data'>Host</TH><TH CLASS='data'>% Time Up</TH><TH CLASS='data'>% Time Down</TH><TH CLASS='data'>% Time Unreachable</TH><TH CLASS='data'>% Time Undetermined</TH></TR>
<tr CLASS='dataOdd'><td CLASS='dataOdd'><a href='avail.cgi?host=server1.amaze.com%3A1717&show_log_entries&t1=1506233939&t2=1506838739&backtrack=4&assumestateretention=yes&assumeinitialstates=yes&assumestatesduringnotrunning=yes&initialassumedhoststate=3&initialassumedservicestate=0&show_log_entries&showscheduleddowntime=yes&rpttimeperiod=24x7'>server1.amaze.com1717</a></td><td CLASS='hostUP'>100.000% (100.000%)</td><td CLASS='hostDOWN'>0.000% (0.000%)</td><td CLASS='hostUNREACHABLE'>0.000% (0.000%)</td><td class='dataOdd'>0.000%</td></tr>
<tr CLASS='dataEven'><td CLASS='dataEven'><a href='avail.cgi?host=server2.amaze.com%3A1717&show_log_entries&t1=1506233939&t2=1506838739&backtrack=4&assumestateretention=yes&assumeinitialstates=yes&assumestatesduringnotrunning=yes&initialassumedhoststate=3&initialassumedservicestate=0&show_log_entries&showscheduleddowntime=yes&rpttimeperiod=24x7'>server2.amaze.com</a></td><td CLASS='hostUP'>100.000% (100.000%)</td><td CLASS='hostDOWN'>0.000% (0.000%)</td><td CLASS='hostUNREACHABLE'>0.000% (0.000%)</td><td class='dataEven'>0.000%</td></tr>
<tr CLASS='dataOdd'><td CLASS='dataOdd'><a href='avail.cgi?host=server3.amaze.com%3A1717&show_log_entries&t1=1506233939&t2=1506838739&backtrack=4&assumestateretention=yes&assumeinitialstates=yes&assumestatesduringnotrunning=yes&initialassumedhoststate=3&initialassumedservicestate=0&show_log_entries&showscheduleddowntime=yes&rpttimeperiod=24x7'>server3.amaze.com</a></td><td CLASS='hostUP'>100.000% (100.000%)</td><td CLASS='hostDOWN'>0.000% (0.000%)</td><td CLASS='hostUNREACHABLE'>0.000% (0.000%)</td><td class='dataOdd'>0.000%</td></tr>
<tr CLASS='dataEven'><td CLASS='dataEven'><a href='avail.cgi?host=server4.amaze.com%3A1717&show_log_entries&t1=1506233939&t2=1506838739&backtrack=4&assumestateretention=yes&assumeinitialstates=yes&assumestatesduringnotrunning=yes&initialassumedhoststate=3&initialassumedservicestate=0&show_log_entries&showscheduleddowntime=yes&rpttimeperiod=24x7'>server4.amaze.com</a></td><td CLASS='hostUP'>100.000% (100.000%)</td><td CLASS='hostDOWN'>0.000% (0.000%)</td><td CLASS='hostUNREACHABLE'>0.000% (0.000%)</td><td class='dataEven'>0.000%</td></tr>

除了这个 html 输出之外,还有什么方法可以获取 csv 格式或 json 的数据?我知道,如果我在浏览器中查询相同的内容,它将在正确的 HTML 页面中显示结果,但我的进一步用例不同,我想从这里评估数据,所以我需要这种格式的报告,以便我以后可以操作根据需要使用一种语言(例如:-python)。

4

1 回答 1

0

https://username:password@nagioshostname/nagios/jsonquery.html

选择“存档 JSON CGI”,然后将“查询”设置为“可用性”。

那里有很多选择可以具体化。

享受 :)

于 2017-10-27T16:02:47.787 回答