community.zabbix.zabbix_inventory inventory — плагин инвентаризации Zabbix
Примечание
Этот плагин инвентаризации входит в коллекцию community.zabbix (версия 4.2.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Чтобы установить её, используйте: ansible-galaxy collection install community.zabbix. Для использования этого плагина инвентаризации требуются дополнительные зависимости. Подробнее см. в разделе Требования.
Чтобы использовать его в плейбуке, укажите: community.zabbix.zabbix_inventory.
Добавлено в community.zabbix 1.4.0
Краткое описание
- Плагин инвентаризации Zabbix
- Ко всем переменным из Zabbix добавляется префикс zbx_
Требования
Следующие требования должны быть выполнены на локальном управляющем узле, который выполняет эту инвентаризацию.
- python >= 3.9
Параметры
Параметр | Комментарии |
|---|---|
add_zabbix_groups boolean | Если установлено значение True, узлы будут добавлены в группы на основе их групп Zabbix Варианты:
|
auth_token string | Токен аутентификации Zabbix (см. https://www.zabbix.com/documentation/current/en/manual/web_interface/frontend_sections/users/api_tokens) Если указан, то |
cache boolean | Включает или отключает кэширование исходных данных инвентаризации; для работы требуется настроенный плагин кэша. Варианты:
Конфигурация:
|
cache_connection string | Данные подключения к кэшу или путь к нему; подробности см. в документации плагина кэша. Конфигурация:
|
cache_plugin string | Плагин кэша для исходных данных инвентаризации. По умолчанию: Конфигурация:
|
cache_prefix string | Префикс для файлов/таблиц плагина кэша. По умолчанию: Конфигурация:
|
cache_timeout integer | Длительность кэширования в секундах. По умолчанию: Конфигурация:
|
compose dictionary | Создаёт переменные из выражений Jinja2. По умолчанию: |
groups dictionary | Добавляет узлы в группы на основе условий Jinja2. По умолчанию: |
host_zapi_query dictionary | Запрос API для узлов — подробности см. в документации Zabbix https://www.zabbix.com/documentation/current/manual/api/reference/host/get По умолчанию: |
|
selectApplications string |
запрос Возвращает свойство applications с приложениями узла. Чтобы вернуть все значения, укажите «extend» Можно ограничить результат отдельными полями. Например, если задать значение [“name”], будет возвращено только имя Дополнительные поля можно указать через запятую: [“name”, “field2”] Подробнее о названиях полей см. в https://www.zabbix.com/documentation/current/manual/api/reference/application/object |
|
selectDashboards string |
запрос Возвращает свойство dashboards. Чтобы вернуть все значения, укажите ‘extend’ Можно ограничить результат отдельными полями. Например, если задать значение [‘name’], будет возвращено только имя Дополнительные поля можно указать через запятую: [‘name’, ‘field2’] Подробнее о названиях полей см. в https://www.zabbix.com/documentation/current/manual/api/reference/templatedashboard/object |
|
selectDiscoveries string |
запрос Возвращает свойство discoveries с правилами низкоуровневого обнаружения узла. Чтобы вернуть все значения, укажите ‘extend’ Можно ограничить результат отдельными полями. Например, если задать значение [‘name’], будет возвращено только имя Дополнительные поля можно указать через запятую: [‘name’, ‘field2’] Подробнее о названиях полей см. в https://www.zabbix.com/documentation/current/manual/api/reference/discoveryrule/object |
|
selectDiscoveryRule string |
запрос Возвращает свойство discoveryRule с правилом низкоуровневого обнаружения, создавшим узел (из прототипа узла при мониторинге VMware). Чтобы вернуть все значения, укажите ‘extend’ Можно ограничить результат отдельными полями. Например, если задать значение [‘name’], будет возвращено только имя Дополнительные поля можно указать через запятую: [‘name’, ‘field2’] Подробнее о названиях полей см. в https://www.zabbix.com/documentation/current/manual/api/reference/discoveryrule/object |
|
selectGraphs string |
запрос Возвращает свойство discoveries с правилами низкоуровневого обнаружения узла. Чтобы вернуть все значения, укажите ‘extend’ Можно ограничить результат отдельными полями. Например, если задать значение [‘name’], будет возвращено только имя Дополнительные поля можно указать через запятую: [‘name’, ‘field2’] Подробнее о названиях полей см. в https://www.zabbix.com/documentation/current/manual/api/reference/graph/object |
|
selectGroups string |
запрос Возвращает свойство groups с данными групп, к которым принадлежит узел. Чтобы вернуть все значения, укажите ‘extend’ Можно ограничить результат отдельными полями. Например, если задать значение [‘name’], будет возвращено только имя Дополнительные поля можно указать через запятую: [‘name’, ‘field2’] Подробнее о названиях полей см. в https://www.zabbix.com/documentation/current/manual/api/reference/hostgroup/object |
|
selectHostDiscovery string |
запрос Возвращает свойство hostDiscovery с данными объекта обнаружения узла. Чтобы вернуть все значения, укажите ‘extend’ Можно ограничить результат отдельными полями. Например, если задать значение [‘name’], будет возвращено только имя Дополнительные поля можно указать через запятую: [‘name’, ‘field2’] Подробнее о названиях полей см. в https://www.zabbix.com/documentation/current/manual/api/reference/host/get |
|
selectHttpTests string |
запрос Возвращает свойство httpTests с веб-сценариями узла. Чтобы вернуть все значения, укажите ‘extend’ Можно ограничить результат отдельными полями. Например, если задать значение [‘name’], будет возвращено только имя Дополнительные поля можно указать через запятую: [‘name’, ‘field2’] Подробнее о названиях полей см. в https://www.zabbix.com/documentation/current/manual/api/reference/httptest/object |
|
selectInheritedTags string |
запрос Возвращает свойство inheritedTags с тегами, заданными во всех шаблонах, связанных с узлом. Чтобы вернуть все значения, укажите ‘extend’ Можно ограничить результат отдельными полями. Например, если задать значение [‘name’], будет возвращено только имя Дополнительные поля можно указать через запятую: [‘name’, ‘field2’] Подробнее о названиях полей см. в https://www.zabbix.com/documentation/current/manual/api/reference/host/object#host_tag |
|
selectInterfaces string |
запрос Возвращает свойство interfaces с интерфейсами узла. Чтобы вернуть все значения, укажите ‘extend’ Можно ограничить результат отдельными полями. Например, если задать значение [‘name’], будет возвращено только имя Дополнительные поля можно указать через запятую: [‘name’, ‘field2’] Подробнее о названиях полей см. в https://www.zabbix.com/documentation/current/manual/api/reference/hostinterface/object |
|
selectInventory string |
запрос Возвращает свойство inventory с данными инвентаризации узла. Чтобы вернуть все значения, укажите ‘extend’ Можно ограничить результат отдельными полями. Например, если задать значение [‘name’], будет возвращено только имя Дополнительные поля можно указать через запятую: [‘name’, ‘field2’] Подробнее о названиях полей см. в https://www.zabbix.com/documentation/current/manual/api/reference/host/object#host_inventory |
|
selectItems string |
запрос Возвращает свойство items с элементами данных узла. Чтобы вернуть все значения, укажите ‘extend’ Можно ограничить результат отдельными полями. Например, если задать значение [‘name’], будет возвращено только имя Дополнительные поля можно указать через запятую: [‘name’, ‘field2’] Подробнее о названиях полей см. в https://www.zabbix.com/documentation/current/manual/api/reference/item/object |
|
selectMacros string |
запрос Возвращает свойство macros с макросами узла. Чтобы вернуть все значения, укажите ‘extend’ Можно ограничить результат отдельными полями. Например, если задать значение [‘name’], будет возвращено только имя Дополнительные поля можно указать через запятую: [‘name’, ‘field2’] Подробнее о названиях полей см. в https://www.zabbix.com/documentation/current/manual/api/reference/usermacro/object |
|
selectParentTemplates string |
запрос Возвращает свойство parentTemplates с шаблонами, связанными с узлом Чтобы вернуть все значения, укажите ‘extend’ Можно ограничить результат отдельными полями. Например, если задать значение [‘name’], будет возвращено только имя Дополнительные поля можно указать через запятую: [‘name’, ‘field2’] Подробнее о названиях полей см. в https://www.zabbix.com/documentation/current/manual/api/reference/template/object |
|
selectTags string |
запрос Возвращает свойство tags с тегами узла. Чтобы вернуть все значения, укажите ‘extend’ Можно ограничить результат отдельными полями. Например, если задать значение [‘name’], будет возвращено только имя Дополнительные поля можно указать через запятую: [‘name’, ‘field2’] Подробнее о названиях полей см. в https://www.zabbix.com/documentation/current/manual/api/reference/host/object#host_tag |
|
selectTriggers string |
запрос Возвращает свойство triggers с триггерами узла. Чтобы вернуть все значения, укажите ‘extend’ Можно ограничить результат отдельными полями. Например, если задать значение [‘name’], будет возвращено только имя Дополнительные поля можно указать через запятую: [‘name’, ‘field2’] Подробнее о названиях полей см. в https://www.zabbix.com/documentation/current/manual/api/reference/host/object#host_tag |
http_login_password string | Пароль для базовой аутентификации |
http_login_user string | Имя пользователя для базовой аутентификации |
keyed_groups list / elements=dictionary | Добавляет узлы в группу на основе значений переменной. По умолчанию: |
|
default_value string добавлено в ansible-core 2.12 |
Значение по умолчанию, если значение переменной узла равно Этот параметр несовместим с |
|
key string |
Ключ входного словаря, используемый для создания групп. |
|
parent_group string |
Родительская группа для группы с ключом. |
|
prefix string |
Имя группы с ключом будет начинаться с этого префикса. По умолчанию: |
|
separator string |
Разделитель, используемый для формирования имени группы с ключом. По умолчанию: |
|
trailing_separator boolean добавлено в ansible-core 2.12 |
Установите для этого параметра значение Этот параметр несовместим с Варианты:
|
leading_separator boolean добавлено в ansible-core 2.11 | Используется совместно с По умолчанию имя группы с ключом, для которой не указан префикс или разделитель, начинается с символа подчёркивания. Это связано с тем, что префикс по умолчанию — Установите для этого параметра значение Если имя группы формируется из сопоставления, разделитель по-прежнему используется для объединения элементов. Чтобы совсем не использовать разделитель в имени группы, задайте для группы с ключом пустую строку в качестве разделителя. Варианты:
|
login_password string |
login_user строка | |
proxy строка | Прокси-сервер для подключения к API Zabbix По умолчанию: |
server_url псевдонимы: url строка / обязательный | URL-адрес сервера Zabbix с указанием протокола (http или https). Конфигурация:
|
strict логическое значение | Если Поскольку в выражениях можно использовать факты, они могут быть доступны не всегда, поэтому по умолчанию такие ошибки игнорируются. Варианты:
|
timeout целое число | Время ожидания ответа на запрос API (в секундах). По умолчанию: |
use_extra_vars логическое значение добавлено в ansible-core 2.11 | Объединять дополнительные переменные с доступными переменными для композиции (наивысший приоритет). Варианты:
Конфигурация:
|
validate_certs логическое значение | Если установлено значение False, SSL-сертификаты не будут проверяться. Это следует использовать только на контролируемых вами сайтах, где применяются самоподписанные сертификаты. Варианты:
Конфигурация:
|
Примечание
Записи конфигурации, перечисленные выше для каждого типа (переменная Ansible, переменная окружения и т. д.), расположены в порядке приоритета от низкого к высокому. Например, переменная, стоящая ниже в списке, переопределит переменную, стоящую выше. Типы записей также упорядочены по приоритету от низкого к высокому. Например, запись в ansible.cfg (расположенная выше в списке) переопределяется переменной Ansible (расположенной ниже в списке).
Примечания
Примечание
- Инвентаризация на этом этапе еще не завершена, поэтому автоматически заполняемые группы
allиungroupedбудут содержать только то, что предыдущие источники инвентаризации добавили в них явно. - Во время построения инвентаризации «магические переменные» времени выполнения недоступны. Например, переменные
groupsиhostvarsеще не существуют.
Примеры
# Simple Inventory Plugin example
# This will create an inventory with details from zabbix such as applications name, applicaitonids, Parent Template Name, and group membership name
#It will also create 2 ansible inventory groups for enabled and disabled hosts in zabbix based on the status field.
plugin: community.zabbix.zabbix_inventory
server_url: https://zabbix.com
login_user: Admin
login_password: password
host_zapi_query:
selectApplications: ['name', 'applicationid']
selectParentTemplates: ['name']
selectGroups: ['name']
validate_certs: false
groups:
enabled: zbx_status == "0"
disabled: zbx_status == "1"
#Using Keyed Groups
plugin: community.zabbix.zabbix_inventory
server_url: https://zabbix.com
login_user: Admin
login_password: password
validate_certs: false
keyed_groups:
- key: zbx_status | lower
prefix: 'env'
- key: zbx_description | lower
prefix: 'test'
separator: ''
#Using proxy format of proxy is 'http://<user>:<pass>@<proxy>:<port>' or 'http://<proxy>:<port>'
plugin: community.zabbix.zabbix_inventory
server_url: https://zabbix.com
proxy: http://someproxy:8080
login_user: Admin
login_password: password
validate_certs: false
#Organize inventory groups based on zabbix host groups
plugin: community.zabbix.zabbix_inventory
server_url: https://zabbix.com
add_zabbix_groups: true
login_user: Admin
login_password: password
validate_certs: false
#Using compose to modify vars
plugin: community.zabbix.zabbix_inventory
server_url: https://zabbix.com
login_user: Admin
login_password: password
validate_certs: false
compose:
zbx_testvar: zbx_status.replace("1", "Disabled")
#Using auth token instead of username/password
plugin: community.zabbix.zabbix_inventory
server_url: https://zabbix.com
auth_token: 3bc3dc85e13e2431812e7a32fa8341cbcf378e5101356c015fdf2e35fd511b06
validate_certs: false
#Using jinga2 template for auth token instead of username/password.
plugin: community.zabbix.zabbix_inventory
server_url: https://zabbix.com
auth_token: "{{ lookup('ansible.builtin.env', 'ZABBIX_API_KEY') }}"
validate_certs: false
Ссылки на коллекцию
© 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_inventory_inventory.html