1

我正在尝试自动化将新的 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 导演中?

提前致谢!

4

0 回答 0