View a markdown version of this page

警报 API - Amazon Managed Grafana

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

警报 API

注意

本节仅适用于经典警报。有关更多信息,请参阅 Grafana Alerting

使用首选项 API 获取有关经典控制面板警报及其状态的信息。但是,不能使用此 API 来修改警报。要创建新警报或修改警报,您需要更新包含警报的控制面板 JSON。

注意

要在您的亚马逊托管 Grafana 工作空间中使用 Grafana API,您必须拥有有效的服务账户令牌。您可以将其包含在 API 请求的 Authorization 字段中。

获取警报

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:返回具有以下一种或多种警报状态的警报:ALLalertingokno_datapausedpending。要指定多个状态,请使用以下格式:?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。pausedtrue 时将暂停警报,为 false 时将取消暂停警报。

响应示例

HTTP/1.1 200 Content-Type: application/json { "alertId": 1, "state": "Paused", "message": "alert paused" }