Spec-Zone.ru › Ansible 2.10

community.zabbix.zabbix_template – Создание/обновление/удаление/экспорт шаблона Zabbix

Примечание

Этот плагин является частью коллекции community.zabbix (версия 1.1.0).

Для его установки используйте: ansible-galaxy collection install community.zabbix

Для использования в playbook, укажите: community.zabbix.zabbix_template

  • Обзор
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения

Обзор

  • Этот модуль позволяет создавать, изменять, удалять и экспортировать шаблоны Zabbix.
  • Несколько шаблонов могут быть созданы или изменены одновременно, если передать модулю JSON или XML.

Требования

Ниже перечислены требования к хосту, на котором выполняется этот модуль.

  • python >= 2.6
  • zabbix-api >= 0.5.4

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
clear_templates
список / элементы=строка
Список имён шаблонов, которые будут отключены и очищены из шаблона.
Этот параметр игнорируется, если шаблон создаётся впервые.
dump_format
строка
    Варианты:
  • json ←
  • xml
Формат, используемый при экспорте шаблона с помощью state=dump.
Этот параметр устарел и в конечном итоге будет удалён в версии 2.14.
http_login_password
строка
Пароль Basic Auth
http_login_user
строка
Логин Basic Auth
link_templates
список / элементы=строка
Список имён шаблонов, которые будут связаны с шаблоном.
Шаблоны, не указанные в списке и связанные с существующим шаблоном, будут только отключены, а не очищены из шаблона.
login_password
строка / обязательно
Пароль пользователя Zabbix.
login_user
строка / обязательно
Имя пользователя Zabbix.
macros
список / элементы=словарь
Список пользовательских макросов для создания в шаблоне.
Макросы, не указанные в списке и присутствующие в существующем шаблоне, будут перезаписаны.
Примеры использования макросов см. в примерах.
name
строка
Имя макроса.
Должно быть указано в формате {$NAME}.
value
строка
Значение макроса.
omit_date
булево
    Варианты:
  • нет ←
  • да
Удаляет поле даты для экспортируемого/экспортированного шаблона
Требует state=dump
server_url
строка / обязательно
URL сервера Zabbix с протоколом (http или https). url — псевдоним для server_url.

псевдонимы: url
state
строка
    Варианты:
  • present ←
  • absent
  • dump
Необходимое состояние шаблона.
При состоянии state=present, шаблон будет создан/импортирован или обновлён в зависимости от его наличия.
При состоянии state=dump, содержимое шаблона будет экспортировано в указанный формат dump_format.
При состоянии state=absent, шаблон будет удалён.
Состояние state=dump устарело и будет удалено в версии 2.14. Вместо него следует использовать модуль community.zabbix.zabbix_template_info.
template_groups
список / элементы=строка
Список групп хостов, к которым добавить шаблон при создании.
Заменяет текущие группы хостов, к которым принадлежит шаблон, если шаблон уже существует.
Требуется при создании нового шаблона с state=present, и используется template_name. Не требуется при обновлении существующего шаблона.
template_json
json
JSON-экспорт шаблонов для импорта.
Можно импортировать несколько шаблонов таким образом.
Исключительно с template_name и template_xml.
template_name
строка
Имя шаблона Zabbix.
Требуется, если не используются template_json или template_xml.
Исключительно с template_json и template_xml.
template_xml
строка
XML-экспорт шаблонов для импорта.
Можно импортировать несколько шаблонов таким образом.
Рекомендуется использовать XML-структуру, соответствующую структуре вашего сервера Zabbix.
Можно импортировать произвольную XML-структуру, если она валидна, но результаты могут быть непредсказуемыми при последующих запусках.
Исключительно с template_name и template_json.
timeout
целое число
Значение по умолчанию:
10
Время ожидания запроса API (секунды).
validate_certs
булево
    Варианты:
  • нет
  • да ←
Если установлено в значение False, сертификаты SSL не будут проверены. Это следует использовать только на сайтах, контролируемых лично, с использованием самозаверенных сертификатов.

Примечания

Примечание

  • Если используется login_password=zabbix, слово «zabbix» заменяется на «****» во всех выходных данных модуля, так как login_password использует no_log. См. эту страницу FAQ для получения дополнительной информации.

