The monitoring service keeps a record of notifications sent for each alarm. This history is further subdivided by the check on which the notification occurred. Every attempt to send a notification is recorded, making this history a valuable tool in diagnosing issues with unreceived notifications, in addition to offering a means of viewing the history of an alarm’s statuses.
Alarm notification history is accessible as a time series collection. When accessing a time series collection, two parameters beyond the base paginated collection API are available: from and to. For details, see Time Series Collection.
By default alarm notification history is stored for 30 days and the API queries the last 7 days of information.
Use the following alarms notification history API operations to view the notification history for alarms and checks.
- List alarm notification history
- List alarm notification history by check ID
- List a single alarm notification
List alarm notification history
GET /entities/{entityId}/alarms/{alarmId}/notification_history
Lists alarm notification history for a given alarm.
The following table shows the possible response codes for this operation:
Response Code | Name | Description |
---|---|---|
200 | OK | Request completed. |
401 | Unauthorized | The system received a request from a user that is not authenticated. |
403 | Forbidden | The system received a request that the user is not authorized to make. |
500 | Internal Server Error | An unexpected condition was encountered. |
503 | Service Unavailable | The system is experiencing heavy load or another system failure. |
The following table shows the header parameters for the request:
Name | Type | Description |
---|---|---|
X-Auth-Token | String (Required) | A valid authentication token with administrative access. For details, see Get your credentials |
Note
This operation does not accept a request body.
Example List alarm notification history: JSON response
{
"check_ids": [
"chOne",
"chTwo"
]
}
List alarm notification history by check ID
GET /entities/{entityId}/alarms/{alarmId}/notification_history/{checkId}
Lists alarm notification history for a given alarm and check.
This operation can be paginated. For information, see Paginated collections .
The following table shows the possible response codes for this operation:
Response Code | Name | Description |
---|---|---|
200 | OK | The request completed. |
401 | Unauthorized | The system received a request from a user that is not authenticated. |
403 | Forbidden | The system received a request that the user is not authorized to make. |
500 | Internal Server Error | An unexpected condition was encountered. |
503 | Service Unavailable | The system is experiencing heavy load or another system failure. |
The following table shows the header parameters for the request:
Name | Type | Description |
---|---|---|
X-Auth-Token | String (Required) | A valid authentication token with administrative access. For details, see Get your credentials |
Note
This operation does not accept a request body.
Example List alarm notification history by check ID: JSON response
{
"values": [
{
"id": "646ac7b0-0b34-11e1-a0a1-0ff89fa2fa26",
"timestamp": 1320885544875,
"notification_plan_id": "npOne",
"transaction_id": "sometransaction",
"status": "matched return statement on line 6",
"state": "WARNING",
"previous_state": "OK",
"notification_results": [
{
"notification_id": "ntOne",
"notification_type": "webhook",
"notification_details": {
"url": "http://admin.example.com/notify/"
},
"in_progress": false,
"message": "Success: Webhook successfully executed",
"success": true,
"attempts": [
{
"message": "ECONNREFUSED, Connection refused",
"from": "ele"
},
{
"message": "Unexpected status code \"404\". Expected one of: /2[0-9]{2}/",
"from": "ele"
},
{
"message": "Success: Webhook successfully executed",
"from": "ele"
}
]
},
{
"notification_id": "ntFive",
"notification_type": "webhook",
"notification_details": {
"url": "https://down.example.com/notify/"
},
"in_progress": false,
"success": false,
"attempts": [
{
"message": "ECONNREFUSED, Connection refused",
"from": "ele"
},
{
"message": "ECONNREFUSED, Connection refused",
"from": "ele"
},
{
"message": "ECONNREFUSED, Connection refused",
"from": "ele"
},
{
"message": "ECONNREFUSED, Connection refused",
"from": "ele"
},
{
"message": "ECONNREFUSED, Connection refused",
"from": "ele"
},
{
"message": "ECONNREFUSED, Connection refused",
"from": "ele"
},
{
"message": "ECONNREFUSED, Connection refused",
"from": "ele"
},
{
"message": "ECONNREFUSED, Connection refused",
"from": "ele"
},
{
"message": "ECONNREFUSED, Connection refused",
"from": "ele"
},
{
"message": "ECONNREFUSED, Connection refused",
"from": "ele"
}
],
"message": "Notification failed after 10 attempts"
}
]
}
],
"metadata": {
"count": 1,
"limit": 50,
"marker": null,
"next_marker": null,
"next_href": null
}
}
List a single alarm notification
GET /entities/{entityId}/alarms/{alarmId}/notification_history/{checkId}/{uuid}
Lists an alarm notification by UUID.
The following table shows the possible response codes for this operation:
Response Code | Name | Description |
---|---|---|
200 | OK | The request completed. |
401 | Unauthorized | The system received a request from a user that is not authenticated. |
403 | Forbidden | The system received a request that the user is not authorized to make. |
500 | Internal Server Error | An unexpected condition was encountered. |
503 | Service Unavailable | The system is experiencing heavy load or another system failure. |
The following table shows the header parameters for the request:
Name | Type | Description |
---|---|---|
X-Auth-Token | String (Required) | A valid authentication token with administrative access. For details, see Get your credentials |
Note
This operation does not accept a request body.
Example List a single alarm notification: JSON response
{
"id": "646ac7b0-0b34-11e1-a0a1-0ff89fa2fa26",
"timestamp": 1320885544875,
"notification_plan_id": "npOne",
"transaction_id": "sometransaction",
"status": "matched return statement on line 6",
"state": "WARNING",
"previous_state": "OK",
"notification_results": [
{
"notification_id": "ntOne",
"notification_type": "webhook",
"notification_details": {
"url": "http://admin.example.com/notify/"
},
"in_progress": false,
"message": "Success: Webhook successfully executed",
"success": true,
"attempts": [
{
"message": "ECONNREFUSED, Connection refused",
"from": "ele"
},
{
"message": "Unexpected status code \"404\". Expected one of: /2[0-9]{2}/",
"from": "ele"
},
{
"message": "Success: Webhook successfully executed",
"from": "ele"
}
]
},
{
"notification_id": "ntFive",
"notification_type": "webhook",
"notification_details": {
"url": "https://down.example.com/notify/"
},
"in_progress": false,
"success": false,
"attempts": [
{
"message": "ECONNREFUSED, Connection refused",
"from": "ele"
},
{
"message": "ECONNREFUSED, Connection refused",
"from": "ele"
},
{
"message": "ECONNREFUSED, Connection refused",
"from": "ele"
},
{
"message": "ECONNREFUSED, Connection refused",
"from": "ele"
},
{
"message": "ECONNREFUSED, Connection refused",
"from": "ele"
},
{
"message": "ECONNREFUSED, Connection refused",
"from": "ele"
},
{
"message": "ECONNREFUSED, Connection refused",
"from": "ele"
},
{
"message": "ECONNREFUSED, Connection refused",
"from": "ele"
},
{
"message": "ECONNREFUSED, Connection refused",
"from": "ele"
},
{
"message": "ECONNREFUSED, Connection refused",
"from": "ele"
}
],
"message": "Notification failed after 10 attempts"
}
]
}