community.zabbix.zabbix_service module – Create/update/delete Zabbix service
Note
This module is part of the community.zabbix collection (version 2.5.1).
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
.
You need further requirements to be able to use this module,
see Requirements for details.
To use it in a playbook, specify: community.zabbix.zabbix_service
.
Synopsis
Create/update/delete Zabbix service.
Requirements
The below requirements are needed on the host that executes this module.
python >= 3.9
Parameters
Parameter |
Comments |
---|---|
Status calculation rule. Only applicable if child services exists.
Choices:
|
|
Child services to be linked to the service. |
|
Description of the service. |
|
Basic Auth password |
|
Basic Auth login |
|
Name of Zabbix service |
|
Parent services to be linked to the service. |
|
Problem tags to be created for the service. |
|
Mapping condition operator.
Choices:
|
|
Problem tag name. |
|
Problem tag value. Default: |
|
Status propagation value. Must be set together with propagation_rule.
Required with Default: |
|
Status propagation value. Must be set together with propagation_rule. Possible values when propagation_rule=as_is or ignore:
Possible values when propagation_rule=increase or decrease:
Possible values when propagation_rule=fixed:
Required with |
|
Position of the service used for sorting. |
|
State: present - create/update service; absent - delete service. Choices:
|
|
Status rules for the service. |
|
Limit status.
|
|
Limit value: N, N% or W Possible values: 1-100000 for N and W, 1-100 for N% |
|
New status value.
|
|
Condition for setting (New status) status.
|
|
Service tags to be created for the service. |
|
Service tag name. |
|
Service tag value. |
|
Service weight. Default: |
Examples
---
# If you want to use Username and Password to be authenticated by Zabbix Server
- name: Set credentials to access Zabbix Server API
ansible.builtin.set_fact:
ansible_user: Admin
ansible_httpapi_pass: zabbix
# If you want to use API token to be authenticated by Zabbix Server
# https://www.zabbix.com/documentation/current/en/manual/web_interface/frontend_sections/administration/general#api-tokens
- name: Set API token
ansible.builtin.set_fact:
ansible_zabbix_auth_key: 8ec0d52432c15c91fcafe9888500cf9a607f44091ab554dbee860f6b44fac895
# Creates a new Zabbix service
- name: Create Zabbix service monitoring Apache2 in DCs in Toronto area
# set task level variables
vars:
ansible_network_os: community.zabbix.zabbix
ansible_connection: httpapi
ansible_httpapi_port: 443
ansible_httpapi_use_ssl: true
ansible_httpapi_validate_certs: false
ansible_zabbix_url_path: "zabbixeu" # If Zabbix WebUI runs on non-default (zabbix) path ,e.g. http://<FQDN>/zabbixeu
ansible_host: zabbix-example-fqdn.org
community.zabbix.zabbix_service:
name: "apache2 service Toronto"
description: Apache2 services in Toronto area
sortorder: 0
propagation_rule: increase
propagation_value: warning
weight: 1
state: present
tags:
- tag: zabbix_service
value: apache2
- tag: area
value: Toronto
problem_tags:
- tag: service_name
value: httpd
- tag: area
operator: like
value: toronto
status_rules:
- type: at_least_n_child_services_have_status_or_above
limit_value: 4242
limit_status: ok
new_status: average
- name: Create Zabbix service monitoring all Apache2 services
# set task level variables as we change ansible_connection plugin here
vars:
ansible_network_os: community.zabbix.zabbix
ansible_connection: httpapi
ansible_httpapi_port: 443
ansible_httpapi_use_ssl: true
ansible_httpapi_validate_certs: false
ansible_zabbix_url_path: "zabbixeu" # If Zabbix WebUI runs on non-default (zabbix) path ,e.g. http://<FQDN>/zabbixeu
ansible_host: zabbix-example-fqdn.org
community.zabbix.zabbix_service:
name: apache2 service
description: Apache2 services
tags:
- tag: zabbix_service
value: apache2
- tag: area
value: global
children:
- "apache2 service Toronto"