Передача аварийных сообщений в сторонние сервисы

Для передачи аварийных сообщений в системы верхнего уровня необходимо выполнить следующие действия:

  1. Включить функционал генерации аварий в разделе Server конфигурационного файла сервера /etc/saymon/saymon-server.conf и там же указать путь к скрипту, который будет отправлять данные:

    "server" : {
        "conditional_incidents_enabled" : true,
        "conditional_incidents_script": "/home/saymon/scripts/send_incident.sh",
        ...
    }
  2. Добавить в 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 - свойства объекта, к которому относится авария.