Перейти к основному содержимому
Версия: 9.0

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

Параметры конфигурации плагина

ПараметрТипОбязательныйЗначение по умолчаниюОписание
urlStringданетURL ресурса, к которому будет выполнятся запрос
methodStringнетGETHTTP метод запроса
labelsObjectнетнетДополнительные метки, которые будут добавлены к результирующим метрикам
successConfigObjectнет-Параметры, определяющие факт доступности ресурса
successConfig.timeoutFloatнет1.0Время (в секундах), за которое должен быть выполнен запрос, иначе ресурс будет считаться недоступным
successConfig.responseCodesString[]нет200Список кодов ответа, которые будут считаться успешными при определении доступности ресурса
headersObject[]нетнетСписок заголовков запроса
mediaTypeStringнетнетТип контента
bodyStringнетнетТело запроса (обязательно в кавычках)
basicauthObjectнетнетПараметры авторизации Basic Auth
basicauth.loginStringнетнетЛогин Basic Auth
basicauth.passwordStringнетнетПароль Basic Auth
portIntegerнетнетЧисловое значение порта сервера, к которому будет обращен запрос
proxyObjectнетнетПараметры прокси-сервера
proxy.addressStringнетнетURL прокси-сервера, через который будет проходить запрос
proxy.bypasslistStringнетнетМассив адресов или регулярных выражений, описывающих адресы, при запросах к которым не будет использоваться прокси
proxy.credentials.loginStringнетнетЛогин для http-аутентификации на proxy-сервере
proxy.credentials.passwordStringнетнетПароль для http-аутентификации на proxy-сервере
redirectsBooleanнетFalseПараметр, позволяющий запросу следовать перенаправлениям
insecureBooleanнетFalseПараметр, позволяющий запросу выполнять небезопасное SSL подключение
queryparamsObject[]нетнетСписок переменных параметров запроса
  • Параметр 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_codegaugeВозвращает код ответа при выполнении запроса
http_probe_successgaugeМетрика доступности ресурса
http_probe_ssl_infogaugeВозвращает информацию о TLS сертификате, если используется HTTPS
http_probe_ssl_expiresgaugeКол-во секунд до истечения срока действия сертификата
http_probe_duration_secondsgaugeВремя затраченное на каждый этап установки соединения, в секундах
http_probe_redirectsgaugeКол-во перенаправлений (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 - автоматически он становится на мониторинг.