我正在尝试自动化将新的 icinga 客户端添加到 icinga 导演的过程。
我不想在 icinga2 director 的 webGUI 中手动添加主机,而是使用 curl。
此命令通过没有错误但也没有输出:(尝试使用 POST 和 PUT)
curl -k -s -u root:password -H 'Accept: application/json' -X POST/PUT 'https://myicinga/icingaweb2/director/host' -d '{ "object_type": "object", "imports": "website","zone": "director-global","display_name": "test.server.com","groups": "websites","object_name": "test.server.com"}'
创建票证工作:
curl -k -s -u root:password -H 'Accept: application/json' -X POST 'https://myicinga:5665/v1/actions/generate-ticket' -d '{ "cn": "test.server.com" }' | python -m json.tool | grep \"ticket\" | awk '{ print $2 }' | tr -d \"
我能够使用 ansible 添加一个新客户端,但这仅在“概述”->“主机”选项卡中显示主机,而不在 Director 中显示。
- name: Add host to icinga
icinga2_host:
url: "https://myicinga:5665"
url_username: "{{ icinga_user }}"
url_password: "{{ icinga_pw }}"
state: present
name: "{{ inventory_hostname }}"
ip: "{{ ansible_default_ipv4.address }}"
validate_certs: no
有谁知道我在这里缺少什么部分?如何使用 curl 将客户端添加到 icinga 导演中?
提前致谢!