Передача аварийных сообщений в сторонние сервисы
Для передачи аварийных сообщений в системы верхнего уровня необходимо выполнить следующие действия:
-
Включить функционал генерации аварий в разделе Server конфигурационного файла сервера
/etc/saymon/saymon-server.conf
и там же указать путь к скрипту, который будет отправлять данные:"server" : { "conditional_incidents_enabled" : true, "conditional_incidents_script": "/home/saymon/scripts/send_incident.sh", ... }
-
Добавить в MongoDB триггеры по авариям для классов или отдельных объектов:
mongo saymon db.incidentTriggers.insert({ "ownerId" : 1042, "ownerType" : 4, "body" : [ { "type" : "conditional_incidents_script", "payload" : { }, "states" : [ 1,2,4] } ] })
где:
-
ownerId - идентификатор сущности, к которой добавляется триггер;
-
ownerType - тип сущности, для которой добавляется триггер (4 - класс, 1 - объект);
-
states - уровень критичности аварий, при которых запускается триггер.
-
В указанном выше примере скрипт триггера будет вызываться при возникновении аварии любой критичности у объектов класса 1042.
В скрипт передаётся два аргумента:
-
$1 - тело аварии,
-
$2 - свойства объекта, к которому относится авария.