本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
註解 API
使用註釋 API 在 Amazon 受管的 Grafana 工作區中建立、更新、刪除和使用註釋。
註釋保存在工作區的 Grafana 數據庫(SQLITE,MySQL 或帖子格爾)中。註釋可以是通過配置註釋資料來源,可以在任何儀表板上顯示的全域註釋。註釋會依標籤篩選。或者,它們可以繫結至管控面板上的面板,並且僅顯示在該面板上。
注意
若要將 Grafana API 與您的 Amazon 受管理工作區搭配使用,您必須擁有有效的 Grafana API 權杖。您可以在 API 要求的Authorization
欄位中包含此項目。如需如何建立權杖以驗證 API 呼叫的相關資訊,請參閱使用令牌進行身。
尋找註釋
GET /api/annotations?from=1506676478816&to=1507281278816&tags=tag1&tags=tag2&limit=100
範例請求
GET /api/annotations?from=1506676478816&to=1507281278816&tags=tag1&tags=tag2&limit=100 HTTP/1.1 Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
查詢參數:
-
從-(可選)紀元日期時間,以毫秒為單位。
-
至 — (選用) 紀元日期時間 (以毫秒為單位)。
-
limit — (選擇性) 傳回的結果數目上限。預設為 100。
-
alertid — (選擇性) 尋找指定警示的註釋。
-
儀表板 D id — (選用) 尋找範圍在指定儀表板上的註釋。
-
面板 — (選擇性) 尋找範圍為指定面板的註釋。
-
userId — (選擇性) 尋找由指定使用者建立的註釋。
-
type — (選擇性) 指定傳回警示或使用者建立的註釋。值為
alert
和annotation
。 -
tags — (選用) 使用此選項可篩選全域註釋。全域註釋是註釋資料來源中未專門連接至管控面板或面板的註釋。若要使用多個標籤進行「AND」篩選,請多次指定 tags 參數。例如
tags=tag1&tags=tag2
。這些是 Grafana 標籤,而不 AWS 是標籤。
回應範例
HTTP/1.1 200 Content-Type: application/json [ { "id": 1124, "alertId": 0, "dashboardId": 468, "panelId": 2, "userId": 1, "userName": "", "newState": "", "prevState": "", "time": 1507266395000, "timeEnd": 1507266395000, "text": "test", "metric": "", "tags": [ "tag1", "tag2" ], "data": {} }, { "id": 1123, "alertId": 0, "dashboardId": 468, "panelId": 2, "userId": 1, "userName": "", "newState": "", "prevState": "", "time": 1507265111000, "text": "test", "metric": "", "tags": [ "tag1", "tag2" ], "data": {} } ]
建立註解
POST /api/annotations
在工作區的 Grafana 資料庫中建立註釋。dashboardId
和 panelId
欄位是選用的。如果未指定它們,則會建立全域註釋,並且可以在任何新增 Grafana 註釋資料來源的儀表板中查詢。建立面域註解時,請務必包括timeEnd
性質。
time
和的格式timeEnd
應該是毫秒解析度的紀元數字。
範例請求
POST /api/annotations HTTP/1.1 Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk { "dashboardId":468, "panelId":1, "time":1507037197339, "timeEnd":1507180805056, "tags":["tag1","tag2"], "text":"Annotation Description" }
回應範例
HTTP/1.1 200 Content-Type: application/json { "message":"Annotation added", "id": 1, }
以石墨格式建立註釋
POST /api/annotations/graphite
使用與石墨相容的事件格式建立註釋。when
和 data
欄位是選用的。如果when
沒有指定,當前時間被用作註釋的時間戳。該字tags
段也可以是 Graphite 0.10.0 之前的格式(多個標籤以空格分隔的字符串)。
範例請求
POST /api/annotations/graphite HTTP/1.1 Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk { "what": "Event - deploy", "tags": ["deploy", "production"], "when": 1467844481, "data": "deploy of master branch happened at Wed Jul 6 22:34:41 UTC 2016" }
回應範例
HTTP/1.1 200 Content-Type: application/json { "message":"Graphite annotation added", "id": 1 }
更新註解
PUT /api/annotations/:id
pdates 符合指定 id 的註釋的所有屬性。若只要更新某些屬性,請使用「修補註解」作業。
範例請求
PUT /api/annotations/1141 HTTP/1.1 Accept: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk Content-Type: application/json { "time":1507037197339, "timeEnd":1507180805056, "text":"Annotation Description", "tags":["tag3","tag4","tag5"] }
示例響應:
HTTP/1.1 200 Content-Type: application/json { "message":"Annotation updated" }
補丁註釋
PATCH /api/annotations/:id
更新符合指定 ID 之註釋的一或多個屬性。此作業目前支援更新text
tags
、time
、和timeEnd
屬性。
請求示例:
PATCH /api/annotations/1145 HTTP/1.1 Accept: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk Content-Type: application/json { "text":"New Annotation Description", "tags":["tag6","tag7","tag8"] }
回應範例
HTTP/1.1 200 Content-Type: application/json { "message":"Annotation patched" }
按 Id 刪除註釋
DELETE /api/annotations/:id
刪除符合指定 ID 的註解。
範例請求
DELETE /api/annotations/1 HTTP/1.1 Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
回應範例
HTTP/1.1 200 Content-Type: application/json { "message":"Annotation deleted" }