community.zabbix.zabbix_discovery_rule 模块 – 创建/删除/更新 Zabbix 发现规则
注意
此模块是 community.zabbix 集合(版本 3.2.0)的一部分。
如果您使用的是 ansible
包,您可能已经安装了此集合。它不包含在 ansible-core
中。要检查是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install community.zabbix
。您需要进一步的要求才能使用此模块,请参阅 要求 以了解详细信息。
要在 playbook 中使用它,请指定:community.zabbix.zabbix_discovery_rule
。
概要
创建发现规则。
删除现有发现规则。
使用新选项更新现有发现规则。
要求
执行此模块的主机上需要以下要求。
python >= 3.9
参数
参数 |
注释 |
---|---|
发现检查对象字典的列表。 有关更多信息,请查看 https://www.zabbix.com/documentation/current/manual/api/reference/dcheck/object 上的发现检查对象文档 |
|
主机名的来源。 可能的值 DNS(默认) IP 发现 - 此检查的发现值 此选项自 Zabbix 4.4 起可用 选择
|
|
此属性的值因检查的类型而异
|
|
可见名称的来源。 可能的值 none -(默认)未指定 DNS IP 发现 - 此检查的发现值 此选项自 Zabbix 4.4 起可用 选择
|
|
要检查的一个或多个端口范围,以逗号分隔。用于除 ICMP 之外的所有检查。 |
|
SNMP 团体。 SNMPv1 和 SNMPv2 代理检查需要此项。 |
|
用于安全级别设置为 authNoPriv 或 authPriv 的 SNMPv3 代理检查的身份验证密码。 |
|
用于安全级别设置为 authNoPriv 或 authPriv 的 SNMPv3 代理检查的身份验证协议。 可能的值 MD5 SHA 选择
|
|
SNMPv3 上下文名称。仅由 SNMPv3 检查使用。 |
|
用于安全级别设置为 authPriv 的 SNMPv3 代理检查的隐私密码。 |
|
用于安全级别设置为 authPriv 的 SNMPv3 代理检查的隐私协议。 可能的值 DES AES 选择
|
|
用于 SNMPv3 代理检查的安全级别。 可能的值 noAuthNoPriv authNoPriv authPriv 选择
|
|
用于 SNMPv3 代理检查的安全名称。 |
|
检查类型。 选择
|
|
是否将此检查用作设备唯一性标准。 对于发现规则,只能配置一个唯一的检查。 用于 Zabbix 监控 agent、SNMPv1、SNMPv2 和 SNMPv3 agent 检查。 可能的值 no - (默认) 不使用此检查作为唯一性条件 yes - 使用此检查作为唯一性条件 选择
|
|
发现规则的执行间隔。 接受秒、带后缀的时间单位和用户宏。 默认: |
|
基本身份验证密码 |
|
基本身份验证登录名 |
|
要检查的一个或多个 IP 范围,用逗号分隔。 |
|
发现规则的名称。 |
|
用于发现的代理的名称。 |
|
创建或删除发现规则。 选择
|
|
发现规则是否启用。 可能的值 enabled (默认) disabled 选择
|
示例
# 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
# Base create discovery rule example
- name: Create discovery rule with ICMP and zabbix agent checks
# 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_discovery_rule:
name: ACME
state: present
iprange: 192.168.1.1-255
dchecks:
- type: ICMP
- type: Zabbix
key: "system.hostname"
ports: 10050
uniq: yes
host_source: "discovery"
# Base update (add new dcheck) discovery rule example
- name: Create discovery rule with ICMP and zabbix agent checks
# 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_discovery_rule:
name: ACME
state: present
iprange: 192.168.1.1-255
dchecks:
- type: SNMPv3
snmp_community: CUSTOMER@snmp3-readonly
ports: "161"
key: iso.3.6.1.2.1.1.1.0
snmpv3_contextname: "ContextName"
snmpv3_securityname: "SecurityName"
snmpv3_securitylevel: "authPriv"
snmpv3_authprotocol: "SHA"
snmpv3_authpassphrase: "SeCrEt"
snmpv3_privprotocol: "AES"
snmpv3_privpassphrase: "TopSecret"
uniq: no
host_source: "DNS"
name_source: "None"
# Base delete discovery rule example
- name: Delete discovery rule
# 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_discovery_rule:
name: ACME
state: absent
返回值
常见的返回值记录在这里,以下是此模块特有的字段
键 |
描述 |
---|---|
发现规则名称。 返回: 成功时 示例: |
|
发现规则 ID。 返回: 成功时 示例: |
|
操作的结果 返回: 始终 示例: |
|
执行结束时的发现规则状态。 返回: 成功时 示例: |