API de anotações - Amazon Managed Grafana

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

API de anotações

Use a API de anotações para criar, atualizar, excluir e trabalhar com anotações no espaço de trabalho do Amazon Managed Grafana.

As anotações são salvas no banco de dados do espaço de trabalho do Grafana (sqlite, mysql ou postgres). As anotações podem ser anotações globais que podem ser mostradas em qualquer dashboard configurando uma fonte de dados de anotações. As anotações são filtradas por tags. Ou elas podem ser vinculadas a um painel em um dashboard e exibidas somente nesse painel.

nota

Para usar uma API do Grafana com o espaço de trabalho do Amazon Managed Grafana, você deve ter um token válido da API do Grafana. Você inclui isso no campo Authorization na solicitação da API. Para obter informações sobre como criar um token para autenticar as chamadas de API, consulte Autenticação com tokens.

Encontrar anotações

GET /api/annotations?from=1506676478816&to=1507281278816&tags=tag1&tags=tag2&limit=100

Exemplo de solicitação

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

Parâmetros de consulta:

  • de: (opcional) data e hora da epoch em milissegundos.

  • até: (opcional) data e hora da epoch em milissegundos.

  • limite: (opcional) número máximo de resultados retornados. O padrão é 100.

  • alertid: (opcional) encontre anotações para o alerta especificado.

  • dashboardId: (opcional) encontre anotações que tenham como escopo o dashboard especificado.

  • panelId: (opcional) encontre anotações que tenham como escopo o painel especificado.

  • userId: (opcional) encontre anotações criadas pelo usuário especificado.

  • tipo: (opcional) especifique para retornar alertas ou anotações criadas pelo usuário. Os valores são alert e annotation.

  • tags: (opcional) use para filtrar anotações globais. As anotações globais são anotações de uma fonte de dados de anotações que não estão conectadas especificamente a um dashboard ou painel. Para fazer uma filtragem “AND” com várias tags, especifique o parâmetro tags várias vezes. Por exemplo, tags=tag1&tags=tag2. Estas são tags do Grafana, não da AWS.

Exemplo de resposta

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": {} } ]

Criar anotação

POST /api/annotations

Cria uma anotação no banco de dados do espaço de trabalho do Grafana. Os campos dashboardId e panelId são opcionais. Se não forem especificadas, uma anotação global será criada e poderá ser consultada em qualquer dashboard que adicione a fonte de dados de anotações do Grafana. Ao criar uma anotação de região, não se esqueça de incluir o propriedade de timeEnd.

O formato para time e timeEnd deve ser números epoch em resolução de milissegundos.

Exemplo de solicitação

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" }

Exemplo de resposta

HTTP/1.1 200 Content-Type: application/json { "message":"Annotation added", "id": 1, }

Criar uma anotação no formato do Graphite

POST /api/annotations/graphite

Cria uma anotação usando um formato de evento compatível com o Graphite. Os campos when e data são opcionais. Se when não for especificado, a hora atual será usada como o carimbo de data e hora da anotação. O campo tags também pode estar anterior ao formato Graphite 0.10.0 (string com várias tags separadas por um espaço).

Exemplo de solicitação

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" }

Exemplo de resposta

HTTP/1.1 200 Content-Type: application/json { "message":"Graphite annotation added", "id": 1 }

Atualizar anotação

PUT /api/annotations/:id

Atualiza todas as propriedades de uma anotação que corresponda ao ID especificado. Para atualizar somente determinadas propriedades, use a operação de anotação de patch.

Exemplo de solicitação

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"] }

Exemplo de resposta:

HTTP/1.1 200 Content-Type: application/json { "message":"Annotation updated" }

Anotação de patch

PATCH /api/annotations/:id

Atualiza uma ou mais propriedades de uma anotação que corresponda ao ID especificado. Atualmente, esta operação é compatível com a atualização das propriedades text, tags, time e timeEnd.

Exemplo de solicitação:

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"] }

Exemplo de resposta

HTTP/1.1 200 Content-Type: application/json { "message":"Annotation patched" }

Excluir anotação por ID

DELETE /api/annotations/:id

Exclui a anotação que corresponde ao ID especificado.

Exemplo de solicitação

DELETE /api/annotations/1 HTTP/1.1 Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

Exemplo de resposta

HTTP/1.1 200 Content-Type: application/json { "message":"Annotation deleted" }