Spec-Zone.ru › Ansible 2.10

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
список / элементы=словарь
Значение по умолчанию:
[]
Список интерфейсов, которые необходимо создать для хоста (см. пример ниже).
Для получения дополнительной информации см. документацию по интерфейсам хоста по адресу
https://www.zabbix.com/documentation/4.0/manual/api/reference/hostinterface/object
bulk
целое число
    Варианты:
  • 0
  • 1
Значение по умолчанию:
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
  • 1
Значение по умолчанию:
0
Протокол аутентификации SNMPv3.
Используется при securitylevel=1(authNoPriv) или securitylevel=2(AuthPriv).
0 (MD5), 1 (SHA)
bulk
целое число
    Варианты:
  • 0
  • 1
Значение по умолчанию:
1
Использовать ли пакетные запросы SNMP.
0 (не использовать пакетные запросы), 1 (использовать пакетные запросы)
community
строка
Строка сообщества SNMPv1 и SNMPv2.
Требуется при version=1 или version=2.
contextname
строка
Значение по умолчанию:
""
Имя контекста SNMPv3.
privpassphrase
строка
Значение по умолчанию:
""
Пароль конфиденциальности SNMPv3.
Используется при securitylevel=2(AuthPriv).
privprotocol
целое число
    Варианты:
  • 0
  • 1
Значение по умолчанию:
0
Протокол конфиденциальности SNMPv3.
Используется при securitylevel=2(authPriv).
0 (DES), 1 (AES)
securitylevel
целое число
    Варианты:
  • 0
  • 1
  • 2
Значение по умолчанию:
0
Уровень безопасности SNMPv3.
0 (noAuthNoPriv), 1 (authNoPriv), 2 (authPriv).
securityname
строка
Значение по умолчанию:
""
Имя безопасности SNMPv3.
version
целое число
    Варианты:
  • 1
  • 2
  • 3
Значение по умолчанию:
2
Версия SNMP.
1 (SNMPv1), 2 (SNMPv2c), 3 (SNMPv3)
dns
строка
Значение по умолчанию:
""
Имя DNS интерфейса хоста.
Требуется, если useip=0.
ip
строка
Значение по умолчанию:
""
IP-адрес, используемый интерфейсом хоста.
Требуется, если useip=1.
main
целое число
    Варианты:
  • 0
  • 1
Значение по умолчанию:
0
Является ли интерфейс используемым по умолчанию.
Если предоставлено несколько интерфейсов с одинаковым типом, только один может быть по умолчанию.
0 (не по умолчанию), 1 (по умолчанию)
port
строка
Порт, используемый интерфейсом хоста.
Если не указано, используется стандартный порт для каждого типа интерфейса
10050, если type='agent'
161, если type='snmp'
623, если type='ipmi'
12345, если type='jmx'
type
строка / обязательно
    Варианты:
  • agent
  • 1
  • snmp
  • 2
  • ipmi
  • 3
  • jmx
  • 4
Тип добавляемого интерфейса
Также принимаются числовые значения для типа интерфейса
1 = agent
2 = snmp
3 = ipmi
4 = jmx
useip
целое число
    Варианты:
  • 0
  • 1
Значение по умолчанию:
0
Подключиться к интерфейсу хоста с IP-адресом вместо имени DNS.
0 (не использовать IP), 1 (использовать IP)
inventory_mode
строка
    Варианты:
  • автоматический
  • ручной
  • отключён
Настроить режим инвентаризации.
inventory_zabbix
словарь
Добавить факты для инвентаризации zabbix (например, метка) (см. пример ниже).
Для получения дополнительной информации обратитесь к документации по интерфейсу.
https://www.zabbix.com/documentation/3.2/manual/api/reference/host/object#host_inventory
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

Spec-Zone.ru

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