解析ICINGA status.dat文件

时间:2017-09-09 05:50:04

标签: python linux bash nagios

我有一个我需要解析的文件,我正在尝试从ICINGA2列出停机时间。来自ICINGA的API未按预期工作,并且未显示服务和主机文件的停机时间列表的完整列表。

文件名 - status.dat

programstatus {
   host_name=demoserver.example.com
    check_command=check_hostalive!
    icinga_pid=85822
    daemon_mode=1
    program_start=1504843660
    active_host_checks_enabled=1
    passive_host_checks_enabled=1
    active_service_checks_enabled=1
    passive_service_checks_enabled=1
    check_service_freshness=1
    check_host_freshness=1
    enable_notifications=1
    enable_event_handlers=1
    enable_flap_detection=1
    enable_failure_prediction=0
    process_performance_data=1
    active_scheduled_host_check_stats=1,5,15
    passive_host_check_stats=0,0,0
    active_scheduled_service_check_stats=12,60,180
    passive_service_check_stats=0,0,0
    next_downtime_id=18
    next_comment_id=4
    scheduled_downtime_depth=2
    }

如果我们在最后一行的上述文件中注意到,我必须查找“scheduled_downtime_depth = 2”行。如果该值与Zero不同,则必须获取服务和主机模板的前两行中存在的主机名和服务名称。

由于

1 个答案:

答案 0 :(得分:0)

就REST API问题而言,请继续并创建一个新主题。

要从旧的Icinga1 / Nagios世界解析status.dat,您可以查看Nagios可用的以下工具或脚本:

https://pypi.python.org/pypi/NagParser/0.0.19 https://codereview.stackexchange.com/questions/48664/nagios-status-dat-to-dict-could-it-be-better https://gist.github.com/koemu/5553394

How to parse nagios status.dat file?