我正在尝试自动设置和删除 icinga 主机上的停机时间。
我目前正在使用以下命令:
(请注意,我在 ansible playbook 中运行它,所以 {{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 并在没有选择“所有服务”复选框的情况下将主机置于停机状态。
如何更改此命令以使主机停机,同时将该主机上的所有服务也停机?
如果有一个ansible任务也可以执行此功能,我也会感兴趣。