Spec-Zone.ru › Ansible

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

Выбор:

  • false ← (по умолчанию)
  • true

auth_token

string

Токен аутентификации Zabbix (см. https://www.zabbix.com/documentation/current/en/manual/web_interface/frontend_sections/users/api_tokens)

Если предоставлено, то login_user и login_password игнорируются

cache

boolean

Включить/отключить кеширование исходных данных инвентаризации, для работы требуется настройка плагина кеширования.

Выбор:

  • false ← (по умолчанию)
  • true

Настройка:

  • Запись в INI:

    [inventory]
    cache = false
    
  • Переменная окружения: ANSIBLE_INVENTORY_CACHE

cache_connection

string

Данные подключения к кешу или путь, ознакомьтесь с документацией плагина кеширования для получения подробной информации.

Настройка:

  • Записи в INI:

    [defaults]
    fact_caching_connection = VALUE
    
    [inventory]
    cache_connection = VALUE
    
  • Переменная окружения: ANSIBLE_CACHE_PLUGIN_CONNECTION
  • Переменная окружения: ANSIBLE_INVENTORY_CACHE_CONNECTION

cache_plugin

string

Плагин кеширования для исходных данных инвентаризации.

По умолчанию: "memory"

Настройка:

  • Записи в INI:

    [defaults]
    fact_caching = memory
    
    [inventory]
    cache_plugin = memory
    
  • Переменная окружения: ANSIBLE_CACHE_PLUGIN
  • Переменная окружения: ANSIBLE_INVENTORY_CACHE_PLUGIN

cache_prefix

string

Префикс для файлов/таблиц плагина кеширования

По умолчанию: "ansible_inventory_"

Настройка:

  • Записи в INI:

    [defaults]
    fact_caching_prefix = ansible_inventory_
    
    [inventory]
    cache_prefix = ansible_inventory_
    
  • Переменная окружения: ANSIBLE_CACHE_PLUGIN_PREFIX
  • Переменная окружения: ANSIBLE_INVENTORY_CACHE_PLUGIN_PREFIX

cache_timeout

integer

Время действия кеша в секундах

По умолчанию: 3600

Настройка:

  • Записи в INI:

    [defaults]
    fact_caching_timeout = 3600
    
    [inventory]
    cache_timeout = 3600
    
  • Переменная окружения: ANSIBLE_CACHE_PLUGIN_TIMEOUT
  • Переменная окружения: ANSIBLE_INVENTORY_CACHE_TIMEOUT

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

Значение по умолчанию, когда значение переменной узла — пустая строка.

Этот параметр взаимоисключающий с keyed_groups[].trailing_separator.

key

string

Ключ из входного словаря, используемый для создания групп.

parent_group

string

родительская группа для группы с ключом

prefix

string

Имя группы с ключом будет начинаться с этого префикса

Значение по умолчанию: ""

separator

string

разделитель, используемый для построения имени группы с ключом

Значение по умолчанию: "_"

trailing_separator

boolean

добавлено в ansible-core 2.12

Установите этот параметр в False, чтобы опустить keyed_groups[].separator после переменной узла, когда значение является пустой строкой.

Этот параметр взаимоисключающий с keyed_groups[].default_value.

Варианты:

  • false
  • true ← (по умолчанию)

leading_separator

boolean

добавлено в ansible-core 2.11

Используется совместно с keyed_groups.

По умолчанию, у группы с ключом, у которой нет префикса или разделителя, имя начинается с нижнего подчёркивания.

Это происходит потому, что префикс по умолчанию «» и разделитель по умолчанию «_».

Установите этот параметр в False, чтобы опустить ведущее нижнее подчёркивание (или другой разделитель), если префикс не задан.

Если имя группы получено из сопоставления, разделитель всё ещё используется для конкатенации элементов.

Чтобы вообще не использовать разделитель в имени группы, установите разделитель для группы с ключом в пустую строку.

Варианты:

  • false
  • true ← (по умолчанию)

login_password

string / обязательно

Пароль пользователя Zabbix.

Конфигурация:

  • Переменная окружения: ZABBIX_PASSWORD

login_user

string / обязательно

Имя пользователя Zabbix.

Конфигурация:

  • Переменная окружения: ZABBIX_USERNAME

proxy

string

Прокси-сервер для доступа к API Zabbix

Значение по умолчанию: ""

server_url

aliases: url

string / обязательно

URL сервера Zabbix с протоколом (http или https). url является псевдонимом для server_url.

Конфигурация:

  • Переменная окружения: ZABBIX_SERVER

strict

boolean

Если yes сделать некорректные записи ошибкой, иначе пропустить и продолжить.

Так как в выражениях можно использовать факты, они могут не всегда быть доступны, и мы игнорируем эти ошибки по умолчанию.

Варианты:

  • false ← (по умолчанию)
  • true

timeout

integer

Время ожидания запроса API (секунды).

Значение по умолчанию: 10

use_extra_vars

boolean

added in ansible-core 2.11

Объединить дополнительные переменные в доступные переменные для составления (с наивысшим приоритетом).

Варианты:

  • false ← (по умолчанию)
  • true

Настройка:

  • Запись INI:

    [inventory_plugins]
    use_extra_vars = false
    
  • Переменная среды: ANSIBLE_INVENTORY_USE_EXTRA_VARS

validate_certs

boolean

Если установлено в False, сертификаты SSL не будут проверены. Это следует использовать только на сайтах, контролируемых лично, с использованием самозаверяющих сертификатов.

Варианты:

  • false
  • true ← (по умолчанию)

Настройка:

  • Переменная среды: ZABBIX_VALIDATE_CERTS

Примеры

# 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

Авторы

  • Timothy Test (@ttestscripting)

Подсказка

Записи конфигурации для каждого типа записи имеют порядок приоритетов от низкого к высокому. Например, переменная, которая находится ниже в списке, переопределит переменную, которая расположена выше.

Ссылки на коллекцию

  • Отслеживание задач
  • Главная страница
  • Репозиторий (источники)

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API