community.zabbix.zabbix_inventory инвентаризация – плагин Zabbix Inventory
Примечание
Этот плагин инвентаризации входит в состав коллекции community.zabbix (версия 2.5.1).
Возможно, эта коллекция уже установлена, если вы используете пакет 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 |
запрос Возвращает свойство триггеров узла с триггерами узла. Для возврата всех значений укажите ‘extend’ Может быть ограничено различными полями, например, установка значения [‘name’] вернёт только имя Дополнительные поля можно указать через запятую, например, [‘name’, ‘field2’] Для получения дополнительной информации об именах полей см. https://www.zabbix.com/documentation/current/manual/api/reference/host/object#host_tag |
http_login_password string | Пароль аутентификации Basic. |
http_login_user string | Логин аутентификации Basic. |
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 | Используется совместно с keyed_groups. По умолчанию, у группы с ключом, у которой нет префикса или разделителя, имя начинается с нижнего подчёркивания. Это происходит потому, что префикс по умолчанию «» и разделитель по умолчанию «_». Установите этот параметр в False, чтобы опустить ведущее нижнее подчёркивание (или другой разделитель), если префикс не задан. Если имя группы получено из сопоставления, разделитель всё ещё используется для конкатенации элементов. Чтобы вообще не использовать разделитель в имени группы, установите разделитель для группы с ключом в пустую строку. Варианты:
|
login_password string / обязательно | |
login_user string / обязательно | |
proxy string | Прокси-сервер для доступа к API Zabbix Значение по умолчанию: |
server_url aliases: url string / обязательно | URL сервера Zabbix с протоколом (http или https). Конфигурация:
|
strict boolean | Если Так как в выражениях можно использовать факты, они могут не всегда быть доступны, и мы игнорируем эти ошибки по умолчанию. Варианты:
|
timeout integer | Время ожидания запроса API (секунды). Значение по умолчанию: |
use_extra_vars boolean added in ansible-core 2.11 | Объединить дополнительные переменные в доступные переменные для составления (с наивысшим приоритетом). Варианты:
Настройка:
|
validate_certs boolean | Если установлено в False, сертификаты SSL не будут проверены. Это следует использовать только на сайтах, контролируемых лично, с использованием самозаверяющих сертификатов. Варианты:
Настройка:
|
Примеры
# 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
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/zabbix/zabbix_inventory_inventory.html