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
После выполнения настройки при возникновении инцидентов в телеграм поступают сообщения от бота.