community.zabbix.zabbix_screen – Create/update/delete Zabbix screens

From Get docs
Ansible/docs/2.10/collections/community/zabbix/zabbix screen module


community.zabbix.zabbix_screen – Create/update/delete Zabbix screens

Note

This plugin is part of the community.zabbix collection (version 1.1.0).

To install it use: ansible-galaxy collection install community.zabbix.

To use it in a playbook, specify: community.zabbix.zabbix_screen.


Synopsis

  • This module allows you to create, modify and delete Zabbix screens and associated graph data.

Requirements

The below requirements are needed on the host that executes this module.

  • python >= 2.6
  • zabbix-api >= 0.5.4

Parameters

Parameter Choices/Defaults Comments

http_login_password

string

Basic Auth password

http_login_user

string

Basic Auth login

login_password

string / required

Zabbix user password.

login_user

string / required

Zabbix user name.

screens

list / elements=dictionary / required

List of screens to be created/updated/deleted (see example).

graph_height

integer

Graph height will be set in graph settings.

graph_names

list / elements=string

Graph names will be added to a screen. Case insensitive.

Required if state=present.

graph_width

integer

Graph width will be set in graph settings.

graphs_in_row

integer

Default:

3

Limit columns of a screen and make multiple rows.

host_group

list / elements=string

Host group(s) will be used for searching hosts.

Required if state=present.


aliases: host_groups

screen_name

string / required

Screen name will be used.

If a screen has already been added, the screen name won't be updated.

sort

boolean

  • no

  • yes

Sort hosts alphabetically.

If there are numbers in hostnames, leading zero should be used.

state

string

  • absent
  • present

present - Create a screen if it doesn't exist. If the screen already exists, the screen will be updated as needed.

absent - If a screen exists, the screen will be deleted.

server_url

string / required

URL of Zabbix server, with protocol (http or https). url is an alias for server_url.


aliases: url

timeout

integer

Default:

10

The timeout of API request (seconds).

validate_certs

boolean

  • no
  • yes

If set to False, SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates.



Notes

Note

  • Too many concurrent updates to the same screen may cause Zabbix to return errors, see examples for a workaround if needed.
  • If you use login_password=zabbix, the word “zabbix” is replaced by “****” in all module output, because login_password uses no_log. See this FAQ for more information.


Examples

# Create/update a screen.
- name: Create a new screen or update an existing screen's items 5 in a row
  local_action:
    module: community.zabbix.zabbix_screen
    server_url: http://monitor.example.com
    login_user: username
    login_password: password
    screens:
      - screen_name: ExampleScreen1
        host_group: Example group1
        state: present
        graph_names:
          - Example graph1
          - Example graph2
        graph_width: 200
        graph_height: 100
        graphs_in_row: 5

# Create/update multi-screen
- name: Create two of new screens or update the existing screens' items
  local_action:
    module: community.zabbix.zabbix_screen
    server_url: http://monitor.example.com
    login_user: username
    login_password: password
    screens:
      - screen_name: ExampleScreen1
        host_group: Example group1
        state: present
        graph_names:
          - Example graph1
          - Example graph2
        graph_width: 200
        graph_height: 100
      - screen_name: ExampleScreen2
        host_group: Example group2
        state: present
        graph_names:
          - Example graph1
          - Example graph2
        graph_width: 200
        graph_height: 100

# Limit the Zabbix screen creations to one host since Zabbix can return an error when doing concurrent updates
- name: Create a new screen or update an existing screen's items
  local_action:
    module: community.zabbix.zabbix_screen
    server_url: http://monitor.example.com
    login_user: username
    login_password: password
    state: present
    screens:
      - screen_name: ExampleScreen
        host_group: Example group
        state: present
        graph_names:
          - Example graph1
          - Example graph2
        graph_width: 200
        graph_height: 100
  when: inventory_hostname==groups['group_name'][0]

# Create/update using multiple hosts_groups. Hosts NOT present in all listed host_groups will be skipped.
- name: Create new screen or update the existing screen's items for hosts in both given groups
  local_action:
    module: community.zabbix.zabbix_screen
    server_url: http://monitor.example.com
    login_user: username
    login_password: password
    screens:
      - screen_name: ExampleScreen1
        host_group:
          - Example group1
          - Example group2
        state: present
        graph_names:
          - Example graph1
          - Example graph2
        graph_width: 200
        graph_height: 100

Authors

  • Cove (@cove)
  • Tony Minfei Ding (!UNKNOWN)
  • Harrison Gu (@harrisongu)

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/community/zabbix/zabbix_screen_module.html