我正在尝试自动设置和消除icinga主机上的停机时间。
我当前正在使用以下命令:
(请注意,我正在ansible剧本中运行此命令,因此{{item}}是主机名,其他所有括号都由ansible变量填充)
curl -k -s -u {{username}}:{{password}} -H 'Accept: application/json' -X POST "https://localhost:5665/v1/actions/schedule-downtime?filter=host.name==%22{{item}}%22&type=Host" -d "{ \"start_time\": \"{{now}}\", \"end_time\": \"{{end}}\", \"duration\": 1000, \"author\": \"{{username}}\", \"comment\": \"auto set downtime on {{item}}\" }"
这可以使主机宕机。但是,它不会使该主机上的任何服务进入停机时间。就像我进入了Web ui并将主机置于停机状态而没有选中“所有服务”复选框一样。
如何更改此命令以使主机停机,同时又使该主机上的所有服务停机?
如果有一个可以完成此功能的烦人的任务,我也很感兴趣。
答案 0 :(得分:0)
答案是将网址末尾的&type=Host
位更改为&type=Service
,以进行服务停机而不是主机停机。
curl -k -s -u {{username}}:{{password}} -H 'Accept: application/json' -X POST "https://localhost:5665/v1/actions/schedule-downtime?filter=host.name==%22{{item}}%22&type=Service" -d "{ \"start_time\": \"{{now}}\", \"end_time\": \"{{end}}\", \"duration\": 1000, \"author\": \"{{username}}\", \"comment\": \"auto set downtime on {{item}}\" }"