我有一个我需要解析的文件,我正在尝试从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不同,则必须获取服务和主机模板的前两行中存在的主机名和服务名称。
由于
答案 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