註解 API - Amazon Managed Grafana

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

註解 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 — (選擇性) 指定傳回警示或使用者建立的註釋。值為alertannotation

  • 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 資料庫中建立註釋。dashboardIdpanelId 欄位是選用的。如果未指定它們,則會建立全域註釋,並且可以在任何新增 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

使用與石墨相容的事件格式建立註釋。whendata 欄位是選用的。如果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 之註釋的一或多個屬性。此作業目前支援更新texttagstime、和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" }