Модуль community.zabbix.zabbix_discovery_rule — создание, удаление и обновление правил обнаружения Zabbix
Примечание
Этот модуль входит в коллекцию community.zabbix (версия 4.2.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.zabbix. Для работы с этим модулем требуются дополнительные компоненты; подробности см. в разделе Требования.
Чтобы использовать модуль в плейбуке, укажите: community.zabbix.zabbix_discovery_rule.
Краткое описание
- Создание правила обнаружения.
- Удаление существующего правила обнаружения.
- Обновление существующего правила обнаружения с новыми параметрами.
Требования
На хосте, выполняющем этот модуль, должны быть установлены следующие компоненты.
- python >= 3.9
Параметры
Параметр | Комментарии |
|---|---|
dchecks псевдонимы: dcheck list / элементы=dictionary | Список словарей с объектами проверок обнаружения. Дополнительные сведения см. в документации по объекту проверки обнаружения: https://www.zabbix.com/documentation/current/manual/api/reference/dcheck/object |
|
host_source string |
Источник имени хоста. Возможные значения: DNS (по умолчанию) IP discovery — значение обнаружения этой проверки Параметр доступен начиная с Zabbix 4.4 Варианты:
|
|
key string |
Значение этого свойства зависит от типа проверки: - ключ для запросов проверок агента Zabbix - SNMP OID для проверок SNMPv1, SNMPv2 и SNMPv3 |
|
name_source string |
Источник отображаемого имени. Возможные значения: none — (по умолчанию) не задано DNS IP discovery — значение обнаружения этой проверки Параметр доступен начиная с Zabbix 4.4 Варианты:
|
|
ports string |
Один или несколько диапазонов портов для проверки, разделённых запятыми. Используется для всех проверок, кроме ICMP. |
|
snmp_community string |
Сообщество SNMP. Обязательно для проверок агента SNMPv1 и SNMPv2. |
|
snmpv3_authpassphrase string |
Парольная фраза аутентификации для проверок агента SNMPv3 с уровнем безопасности authNoPriv или authPriv. |
|
snmpv3_authprotocol string |
Протокол аутентификации для проверок агента SNMPv3 с уровнем безопасности authNoPriv или authPriv. Возможные значения: MD5 SHA Варианты:
|
|
snmpv3_contextname string |
Имя контекста SNMPv3. Используется только проверками SNMPv3. |
|
snmpv3_privpassphrase string |
Парольная фраза конфиденциальности для проверок агента SNMPv3 с уровнем безопасности authPriv. |
|
snmpv3_privprotocol string |
Протокол конфиденциальности для проверок агента SNMPv3 с уровнем безопасности authPriv. Возможные значения: DES AES Варианты:
|
|
snmpv3_securitylevel string |
Уровень безопасности для проверок агента SNMPv3. Возможные значения: noAuthNoPriv authNoPriv authPriv Варианты:
|
|
snmpv3_securityname string |
Имя безопасности для проверок агента SNMPv3. |
|
type string |
Тип проверки. Варианты:
|
|
uniq boolean |
Использовать ли эту проверку в качестве критерия уникальности устройства. Для одного правила обнаружения можно настроить только одну проверку уникальности. Используется для проверок агентов Zabbix, SNMPv1, SNMPv2 и SNMPv3. Возможные значения: no — (по умолчанию) не использовать эту проверку в качестве критерия уникальности yes — использовать эту проверку в качестве критерия уникальности Варианты:
|
delay string | Интервал выполнения правила обнаружения. Принимает значение в секундах, единицы времени с суффиксом и пользовательский макрос. По умолчанию: |
http_login_password string | Пароль для базовой аутентификации |
http_login_user string | Имя пользователя для базовой аутентификации |
iprange list / элементы=string | Один или несколько диапазонов IP-адресов для проверки, разделённых запятыми. |
name string / обязательный | Имя правила обнаружения. |
proxy string | Имя прокси-сервера, используемого для обнаружения. |
state string | Создать или удалить правила обнаружения. Варианты:
|
status string | Включено ли правило обнаружения. Возможные значения: 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
Возвращаемые значения
Общие возвращаемые значения описаны здесь; ниже перечислены поля, уникальные для этого модуля:
Ключ | Описание |
|---|---|
drule string | Имя правила обнаружения. Возвращается: при успехе Пример: |
druleid string | Идентификатор правила обнаружения. Возвращается: при успехе Пример: |
msg string | Результат операции Возвращается: всегда Пример: |
state string | Состояние правила обнаружения после выполнения. Возвращается: при успехе Пример: |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/zabbix/zabbix_discovery_rule_module.html