zabbix_screen – Create/update/delete Zabbix screens
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 / required    |    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    string    |    Host group will be used for searching hosts.  Required if state=present.   |  ||
|   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    |   
  |    Sort hosts alphabetically.  If there are numbers in hostnames, leading zero should be used.   |  |
|   state    string    |   
  |    
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   added in 2.5   |   
  |    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: 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: 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: 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]
   Status
- This module is not guaranteed to have a backwards compatible interface. [preview]
 - This module is maintained by the Ansible Community. [community]
 
Authors
- Cove (@cove)
 - Tony Minfei Ding (!UNKNOWN)
 - Harrison Gu (@harrisongu)
 
Hint
If you notice any issues in this documentation, you can edit this document to improve it.
    © 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
    https://docs.ansible.com/ansible/2.9/modules/zabbix_screen_module.html