Примеры

---
- name: Create a new Zabbix template linked to groups, macros and templates
  local_action:
    module: community.zabbix.zabbix_template
    server_url: http://127.0.0.1
    login_user: username
    login_password: password
    template_name: ExampleHost
    template_groups:
      - Role
      - Role2
    link_templates:
      - Example template1
      - Example template2
    macros:
      - macro: '{$EXAMPLE_MACRO1}'
        value: 30000
      - macro: '{$EXAMPLE_MACRO2}'
        value: 3
      - macro: '{$EXAMPLE_MACRO3}'
        value: 'Example'
    state: present

- name: Unlink and clear templates from the existing Zabbix template
  local_action:
    module: community.zabbix.zabbix_template
    server_url: http://127.0.0.1
    login_user: username
    login_password: password
    template_name: ExampleHost
    clear_templates:
      - Example template3
      - Example template4
    state: present

- name: Import Zabbix templates from JSON
  local_action:
    module: community.zabbix.zabbix_template
    server_url: http://127.0.0.1
    login_user: username
    login_password: password
    template_json: "{{ lookup('file', 'zabbix_apache2.json') }}"
    state: present

- name: Import Zabbix templates from XML
  local_action:
    module: community.zabbix.zabbix_template
    server_url: http://127.0.0.1
    login_user: username
    login_password: password
    template_xml: "{{ lookup('file', 'zabbix_apache2.json') }}"
    state: present

- name: Import Zabbix template from Ansible dict variable
  community.zabbix.zabbix_template:
    login_user: username
    login_password: password
    server_url: http://127.0.0.1
    template_json:
      zabbix_export:
        version: '3.2'
        templates:
          - name: Template for Testing
            description: 'Testing template import'
            template: Test Template
            groups:
              - name: Templates
            applications:
              - name: Test Application
    state: present

- name: Configure macros on the existing Zabbix template
  local_action:
    module: community.zabbix.zabbix_template
    server_url: http://127.0.0.1
    login_user: username
    login_password: password
    template_name: Template
    macros:
      - macro: '{$TEST_MACRO}'
        value: 'Example'
    state: present

- name: Delete Zabbix template
  local_action:
    module: community.zabbix.zabbix_template
    server_url: http://127.0.0.1
    login_user: username
    login_password: password
    template_name: Template
    state: absent

- name: Dump Zabbix template as JSON
  local_action:
    module: community.zabbix.zabbix_template
    server_url: http://127.0.0.1
    login_user: username
    login_password: password
    template_name: Template
    omit_date: yes
    state: dump
  register: template_dump

- name: Dump Zabbix template as XML
  local_action:
    module: community.zabbix.zabbix_template
    server_url: http://127.0.0.1
    login_user: username
    login_password: password
    template_name: Template
    dump_format: xml
    omit_date: false
    state: dump
  register: template_dump

Возвращаемые значения

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

Ключ Возвращаемое значение Описание
template_json
строка
при состоянии dump и omit_date нет
JSON-экспорт шаблона

Пример:
{'zabbix_export': {'date': '2017-11-29T16:37:24Z', 'groups': [{'name': 'Шаблоны'}], 'templates': [{'applications': [], 'description': '', 'discovery_rules': [], 'groups': [{'name': 'Шаблоны'}], 'httptests': [], 'items': [], 'macros': [], 'name': 'Шаблон Теста', 'screens': [], 'template': 'test', 'templates': []}], 'version': '3.2'}}
template_xml
строка
при состоянии dump, dump_format xml и omit_date да
Экспорт шаблона в XML-формате

Пример:
<?xml version="1.0" ?> <zabbix_export> <version>4.2</version> <groups> <group> <name>Шаблоны</name> </group> </groups> <templates> <template> <template>test</template> <name>Шаблон Теста</name> <description/> <groups> <group> <name>Шаблоны</name> </group> </groups> <applications/> <items/> <discovery_rules/> <httptests/> <macros/> <templates/> <screens/> <tags/> </template> </templates> </zabbix_export>


Авторы

  • sookido (@sookido)
  • Logan Vig (@logan2211)
  • Dusan Matejka (@D3DeFi)

© 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_template_module.html

Spec-Zone.ru

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