【问题标题】:extract nagios availability report提取 nagios 可用性报告
【发布时间】:2017-10-03 14:05:16
【问题描述】:

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

这里是正在查询后端的 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)。

【问题讨论】:

    标签: python shell cgi nagios nagiosxi


    【解决方案1】:

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

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

    里面有很多选项可以具体化。

    享受:)

    【讨论】:

    • 它没有让我选择直接以 CSV 格式获取,我也无法设置时间段值。那会是一个纪元格式吗?
    • 嗨,是的,日期/时间是纪元格式,它以 JSON 格式返回。我认为没有办法获取 CSV 数据。我相信你必须自己将 JSON 重新格式化为 CSV
    • 谢谢我也这样做了:-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-02
    相关资源
    最近更新 更多