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 Amazon Managed Grafana.

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

nota

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

Encontre 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 época em milissegundos.

  • para — (Opcional) Data e hora da época 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 painel 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 de valor são alert annotation e.

  • tags — (Opcional) Use isso 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 painel 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. Essas são tags Grafana, não AWS tags.

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 Grafana do espaço de trabalho. 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 painel que adicione a fonte de dados de anotações da Grafana. Ao criar uma anotação de região, não se esqueça de incluir a timeEnd propriedade.

O formato para time e timeEnd deve ser números de época 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, }

Crie uma anotação em formato de grafite

POST /api/annotations/graphite

Cria uma anotação usando um formato de evento compatível com Graphite. Os campos when e data são opcionais. Se não when for especificada, a hora atual será usada como carimbo de data/hora da anotação. O tags campo também pode estar antes do 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 Patch Annotation.

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, essa operação oferece suporte à atualização das timeEnd propriedades text tagstime,, e.

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