Notifications
Alarms defines a policy that applies to a set of entities that are monitored, such as virtual machines in a project. A notification is generated when the condition of an alarm is observed for a given entity.
You can configure an alarm to post notifications to an external HTTP endpoint. Contrail Insights will post a JSON payload to the endpoint for each notification. The schema of the payload is as follows:
The string
and 0
are generic placeholders to indicate type of value;
string and number, respectively.
{ "apiVersion": "v1", "kind": "Alarm", "spec": { "name": "string", "eventRuleId": "string", "severity": "string", "metricType": "string", "mode": "string", "module": "string", "aggregationFunction": "string", "comparisonFunction": "string", "threshold": 0, "intervalDuration": 0, "intervalCount": 0, "intervalsWithException": 0 }, "status": { "timestamp": 0, "state": "string", "entityType": "string", "entityId": "string", "entityDetails": {} } }
The spec
object describes the alarm
configuration for which this notification is generated. The status
object describes the temporal event information
for this particular notification, such as the time when the condition
was observed and the entity on which the condition was observed. Table 1 describes the object string values.
Value |
Description |
---|---|
severity |
Level of severity (critical, error, warning, information, none). |
metricType |
Measured value for hosts, instances and network devices. See Metrics Collected by Contrail Insights. |
mode |
One of two modes (alert, event). |
module |
The Analytics modules that generated the alarm (alarms, health/risk, service_alarms). |
state |
State of the alarm. For alert mode alarms, valid values are active, inactive, learning. For event mode alarms, the state is always triggered. |
threshold |
Units of threshold correspond to metricType. |
entityType |
One of instance, host, service, network device. |
entityId |
UUID of the entity. |
entityDetails |
Supplemental details about an entity. The contents of this object depend on the entityType. For a host or service, the object is empty. For an instance, the object contains hostId and projectId. { "entityDetails": { "hostId": "uuid", "projectId": "uuid" } } |