Spec-Zone.ru › Ansible

Модуль community.zabbix.zabbix_httptest — создание и удаление HTTP-тестов Zabbix (веб-сценариев)

Примечание

Этот модуль входит в коллекцию community.zabbix (версия 4.2.0).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.

Чтобы установить её, используйте: ansible-galaxy collection install community.zabbix. Для использования этого модуля необходимы дополнительные требования; подробности см. в разделе Требования.

Чтобы использовать модуль в плейбуке, укажите: community.zabbix.zabbix_httptest.

  • Краткое описание
  • Требования
  • Параметры
  • Примеры

Краткое описание

  • Создание HTTP-тестов, если они ещё не существуют.
  • Удаление существующих HTTP-тестов, если они есть.

Требования

На узле, выполняющем этот модуль, должны быть установлены следующие компоненты.

  • python >= 3.9

Параметры

Параметр

Описание

host_name

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

Имя узла, для которого нужно добавить HTTP-тест.

http_login_password

string

Пароль для базовой аутентификации

http_login_user

string

Имя пользователя для базовой аутентификации

name

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

Имя HTTP-теста, который нужно создать или удалить.

params

dictionary

Параметры для создания или обновления HTTP-теста.

Обязателен, если state имеет значение “present”.

Параметры, описанные по адресу https://www.zabbix.com/documentation/current/en/manual/api/reference/httptest/object

Кроме того, поддерживаются следующие параметры.

agent

string

Строка User-Agent, используемая HTTP-тестом.

attempts

integer

Количество попыток до признания HTTP-теста неудачным

Псевдоним параметра “retries” в документации API

authentication

string

Метод HTTP-аутентификации, используемый HTTP-тестом.

Варианты:

  • "none"
  • "basic"
  • "ntlm"

enabled

boolean

Состояние HTTP-теста.

Переопределяет параметр “status” в документации API.

Варианты:

  • false
  • true

headers

list / elements=dictionary

HTTP-заголовки, используемые при выполнении HTTP-теста.

Переопределяются заголовками steps.

name

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

Имя поля заголовка.

value

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

Значение поля заголовка.

http_proxy

string

HTTP(S)-прокси, используемый HTTP-тестом

interval

string

Интервал обновления HTTP-теста.

Псевдоним параметра “delay” в документации API.

new_name

string

Новое имя HTTP-теста

password

string

Пароль для аутентификации на узле.

Используется, если authentication — одно из значений basic или ntlm

Псевдоним параметра “http_password” в документации API.

ssl_cert_file

string

Путь к файлу открытого ключа SSL для аутентификации клиента.

ssl_key_file

string

Путь к файлу закрытого ключа SSL для аутентификации клиента.

ssl_key_password

string

Пароль файла закрытого ключа SSL.

status

string

Состояние HTTP-теста.

Варианты:

  • "enabled"
  • "disabled"

steps

list / elements=dictionary

Шаги сценария HTTP-теста

Обязателен, если state имеет значение “present” и создаётся HTTP-тест.

follow_redirects

boolean

Следовать ли HTTP-перенаправлениям.

Варианты:

  • false
  • true

headers

list / elements=dictionary

HTTP-заголовки, используемые при выполнении шага сценария.

Переопределяют заголовки params.

name

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

Имя поля заголовка.

value

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

Значение поля заголовка.

name

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

Имя шага сценария.

posts

list / elements=dictionary

Переменные POST для шага сценария.

name

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

Имя поля POST.

value

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

Значение поля POST.

query_field

list / elements=dictionary

Поля запроса, используемые при выполнении шага сценария.

name

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

Имя поля запроса.

value

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

Значение поля запроса.

required

string

Текст, который должен присутствовать в ответе.

retrieve_mode

string

Часть HTTP-ответа, которую должен получить шаг сценария.

Варианты:

  • "only_body"
  • "only_headers"
  • "headers_and_body"

status_codes

list / elements=integer

Ожидаемый код состояния ответа.

timeout

string

Тайм-аут запроса для шага сценария.

url

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

URL для проверки.

variables

list / elements=dictionary

Переменные, используемые при выполнении шага сценария.

Переопределяют переменные params.

name

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

Имя поля переменной.

value

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

Значение поля переменной.

tags

list / elements=dictionary

Теги HTTP-теста.

tag

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

Имя тега HTTP-теста.

value

string

Значение тега HTTP-теста.

