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

Webhook

Веб-перехватчики позволяют отправлять уведомления об инцидентах во внешние системы посредством HTTP-запросов. В конфигурационном файле используется блок webhook, в элементах которого можно указывать следующие параметры:

  • url - URL, по которому делается запрос
  • method - HTTP-метод запроса
  • content-type - значение заголовка Content-Type

Пример для уведомлений по телеграм

Задаем конфигурацию для транспорта:

webhook:
name: telegram
url: https://api.telegram.org/bot[INSERT_TOKEN]/sendMessage
disable: true
method: POST
content-type: application/json
cel-filter: ""
client:
tls:
TrustedCA: /var/lib/echelon/komrad/certs/ca.pem
Cert: /var/lib/echelon/komrad/certs/client.pem
CertKey: /var/lib/echelon/komrad/certs/client-key.pem
ServerName: ""
disable: true
system-pool: true
timeout: 30s
подсказка

Пример записи url для передачи уведомлений в telegram:

url: https://api.telegram.org/bot7545004198:AAHfmcKji5f5acxnnCJh2fIhsu0iWZPFv_o/sendMessage

После настройки файла komrad-server.yaml необходимо перезагрузить службу komrad-server с помощью команды:

sudo systemctl restart komrad-server

Необходимо создать бота в телеграм через BotFather

Полученный токен подставляем в URL вместо [INSERT_TOKEN] (и получаем сообщение

После этого необходимо начать диалог с созданным ботом.

Последним шагом будет получение собственного ID в телеграм - для этого можно использовать ботов типа getmyid_bot. Полученный id вставляем в шаблон в поле chat_id, для чего необходимо перейти к редактированию шаблона сообщения в разделе Администрирование ⇒ Уведомления ⇒ шаблон настраиваемого сообщения, чтобы получить шаблон вида:

{"chat_id":"chatID-вашего telegram","text":"Зарегистрирован инцидент №{{ incident.ID }} по директиве {{directive}} (ID={{incident.DirectiveID}})."}
подсказка

В поле chat_id необходимо вставить свой уникальный ID

После выполнения настройки при возникновении инцидентов в телеграм поступают сообщения от бота.