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. AppFormix 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.
Table 1: Object String Values
Value | Description |
---|---|
severity | Level of severity (critical, error, warning, information, none). |
metricType | Measured value for hosts and instances. See Metrics. |
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 three types (instance, host, service). |
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" } } |