Webhook
Теперь есть новый вид транспорта - webhook, который позволяет делать HTTP-запросы в качестве уведомления. Этому виду соответствует новый блок для транспорта в конфиге - webhook, в элементах которого можно указывать следующие параметры:
url
- URL, по которому делается запросmethod
- HTTP-метод запросаcontent-type
- значение заголовка Content-Typebody-template
- шаблон тела запроса (аналогично шаблону в smtp транспорте)
Пример для уведомлений по телеграм
Задаем конфигурацию для транспорта:
webhook:
name: telegram
url: https://api.telegram.org/bot[INSERT_TOKEN]/sendMessage
disable: true
method: POST
content-type: application/json
cel-filter: ""
body-template: "{\"chat_id\":\"insert user id\",\"text\":\"Зарегистрирован инцидент №{{ incident.ID }} по директиве \\\"{{ directive }}\\\" (ID={{ incident.DirectiveID }}).\"}"
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, для чего необходимо перейти к релактированию шаблона сообщения в разделе Алминистрирование ⇒ Уведомления ⇒ шаблон настраиваемого сообщения, чтобы получить шаблон вида:
body-template: |
{
"chat_id": 1960753620,
"text": "Зарегистрирован инцидент №{{ incident.ID }} по директиве {{directive}} (ID={{incident.DirectiveID}})."
}*
В поле chat_id
необходимо вставить свой уникальный ID
Теперь при инцидентах в телеграм должны приходить сообщения от бота