어노테이션 API - Amazon Managed Grafana

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

어노테이션 API

어노테이션 API를 사용하여 Amazon Managed Grafana 워크스페이스에서 어노테이션을 생성, 업데이트, 삭제 및 작업할 수 있습니다.

주석은 작업 공간의 Grafana 데이터베이스 (sqlite, mysql 또는 포스트그레스) 에 저장됩니다. 주석은 주석 데이터 소스를 구성하여 모든 대시보드에 표시할 수 있는 글로벌 주석일 수 있습니다. 주석은 태그별로 필터링됩니다. 또는 대시보드의 패널에 연결하여 해당 패널에만 표시할 수도 있습니다.

참고

아마존 관리형 그라파나 워크스페이스에서 Grafana API를 사용하려면 유효한 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

쿼리 매개변수:

  • from — (선택 사항) 에포크 날짜/시간 (밀리초).

  • to — (선택 사항) 에포크 날짜/시간 (밀리초)

  • limit — (선택 사항) 반환되는 최대 결과 수입니다. 기본값은 100입니다.

  • alertid — (선택 사항) 지정된 알림에 대한 주석을 찾습니다.

  • 대시보드 ID — (선택 사항) 지정된 대시보드로 범위가 지정된 주석을 찾습니다.

  • PanelID — (선택 사항) 지정된 패널로 범위가 지정된 주석을 찾습니다.

  • UserID — (선택 사항) 지정된 사용자가 만든 주석을 찾습니다.

  • 유형 — (선택 사항) 알림 또는 사용자가 만든 주석을 반환하도록 지정합니다. 값 값은 및 입니다. alert annotation

  • 태그 — (선택 사항) 글로벌 주석을 필터링하려면 이 옵션을 사용합니다. 글로벌 주석은 대시보드나 패널에 특별히 연결되지 않은 주석 데이터 소스의 주석입니다. 여러 태그를 사용하여 “AND” 필터링을 수행하려면 태그 매개변수를 여러 번 지정하십시오. 예를 들어 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

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

지정된 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, tagstime, 및 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" }