community.general.zabbix_screen (0.1.1) — module

Create/update/delete Zabbix screens

Authors: Cove (@cove), Tony Minfei Ding (!UNKNOWN), Harrison Gu (@harrisongu)

preview | supported by community

Install collection

Install with ansible-galaxy collection install community.general:==0.1.1


Add to requirements.yml

  collections:
    - name: community.general
      version: 0.1.1

Description

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


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# 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
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# 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
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# 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]

Inputs

    
screens:
    description:
    - List of screens to be created/updated/deleted (see example).
    elements: dict
    required: true
    suboptions:
      graph_height:
        description:
        - Graph height will be set in graph settings.
        type: int
      graph_names:
        description:
        - Graph names will be added to a screen. Case insensitive.
        - Required if I(state=present).
        elements: str
        type: list
      graph_width:
        description:
        - Graph width will be set in graph settings.
        type: int
      graphs_in_row:
        default: 3
        description:
        - Limit columns of a screen and make multiple rows.
        type: int
      host_group:
        description:
        - Host group will be used for searching hosts.
        - Required if I(state=present).
        type: str
      screen_name:
        description:
        - Screen name will be used.
        - If a screen has already been added, the screen name won't be updated.
        required: true
        type: str
      sort:
        default: false
        description:
        - Sort hosts alphabetically.
        - If there are numbers in hostnames, leading zero should be used.
        type: bool
      state:
        choices:
        - absent
        - present
        default: present
        description:
        - I(present) - Create a screen if it doesn't exist. If the screen already exists,
          the screen will be updated as needed.
        - I(absent) - If a screen exists, the screen will be deleted.
        type: str
    type: list

timeout:
    default: 10
    description:
    - The timeout of API request (seconds).
    type: int

login_user:
    description:
    - Zabbix user name.
    required: true
    type: str

server_url:
    aliases:
    - url
    description:
    - URL of Zabbix server, with protocol (http or https). C(url) is an alias for C(server_url).
    required: true
    type: str

login_password:
    description:
    - Zabbix user password.
    required: true
    type: str

validate_certs:
    default: true
    description:
    - If set to False, SSL certificates will not be validated. This should only be used
      on personally controlled sites using self-signed certificates.
    type: bool

http_login_user:
    description:
    - Basic Auth login
    type: str

http_login_password:
    description:
    - Basic Auth password
    type: str