HTTP Probe
Общие сведения
Название плагина: httpProbe
Ссылка для загрузки плагина: скачать
Описание:
Данный плагин предназначен для регулярного получения информации о доступности API или любого другого ресурса по протоколу HTTP(S).
Формат сценария плагина HTTP Probe
name: HTTP Probe
jobs:
- name: HTTP Request
steps:
- plugin: httpProbe
with:
url: {url}
labels:
{label_name}: {label_value}
successConfig:
timeout: 1.0
responseCodes:
- 200
method: {GET | POST | PUT | DELETE | etc...}
headers:
{header_name}: {header_value}
{header_name}: {header_value}
...
mediaType: {type}
body: "{...}"
basicauth:
login: {login}
password: {password}
port: {port_number}
proxy:
address: {url}
bypasslist:
- {url}
- {url}
...
credentials:
login: {login}
password: {password}
redirects: {true | false}
insecure: {true | false}
queryparams:
{param_name}: {param_value}
{param_name}: {param_value}
outputs:
result: $._outputs.result
artifacts:
- data: $.outputs.result
send-to: monq
type: metrics
Параметры конфигурации плагина
Параметр | Тип | Обязательный | Значение по умолчанию | Описание |
---|---|---|---|---|
url | String | да | нет | URL ресурса, к которому будет выполнятся запрос |
method | String | нет | GET | HTTP метод запроса |
labels | Object | нет | нет | Дополнительные метки, которые будут добавлены к результирующим метрикам |
successConfig | Object | нет | - | Параметры, определяющие факт доступности ресурса |
successConfig.timeout | Float | нет | 1.0 | Время (в секундах), за которое должен быть выполнен запрос, иначе ресурс будет считаться недоступным |
successConfig.responseCodes | String[] | нет | 200 | Список кодов ответа, которые будут считаться успешными при определении доступности ресурса |
headers | Object[] | нет | нет | Список заголовков запроса |
mediaType | String | нет | нет | Тип контента |
body | String | нет | нет | Тело запроса (обязательно в кавычках) |
basicauth | Object | нет | нет | Параметры авторизации Basic Auth |
basicauth.login | String | нет | нет | Логин Basic Auth |
basicauth.password | String | нет | нет | Пароль Basic Auth |
port | Integer | нет | нет | Числовое значение порта сервера, к которому будет обращен запрос |
proxy | Object | нет | нет | Параметры прокси-сервера |
proxy.address | String | нет | нет | URL прокси-сервера, через который будет проходить запрос |
proxy.bypasslist | String | нет | нет | Массив адресов или регулярных выражений, описывающих адресы, при запросах к которым не будет использоваться прокси |
proxy.credentials.login | String | нет | нет | Логин для http-аутентификации на proxy-сервере |
proxy.credentials.password | String | нет | нет | Пароль для http-аутентификации на proxy-сервере |
redirects | Boolean | нет | False | Параметр, позволяющий запросу следовать перенаправлениям |
insecure | Boolean | нет | False | Параметр, позволяющий запросу выполнять небезопасное SSL подключение |
queryparams | Object[] | нет | нет | Список переменных параметров запроса |
-
Параметр
headers
указывается в следующем формате:headers:
Accept: "application/json"
{header_name1}: {header_value1}
{header_name2}: {header_value2}
{header_name3}: {header_value3} -
Параметр
queryparams
указывается в следующем формате:queryparams:
key: my_key
{param_name1}: {param_value1}
{param_name2}: {param_value2}
{param_name3}: {param_value3}💡 Если параметры запроса одновременно указаны в
url
и в качестве параметровqueryparams
в Задании, итоговый запрос будет содержать все параметры
Собираемые метрики
Метрика | Тип | Описание |
---|---|---|
http_probe_status_code | gauge | Возвращает код ответа при выполнении запроса |
http_probe_success | gauge | Метрика доступности ресурса |
http_probe_ssl_info | gauge | Возвращает информацию о TLS сертификате, если используется HTTPS |
http_probe_ssl_expires | gauge | Кол-во секунд до истечения срока действия сертификата |
http_probe_duration_seconds | gauge | Время затраченное на каждый этап установки соединения, в секундах |
http_probe_redirects | gauge | Кол-во перенаправлений (3ХХ) до достижения результата (2хх/4хх/5хх) |
Пример настройки задания для проверки сайта monq.ru
jobs:
- steps:
- plugin: httpProbe
with:
url: "https://monq.ru"
redirects: true
outputs:
result: $._outputs.result
artifacts:
- data: $.outputs.result
send-to: monq
type: metrics
При помощи сбора данных по CMDB можно формировать перечень объектов, для которых будет выполнять задание сборщик. Например, для всех ваших ресурсов настроить один сборщик http-probe, который будет выполняться для всех объектов (КЕ) с типом "Web-ресурс", значение FQDN будет взято из соответствующего атрибута в CMDB. Появляется новый web-ресурс в CMDB - автоматически он становится на мониторинг.