本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
警示 API
注意
本節僅適用於傳統警報。如需詳細資訊,請參閱 Grafana 警報。
使用偏好設定 API 取得傳統儀表板警示及其狀態的相關資訊。不過,您無法使用此 API 修改警示。若要建立新警示或修改警示,您需要更新包含警示的儀表板 JSON。
注意
若要將 Grafana API 與您的 Amazon 受管理工作區搭配使用,您必須擁有有效的 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
-
儀表板 D id — 限制對指定儀表板值中警示的回應。您可以指定多個面板。例如:
dashboardId=23&dashboardId=35
-
PaneLid — 將回應限制在儀表板上指定面板的警示。
-
query — 將回應限制在名稱類似這個值的警示。
-
state — 傳回具有一個或多個下列警示狀態的警示:
ALL
alerting
ok
、no_data
、、paused
、或pending
。若要指定多個狀態,請使用下列格式:?state=paused&state=alerting
-
限制 — 將回應限制在 X 個警示數目。
-
FolderID — 限制對指定資料夾中儀表板警示的回應。您可以指定多個資料夾。例如:
folderId=23&folderId=35
-
儀表板查詢 — 限制對儀表板名稱類似此值的警示的回應。
-
儀表板標籤 — 使用指定的標籤限制儀表板的回應警示。要使用多個標籤進行「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
query 參數是要暫停或取消暫停的警示的 Id。 paused
可true
以是暫停警示或false
取消暫停警示。
回應範例
HTTP/1.1 200 Content-Type: application/json { "alertId": 1, "state": "Paused", "message": "alert paused" }