Aller au contenu

Alarmes

Structure

Voici la structure d'une alarme.

{
"_id" :                         // alarm ID, generated by Canopsis
"t" :                           // creation date UNIX timestamp
"d" :                           // entity ID related to the alarm
"v" : {
    "state" : {
        "_t" :                  // current state
        "t" :                   // latest state change date as a UNIX timestamp
        "a" :                   // latest state change author
        "m" :                   // latest state change output
        "val" :                 // current state value
    },
    "status" : {
        "_t" :                  // current status value
        "t" :                   // latest status change date as a UNIX timestamp
        "a" :                   // latest status change author
        "m" :                   // latest status change output
        "val" :                 // current status value
    },
    "steps" : [                 // alarm history
        {
          ...
        }
    ],
    "component" :               // component name
    "connector" :               // connector type
    "connector_name" :          // connector identifier
    "creation_date" :           // alarm creation date as a UNIX timestamp
    "display_name" :            // randomly generated string
    "initial_output" :          // output value on alarm creation
    "output" :                  // current output
    "initial_long_output" :     // long output value on alarm creation
    "long_output" :             // current long output
    "long_output_history" : [   // history of values for the long output
        ...
    ],
    "last_update_date" :        // latest update date as a UNIX timestamp
    "last_event_date" :         // latest event date as a UNIX timestamp
    "tags" : [],
    "total_state_changes" :     // number of times the alarm state changed
    "extra" : {},               // extra datas added with external scripts, e.g `activation_date`
    "infos" : {}                // extra infos added with engine-dynamic-infos
}
}

En complément d'information, consulter la page Format des temps des alarmes.

Collection MongoDB

Les alarmes sont stockées dans les collections suivantes de la base de données MongoDB de Canopsis :

  • periodical_alarm
  • resolved_alarms

Elles sont évincées automatiquement par les paramètres de la politique de stockage, le cas échéant. Cette éviction comporte deux étapes :

  1. Collection archived_alarms

    Les alarmes résolues sont déplacées de resolved_alarms vers archived_alarms après un délai configurable.

    La collection archived_alarms est une collection « morte », dans le sens où aucune vue ou fonctionnalité de l'API Canopsis ne va explorer cette collection ; le seul but est que les administrateurs puissent accéder à ces données archivées en cas de besoin, dans MongoDB.

  2. Suppression définitive

    Les alarmes présentes dans l'archive sont définitivement supprimées de la base de données après un autre délai configurable.