community.zabbix.zabbix_screen – Create/update/delete Zabbix screens
Note
This plugin is part of the community.zabbix collection (version 1.5.0).
You might already have this collection installed if you are using the ansible
package. It is not included in ansible-core
. To check whether it is installed, run ansible-galaxy collection list
.
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. If not set the environment variable ZABBIX_PASSWORD will be used. | ||
login_user string / required | Zabbix user name. If not set the environment variable ZABBIX_USERNAME will be used. | ||
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 |
| 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 .If not set the environment variable ZABBIX_SERVER will be used.aliases: url | ||
timeout integer | Default: 10 | The timeout of API request (seconds). | |
validate_certs boolean |
| If set to False, SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. If not set the environment variable ZABBIX_VALIDATE_CERTS will be used. |
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–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/zabbix/zabbix_screen_module.html