Agent HTTP Plugin
Общие сведения
Плагин httpPlugin
является встроенным модулем в приложение агента Monq.
Agent HTTP Plugin позволяет выполнять HTTP запросы, заданные пользователем в Потоке данных в виде YAML сценария, и в отличии от первой версии поддерживает все методы HTTP запросов.
Во второй версии HTTP плагина, отправка событий (ответ на HTTP запрос) в коллектор Monq осуществляется в виде артефакта и может гибко конфигурироваться в YAML сценарии при помощи передачи результатов между шагами сценария и формирования итоговой модели события.
Актуальную версию агента Monq со встроенным плагином можно загрузить по следующим ссылкам:
Формат сценария HTTP плагина
name: HTTP Request
jobs:
- name: HTTP Request
steps:
- plugin: httpPlugin
with:
url: {url}
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.responseData
artifacts:
- data: '{{ outputs.result }}'
send-to:
api:
uri: "{{ baseUri }}api/public/cl/v1/stream-data"
headers:
x-smon-stream-key: $.vars.stream.key
media-type: application/json
Параметры конфигурации используемые в сценарии
Параметр | Тип | Значение по умолчанию | Описание |
---|---|---|---|
url | String | нет | URL ресурса, к которому будет выполнятся запрос |
method | String | GET | HTTP метод запроса |
streamId | String | нет | Идентификатор текущего потока ($.vars.stream.id ) |
streamKey | String | нет | API ключ текущего потока ($.vars.stream.key ) |
headers | list[] | нет | Список заголовков запроса |
mediaType | String | нет | Тип контента |
body | String | нет | Тело запроса (обязательно в кавычках) |
basicauth: login | String | нет | Логин Basic Auth |
basicauth: password | String | нет | Пароль Basic Auth |
port | Integer | нет | Числовое значение порта сервера, к которому будет обращен запрос |
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 | list[] | нет | Список переменных параметров запроса |
- url - URL ресурса, к которому будет выполнятся запрос
- method - HTTP метод запроса
- streamId - Идентификатор текущего потока (
$.vars.stream.id
) - streamKey - API ключ текущего потока (
$.vars.stream.key
)
-
Параметр
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
в Задании, итоговый запрос будет содержать все параметры