Alarms¶
Info¶
Alarms bind alerting rules, entities, and notification plans into a logical unit. Alarms are responsible for determining a state (OK, WARNING or CRITICAL) based on the result of a Check, and executing a notification plan whenever that state changes. You create alerting rules by using the alarm DSL. For information about using the alarm language, refer to the reference documentation.
Setup¶
Alarms are sub-resources of Entities:
$alarmId = 'alAAAA';
$alarm = $check->getAlarm();
For more information about working with Checks, please see the appropriate documentation.
Attributes¶
Name | Description | Required? | Method |
---|---|---|---|
check_id | The ID of the check to alert on. | Required | getCheckId() |
notification_plan_id | The ID of the notification plan to execute when the state changes. | Optional | getNotificationPlanId() |
criteria | The alarm DSL for describing alerting conditions and their output states. | Optional | getCriteria() |
disabled | Disable processing and alerts on this alarm | Optional | isDisabled() <bool> |
label | A friendly label for an alarm. | Optional | getLabel() |
metadata | Arbitrary key/value pairs. | Optional | getMetadata() |
Create Alarm¶
$alarm->create(array(
'check_id' => 'chAAAA',
'criteria' => 'if (metric["duration"] >= 2) { return new AlarmStatus(OK); } return new AlarmStatus(CRITICAL);',
'notification_plan_id' => 'npAAAAA'
));
List Alarms¶
$alarms = $entity->getAlarms();
foreach ($alarms as $alarm) {
echo $alarm->getId();
}
Update and delete Alarm¶
// Update
$alarm->update(array(
'criteria' => 'if (metric["duration"] >= 5) { return new AlarmStatus(OK); } return new AlarmStatus(CRITICAL);'
));
// Delete
$alarm->delete();