community.zabbix.zabbix_service 模块 – 创建/更新/删除 Zabbix 服务
注意
此模块是 community.zabbix 集合(版本 3.2.0)的一部分。
如果您使用的是 ansible
包,您可能已经安装了此集合。 它不包含在 ansible-core
中。 要检查它是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install community.zabbix
。 您需要进一步的要求才能使用此模块,请参阅要求 了解详细信息。
要在 playbook 中使用它,请指定:community.zabbix.zabbix_service
。
概要
创建/更新/删除 Zabbix 服务。
要求
执行此模块的主机需要满足以下要求。
python >= 3.9
参数
参数 |
注释 |
---|---|
状态计算规则。 仅当存在子服务时适用。
选择
|
|
要链接到该服务的子服务。 |
|
服务的描述。 |
|
基本身份验证密码 |
|
基本身份验证登录名 |
|
Zabbix 服务的名称 |
|
要链接到该服务的父服务。 |
|
要为服务创建的问题标签。 |
|
映射条件运算符。
选择
|
|
问题标签名称。 |
|
问题标签值。 默认值: |
|
状态传播值。 必须与 propagation_rule 一起设置。
当 默认值: |
|
状态传播值。 必须与 propagation_rule 一起设置。 当 propagation_rule=as_is 或 ignore 时的可能值
当 propagation_rule=increase 或 decrease 时的可能值
当 propagation_rule=fixed 时的可能值
当 |
|
用于排序的服务位置。 |
|
状态:present - 创建/更新服务; absent - 删除服务。 选择
|
|
服务的状态规则。 |
|
限制状态。
|
|
限制值:N、N% 或 W 可能的值:N 和 W 为 1-100000,N% 为 1-100 |
|
新的状态值。
|
|
设置(新状态)状态的条件。
|
|
要为服务创建的服务标签。 |
|
服务标签名称。 |
|
服务标签值。 |
|
服务权重。 默认值: |
示例
---
# 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"