本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
提醒 API
注意
本节仅适用于经典警报。有关更多信息,请参阅 Grafana 警报。
使用偏好设置 API 获取有关经典仪表板警报及其状态的信息。但是,您不能使用此 API 修改提醒。要创建新警报或修改警报,您需要更新包含警报的仪表板 JSON。
注意
要在亚马逊托管 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
查询字符串参数:
这些参数用作查询字符串参数。例如:/api/alerts?dashboardId=1
-
DashboarD id — 限制对指定仪表板值中的警报的响应。您可以指定多个仪表板。例如,
dashboardId=23&dashboardId=35
-
P@@ anelID-将响应限制为仪表板上指定面板的警报。
-
query-将响应限制为名称类似于此值的警报。
-
state-返回具有以下一种或多种警报@@ 状态的警报:
ALL
alerting
、ok
、no_data
、paused
、或pending
。要指定多个状态,请使用以下格式:?state=paused&state=alerting
-
限制-将响应限制为 X 个警报。
-
folderId-限制对指定文件夹中仪表板警报的响应。您可以指定多个文件夹。例如,
folderId=23&folderId=35
-
DashboardQuery — 限制对仪表板名称类似于此值的警报的响应。
-
DashboardTag-限制带有指定标签的仪表板的响应警报。要对多个标签进行 “AND” 筛选,请多次指定 tags 参数。例如,
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" }