username

string

Имя пользователя для аутентификации на узле.

Используется, если authentication — одно из значений basic или ntlm

Псевдоним параметра “http_user” в документации API.

variables

list / elements=dictionary

Переменные HTTP-теста.

Переопределяются переменными steps.

name

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

Имя поля переменной.

value

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

Значение поля переменной.

verify_host

boolean

Должен ли HTTP-тест проверять имя узла.

Варианты:

  • false
  • true

verify_peer

boolean

Должен ли HTTP-тест проверять сертификат узла.

Варианты:

  • false
  • true

state

string

Создать или удалить HTTP-тест.

Варианты:

  • "present" ← (по умолчанию)
  • "absent"

Примеры

# If you want to use Username and Password to be authenticated by Zabbix Server
- name: Set credentials to access Zabbix Server API
  ansible.builtin.set_fact:
    ansible_user: Admin
    ansible_httpapi_pass: zabbix

# If you want to use API token to be authenticated by Zabbix Server
# https://www.zabbix.com/documentation/current/en/manual/web_interface/frontend_sections/administration/general#api-tokens
- name: Set API token
  ansible.builtin.set_fact:
    ansible_zabbix_auth_key: 8ec0d52432c15c91fcafe9888500cf9a607f44091ab554dbee860f6b44fac895

# Create a web scenario on example_host
- name: create httptest
  # set task level variables as we change ansible_connection plugin here
  vars:
    ansible_network_os: community.zabbix.zabbix
    ansible_connection: httpapi
    ansible_httpapi_port: 443
    ansible_httpapi_use_ssl: true
    ansible_httpapi_validate_certs: false
    ansible_zabbix_url_path: 'zabbixeu'  # If Zabbix WebUI runs on non-default (zabbix) path ,e.g. http://<FQDN>/zabbixeu
    ansible_host: zabbix-example-fqdn.org
  community.zabbix.zabbix_httptest:
    name: example_host_website
    host_name: example_host
    params:
      steps:
        - name: Test
          url: https://zabbix-example-fqdn.org
          status_code: [200]
      interval: 1h
      enabled: True
    state: present

# Change interval for existing Zabbix web scenario
- name: update rule
  # set task level variables as we change ansible_connection plugin here
  vars:
    ansible_network_os: community.zabbix.zabbix
    ansible_connection: httpapi
    ansible_httpapi_port: 443
    ansible_httpapi_use_ssl: true
    ansible_httpapi_validate_certs: false
    ansible_zabbix_url_path: 'zabbixeu'  # If Zabbix WebUI runs on non-default (zabbix) path ,e.g. http://<FQDN>/zabbixeu
    ansible_host: zabbix-example-fqdn.org
  community.zabbix.zabbix_discoveryrule:
    name: example_host_website
    host_name: example_host
    params:
      interval: 2h
    state: present

# Delete web scenario
- name: delete rule
  # set task level variables as we change ansible_connection plugin here
  vars:
    ansible_network_os: community.zabbix.zabbix
    ansible_connection: httpapi
    ansible_httpapi_port: 443
    ansible_httpapi_use_ssl: true
    ansible_httpapi_validate_certs: false
    ansible_zabbix_url_path: 'zabbixeu'  # If Zabbix WebUI runs on non-default (zabbix) path ,e.g. http://<FQDN>/zabbixeu
    ansible_host: zabbix-example-fqdn.org
  community.zabbix.zabbix_discoveryrule:
    name: example_host_website
    host_name: example_host
    state: absent

- name: Rename Zabbix web scenario
  # set task level variables as we change ansible_connection plugin here
  vars:
    ansible_network_os: community.zabbix.zabbix
    ansible_connection: httpapi
    ansible_httpapi_port: 443
    ansible_httpapi_use_ssl: true
    ansible_httpapi_validate_certs: false
    ansible_zabbix_url_path: "zabbixeu"  # If Zabbix WebUI runs on non-default (zabbix) path ,e.g. http://<FQDN>/zabbixeu
    ansible_host: zabbix-example-fqdn.org
  community.zabbix.zabbix_discoveryrule:
    name: example_host_website
    host_name: example_host
    params:
      new_name: new_example_host_website
    state: present

Авторы

  • Trystan Mata (@tytan652)

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

  • Отслеживание проблем
  • Домашняя страница
  • Репозиторий (исходный код)

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

Spec-Zone.ru

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