本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
注意
本节仅适用于经典警报。有关更多信息,请参阅 Grafana Alerting。
使用首选项 API 获取有关经典控制面板警报及其状态的信息。但是,不能使用此 API 来修改警报。要创建新警报或修改警报,您需要更新包含警报的控制面板 JSON。
注意
要对 Amazon Managed Grafana 工作区使用 Grafana API,您必须拥有有效的 Grafana API 令牌。您可以将其包含在 API 请求的 Authorization
字段中。有关如何创建令牌对 API 调用进行身份验证的信息,请参阅 使用令牌进行身份验证。
获取警报
GET /api/alerts
示例请求
GET /api/alerts HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
Querystring 参数:
这些参数用作 querystring 参数。例如:/api/alerts?dashboardId=1
-
dashboardId:限制对指定控制面板值中的警报的响应。您可以指定多个控制面板。例如,
dashboardId=23&dashboardId=35
-
panelId:限制对控制面板上指定面板的警报的响应。
-
query:限制对其名称类似于此值的警报的响应。
-
state:返回具有以下一种或多种警报状态的警报:
ALL
、alerting
、ok
、no_data
、paused
或pending
。要指定多个状态,请使用以下格式:?state=paused&state=alerting
-
限制:将响应限制为 X 个警报。
-
folderId:限制对指定文件夹中控制面板警报的响应。您可以指定多个文件夹。例如,
folderId=23&folderId=35
-
dashboardQuery:限制对控制面板名称类似于此值的警报的响应。
-
dashboardTag:限制带有指定标签的控制面板的响应警报。要对多个标签进行 "AND" 筛选,请多次指定标签参数。例如,
dashboardTag=tag1&dashboardTag=tag2
。请注意,这些是 Grafana 标签,而不是标签。 AWS
响应示例
HTTP/1.1 200
Content-Type: application/json
[
{
"id": 1,
"dashboardId": 1,
"dashboardUId": "ABcdEFghij"
"dashboardSlug": "sensors",
"panelId": 1,
"name": "fire place sensor",
"state": "alerting",
"newStateDate": "2018-05-14T05:55:20+02:00",
"evalDate": "0001-01-01T00:00:00Z",
"evalData": null,
"executionError": "",
"url": "http://grafana.com/dashboard/db/sensors"
}
]
按 ID 获取警报
GET /api/alerts/:id
示例请求
GET /api/alerts/1 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
响应示例
HTTP/1.1 200
Content-Type: application/json
{
"id": 1,
"dashboardId": 1,
"dashboardUId": "ABcdEFghij"
"dashboardSlug": "sensors",
"panelId": 1,
"name": "fire place sensor",
"state": "alerting",
"message": "Someone is trying to break in through the fire place",
"newStateDate": "2018-05-14T05:55:20+02:00",
"evalDate": "0001-01-01T00:00:00Z",
"evalData": "evalMatches": [
{
"metric": "movement",
"tags": {
"name": "fireplace_chimney"
},
"value": 98.765
}
],
"executionError": "",
"url": "http://grafana.com/dashboard/db/sensors"
}
重要
当且仅当警报状态发生变化时,evalMatches
数据才会缓存到数据库中。如果来自一台服务器的数据首先触发警报,而在看到该服务器离开警报状态之前,另一台服务器也进入了触发警报的状态,则第二台服务器在 evalMatches
数据中将不可见。
按 ID 暂停警报
POST /api/alerts/:id/pause
示例请求
POST /api/alerts/1/pause HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
{
"paused": true
}
:id
查询参数是要暂停或取消暂停的警报的 ID。paused
为 true
时将暂停警报,为 false
时将取消暂停警报。
响应示例
HTTP/1.1 200
Content-Type: application/json
{
"alertId": 1,
"state": "Paused",
"message": "alert paused"
}