community.zabbix.zabbix_host – Создание/обновление/удаление хостов Zabbix
Примечание
Этот плагин входит в коллекцию community.zabbix (версия 1.1.0).
Для установки используйте: ansible-galaxy collection install community.zabbix.
Для использования в playbook, укажите: community.zabbix.zabbix_host.
Краткое описание
- Этот модуль позволяет создавать, изменять и удалять записи хостов Zabbix, а также связанные группы и шаблоны данных.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- python >= 2.6
- zabbix-api >= 0.5.4
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | ||
|---|---|---|---|---|
| ca_cert строка | Требуемый сертификат издателя. Работает только с Zabbix 3.0 и выше псевдонимы: tls_issuer | |||
| description строка | Описание хоста в Zabbix. | |||
| force логическое значение |
| Перезаписать конфигурацию хоста, даже если она уже существует. | ||
| host_groups список / элементы=строка | Список групп хостов, к которым принадлежит хост. | |||
| host_name строка / обязательно | Имя хоста в Zabbix.
host_name является уникальным идентификатором и не может быть обновлён с помощью этого модуля. | |||
| http_login_password строка | Пароль Basic Auth | |||
| http_login_user строка | Логин Basic Auth | |||
| interfaces список / элементы=словарь | Значение по умолчанию: [] | Список интерфейсов, которые необходимо создать для хоста (см. пример ниже). Для получения дополнительной информации см. документацию по интерфейсам хоста по адресу | ||
| bulk целое число |
1 | Использовать ли пакетные запросы SNMP. Действительно только при type='snmp'. 0 (не использовать пакетные запросы), 1 (использовать пакетные запросы) Работает только с Zabbix ≤ 4.4 и в более поздних версиях игнорируется. Используйте details с Zabbix ≥ 5.0. | ||
| details словарь | Значение по умолчанию: {} | Дополнительные детали для SNMP-интерфейсов хоста. Необходимо при type='snmp'. Работает только с Zabbix ≥ 5.0. | ||
| authpassphrase строка | Значение по умолчанию: "" | Пароль аутентификации SNMPv3. Используется при securitylevel=1(authNoPriv) или securitylevel=2(AuthPriv). | ||
| authprotocol целое число |
0 | Протокол аутентификации SNMPv3. Используется при securitylevel=1(authNoPriv) или securitylevel=2(AuthPriv). 0 (MD5), 1 (SHA) | ||
| bulk целое число |
1 | Использовать ли пакетные запросы SNMP. 0 (не использовать пакетные запросы), 1 (использовать пакетные запросы) | ||
| community строка | Строка сообщества SNMPv1 и SNMPv2. Требуется при version=1 или version=2. | |||
| contextname строка | Значение по умолчанию: "" | Имя контекста SNMPv3. | ||
| privpassphrase строка | Значение по умолчанию: "" | Пароль конфиденциальности SNMPv3. Используется при securitylevel=2(AuthPriv). | ||
| privprotocol целое число |
0 | Протокол конфиденциальности SNMPv3. Используется при securitylevel=2(authPriv). 0 (DES), 1 (AES) | ||
| securitylevel целое число |
0 | Уровень безопасности SNMPv3. 0 (noAuthNoPriv), 1 (authNoPriv), 2 (authPriv). | ||
| securityname строка | Значение по умолчанию: "" | Имя безопасности SNMPv3. | ||
| version целое число |
2 | Версия SNMP. 1 (SNMPv1), 2 (SNMPv2c), 3 (SNMPv3) | ||
| dns строка | Значение по умолчанию: "" | Имя DNS интерфейса хоста. Требуется, если useip=0. | ||
| ip строка | Значение по умолчанию: "" | IP-адрес, используемый интерфейсом хоста. Требуется, если useip=1. | ||
| main целое число |
0 | Является ли интерфейс используемым по умолчанию. Если предоставлено несколько интерфейсов с одинаковым типом, только один может быть по умолчанию. 0 (не по умолчанию), 1 (по умолчанию) | ||
| port строка | Порт, используемый интерфейсом хоста. Если не указано, используется стандартный порт для каждого типа интерфейса 10050, если type='agent'
161, если type='snmp'
623, если type='ipmi'
12345, если type='jmx'
| |||
| type строка / обязательно |
| Тип добавляемого интерфейса Также принимаются числовые значения для типа интерфейса 1 = agent 2 = snmp 3 = ipmi 4 = jmx | ||
| useip целое число |
0 | Подключиться к интерфейсу хоста с IP-адресом вместо имени DNS. 0 (не использовать IP), 1 (использовать IP) | ||
| inventory_mode строка |
| Настроить режим инвентаризации. | ||
| inventory_zabbix словарь | Добавить факты для инвентаризации zabbix (например, метка) (см. пример ниже). Для получения дополнительной информации обратитесь к документации по интерфейсу. | |||
| ipmi_authtype целое число | Алгоритм аутентификации IPMI. Для получения дополнительной информации см. документацию по объекту хоста https://www.zabbix.com/documentation/3.4/manual/api/reference/host/object Возможные значения: 0 (нет), 1 (MD2), 2 (MD5), 4 (прямой), 5 (OEM), 6 (RMCP+), где -1 — значение по умолчанию API.Обратите внимание, что API Zabbix будет рассматривать отсутствующие настройки как значения по умолчанию при обновлении любого из параметров ipmi_; это означает, что если вы попытаетесь установить любой из четырёх параметров индивидуально, остальные будут сброшены до значений по умолчанию. | |||
| ipmi_password строка | Пароль IPMI. Также см. последнее примечание в документации по ipmi_authtype | |||
| ipmi_privilege целое число | Уровень привилегий IPMI. Для получения дополнительной информации см. документацию по объекту хоста https://www.zabbix.com/documentation/3.4/manual/api/reference/host/object Возможные значения: 1 (обратный вызов), 2 (пользователь), 3 (оператор), 4 (администратор), 5 (OEM), где 2 — значение по умолчанию API.Также см. последнее примечание в документации по ipmi_authtype | |||
| ipmi_username строка | Имя пользователя IPMI. Также см. последнее примечание в документации по ipmi_authtype | |||
| link_templates список / элементы=строка | Список шаблонов, связанных с хостом. | |||
| login_password строка / обязательно | Пароль пользователя Zabbix. | |||
| login_user строка / обязательно | Имя пользователя Zabbix. | |||
| macros список / элементы=словарь | Список пользовательских макросов для назначения хосту zabbix. Предоставление macros=[] с force=yes очистит все существующие пользовательские макросы с хоста. псевдонимы: user_macros | |||
| Описание строка | Значение по умолчанию: "" | Описание пользовательского макроса. Работает только с >= Zabbix 4.4. | ||
| макрос строка / обязательно | Имя пользовательского макроса. Может быть в формате Zabbix «{$MACRO}» или сокращённом формате «MACRO». | |||
| тип строка |
| Тип макроса. Работает только с >= Zabbix 5.0. Так как значение не возвращается API для секретных макросов, нет надёжного способа обнаружить изменения в содержании значения секретного макроса. Для обновления значения секретного макроса, пожалуйста, обновите описание вместе с ним, чтобы оно прошло проверку. | ||
| значение строка / обязательно | Значение пользовательского макроса. | |||
| прокси строка | Имя используемого прокси-сервера Zabbix. | |||
| url_сервера строка / обязательно | URL сервера Zabbix с протоколом (http или https). url — псевдоним для server_url.псевдонимы: url | |||
| состояние строка |
| Состояние хоста. В present, он будет создан, если хост не существует, или обновлён, если связанные данные отличаются.В absent будет удалён хост, если он существует. | ||
| статус строка |
| Статус мониторинга хоста. | ||
| теги список / элементы=словарь | Список тегов хоста для назначения хосту zabbix. Работает только с >= Zabbix 4.2. Предоставление теги=[] с force=yes очистит все теги от хоста. псевдонимы: теги_хоста | |||
| тег строка / обязательно | Имя тега хоста. | |||
| значение строка | Значение по умолчанию: "" | Значение тега хоста. | ||
| таймаут целое число | Значение по умолчанию: 10 | Таймаут запроса API (секунды). | ||
| tls_принять целое число | Значение по умолчанию: 1 | Указывает типы соединений, разрешённых для входящих соединений. Параметр tls_accept принимает значения от 1 до 7 Возможные значения: 1 (без шифрования), 2 (PSK), 4 (сертификат). Значения можно комбинировать. Работает только с >= Zabbix 3.0 | ||
| tls_подключиться целое число | Значение по умолчанию: 1 | Указывает тип шифрования для исходящих соединений. Возможные значения: 1 (без шифрования), 2 (PSK), 4 (сертификат). Работает только с >= Zabbix 3.0 | ||
| tls_psk строка | Значение PSK — сложно угадываемая строка шестнадцатеричных цифр. Предварительно заданный ключ, как минимум 32 шестнадцатеричные цифры. Требуется, если в tls_connect или tls_accept включено PSK. Работает только с >= Zabbix 3.0 | |||
| tls_psk_идентификатор строка | Уникальное имя, по которому Zabbix-компоненты ссылаются на конкретный PSK. Не размещайте конфиденциальную информацию в строке идентификатора PSK, так как она передаётся по сети без шифрования. Работает только с >= Zabbix 3.0 | |||
| tls_предмет строка | Требуемый предмет сертификата. Работает только с >= Zabbix 3.0 | |||
| проверять_сертификаты булево |
| Если установлено значение False, SSL-сертификаты не будут проверены. Это следует использовать только на контролируемых лично сайтах, использующих самозаверяющие сертификаты. | ||
| видимое_название строка | Видимое имя хоста в Zabbix. | |||
Примечания
Примечание
- Если вы используете login_password=zabbix, слово «zabbix» заменяется «****» во всех выводах модуля, так как login_password использует
no_log. Более подробную информацию см. в этом FAQ.
Примеры
- name: Create a new host or update an existing host's info
local_action:
module: community.zabbix.zabbix_host
server_url: http://monitor.example.com
login_user: username
login_password: password
host_name: ExampleHost
visible_name: ExampleName
description: My ExampleHost Description
host_groups:
- Example group1
- Example group2
link_templates:
- Example template1
- Example template2
status: enabled
state: present
inventory_mode: manual
inventory_zabbix:
tag: "{{ your_tag }}"
alias: "{{ your_alias }}"
notes: "Special Informations: {{ your_informations | default('None') }}"
location: "{{ your_location }}"
site_rack: "{{ your_site_rack }}"
os: "{{ your_os }}"
hardware: "{{ your_hardware }}"
ipmi_authtype: 2
ipmi_privilege: 4
ipmi_username: username
ipmi_password: password
interfaces:
- type: 1
main: 1
useip: 1
ip: 10.xx.xx.xx
dns: ""
port: "10050"
- type: 4
main: 1
useip: 1
ip: 10.xx.xx.xx
dns: ""
port: "12345"
proxy: a.zabbix.proxy
macros:
- macro: '{$EXAMPLEMACRO}'
value: ExampleMacroValue
- macro: EXAMPLEMACRO2
value: ExampleMacroValue2
description: Example desc that work only with Zabbix 4.4 and higher
tags:
- tag: ExampleHostsTag
- tag: ExampleHostsTag2
value: ExampleTagValue
- name: Update an existing host's TLS settings
local_action:
module: community.zabbix.zabbix_host
server_url: http://monitor.example.com
login_user: username
login_password: password
host_name: ExampleHost
visible_name: ExampleName
host_groups:
- Example group1
tls_psk_identity: test
tls_connect: 2
tls_psk: 123456789abcdef123456789abcdef12
Авторы
- Cove (@cove)
- Tony Minfei Ding (!UNKNOWN)
- Harrison Gu (@harrisongu)
- Werner Dijkerman (@dj-wasabi)
- Eike Frost (@eikef)
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/community/zabbix/zabbix_host_module.html