使用Ansible进行Zabbix维护

使用Ansible进行Zabbix维护,ansible,zabbix,Ansible,Zabbix,我想用这个 但是我想将主机组作为一个额外的变量发送,以便我可以将多个主机组置于维护中 我面临的问题是,host\u组需要一个项目列表,而我不知道如何编写角色,因此它将运行额外var提供给它的列表 我试过: - name: maintenance zabbix_maintenance: name: Pause host_groups: - "{{ item }}" with_items: - { 'zabbix_hosts_groups' }

我想用这个

但是我想将
主机组
作为一个额外的变量发送,以便我可以将多个主机组置于维护中

我面临的问题是,
host\u组
需要一个项目列表,而我不知道如何编写角色,因此它将运行额外var提供给它的列表

我试过:

- name: maintenance
   zabbix_maintenance:
    name: Pause
    host_groups:
      - "{{ item }}"
    with_items:
      - { 'zabbix_hosts_groups' }
    state: "{{ zabbix_state }}"
    server_url: http://zabbix.XXX.com
    login_user: YYY
    login_password: XXX
    minutes: 90
    desc: "Paused-for-dep"
并运行它:

 ansible-playbook -i 'localhost,' --connection=local zabbix-maintenance.yml -e '{"zabbix_hosts_groups":"Test1","Test2"}' -e 'zabbix_state=present

语法正确的任务定义为:

- name: maintenance
  zabbix_maintenance:
    name: Pause
    host_groups: "{{ zabbix_hosts_groups }}"
    state: "{{ zabbix_state }}"
    server_url: http://zabbix.XXX.com
    login_user: YYY
    login_password: XXX
    minutes: 90
    desc: "Paused-for-dep"
但是我不理解问题的描述。“詹金斯”???“如何编写角色”???请至少学习提问所需的词汇。

我使用ansible模块。有一个属性链接。但它会删除以前链接到主机的所有组。 我还没有做到这一点。所以现在我使用它来添加公共模板,然后在Zabbix GUI中轻松链接所需的模板


检查此回购协议,也许您会发现一些有用的信息:

那么问题是,为什么在按Enter键后不出现shell提示?因为命令中的引号不匹配。感谢“Jenkins”的评论-这是一个诚实的错误,我更正了这个问题。我尝试使用Ansible并向角色发送多个“主机组”,使用额外的变量,这基本上是我的问题。使用此语法时,我通过运行:Ansible playbook-I'localhost,'--connection=local zabbix-maintenance.yml-e'{“zabbix_hosts_groups”:“Test1”、“Test2”}'-e'zabbix_state=present