community.zabbix.zabbix_host – Создание/обновление/удаление хостов Zabbix
Примечание
Этот плагин входит в коллекцию community.zabbix (версия 1.2.0).
Для его установки используйте: ansible-galaxy collection install community.zabbix.
Для использования в плейбуке укажите: 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. | |||
| http_login_user строка | Логин аутентификации Basic. | |||
| 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 строка | Значение по умолчанию: "" | Имя домена хост-интерфейса. Требуется, если 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. Для получения дополнительной информации обратитесь к документации объекта Host 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. Для получения дополнительной информации обратитесь к документации объекта Host https://www.zabbix.com/documentation/3.4/manual/api/reference/host/object Возможные значения 1 (callback), 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 очистит все теги с хоста. псевдонимы: host_теги | |||
| тег строка / обязательно | Имя тега хоста. | |||
| значение строка | По умолчанию: "" | Значение тега хоста. | ||
| таймаут целое число | По умолчанию: 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 | |||
| проверять_сертификаты булево |
| Если установлено в ложь, 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–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/zabbix/zabbix_host_module.html