Модуль 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-тестом. Варианты:
|
|
enabled boolean |
Состояние HTTP-теста. Переопределяет параметр “status” в документации API. Варианты:
|
|
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 |
Пароль для аутентификации на узле. Используется, если Псевдоним параметра “http_password” в документации API. |
|
ssl_cert_file string |
Путь к файлу открытого ключа SSL для аутентификации клиента. |
|
ssl_key_file string |
Путь к файлу закрытого ключа SSL для аутентификации клиента. |
|
ssl_key_password string |
Пароль файла закрытого ключа SSL. |
|
status string |
Состояние HTTP-теста. Варианты:
|
|
steps list / elements=dictionary |
Шаги сценария HTTP-теста Обязателен, если state имеет значение “present” и создаётся HTTP-тест. |
|
follow_redirects boolean |
Следовать ли HTTP-перенаправлениям. Варианты:
|
|
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-ответа, которую должен получить шаг сценария. Варианты:
|
|
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 |
Имя пользователя для аутентификации на узле. Используется, если Псевдоним параметра “http_user” в документации API. |
|
variables list / elements=dictionary |
Переменные HTTP-теста. Переопределяются переменными steps. |
|
name string / обязательный |
Имя поля переменной. |
|
value string / обязательный |
Значение поля переменной. |
|
verify_host boolean |
Должен ли HTTP-тест проверять имя узла. Варианты:
|
|
verify_peer boolean |
Должен ли HTTP-тест проверять сертификат узла. Варианты:
|
state string | Создать или удалить HTTP-тест. Варианты:
|
Примеры
# 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
Ссылки на коллекцию
© 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