API de anotaciones - Amazon Managed Grafana

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

API de anotaciones

Use la API de anotaciones para crear, actualizar y eliminar anotaciones, y trabajar con ellas, en el espacio de trabajo de Amazon Managed Grafana.

Las anotaciones se guardan en la base de datos de Grafana del espacio de trabajo (sqlite, mysql o postgres). Las anotaciones pueden ser anotaciones globales que se pueden mostrar en cualquier panel configurando un origen de datos de anotaciones. Las anotaciones se filtran por etiquetas. También se pueden vincular a un panel de otro panel y mostrarse solo en ese panel.

nota

Para usar una API de Grafana con su espacio de trabajo de Amazon Managed Grafana, debe tener un token de API de Grafana que sea válido. Lo incluye en el campo Authorization de la solicitud de API. Para obtener información sobre cómo crear un token para autenticar sus llamadas a la API, consulte Autenticación con tokens.

Búsqueda de anotaciones

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

Ejemplo de solicitud

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:

  • from: (opcional) fecha y hora de la época en milisegundos.

  • to: (opcional) fecha y hora de la época en milisegundos.

  • limit: (opcional) número máximo de resultados devueltos. El valor predeterminado es 100.

  • alertid: (opcional) busque las anotaciones de la alerta especificada.

  • dashboardId: (opcional) busque las anotaciones limitadas al panel especificado.

  • panelId: (opcional) busque las anotaciones limitadas al panel especificado.

  • userId: (opcional) busque las anotaciones creadas por el usuario especificado.

  • type: (opcional) especifique si desea devolver las alertas o las anotaciones creadas por el usuario. Los valores son alert y annotation.

  • tags: (opcional) utilice esta opción para filtrar las anotaciones globales. Las anotaciones globales son anotaciones de un origen de datos de anotaciones que no están conectadas específicamente a ningún panel. Para hacer un filtrado “AND” con varias etiquetas, especifique el parámetro de etiquetas varias veces. Por ejemplo, tags=tag1&tags=tag2. Son etiquetas de Grafana, no etiquetas de AWS.

Ejemplo de respuesta

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

Creación de una anotación

POST /api/annotations

Crea una anotación en la base de datos de Grafana del espacio de trabajo. Los campos dashboardId y panelId son opcionales. Si no se especifican, se crea una anotación global que se puede consultar en cualquier panel que agregue el origen de datos de anotaciones de Grafana. Al crear una anotación de región, asegúrese de incluir la propiedad timeEnd.

El formato para time y timeEnd debe ser números de época con una resolución de milisegundos.

Ejemplo de solicitud

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

Ejemplo de respuesta

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

Creación de una anotación en formato de Graphite

POST /api/annotations/graphite

Crea una anotación mediante un formato de evento compatible con Graphite. Los campos when y data son opcionales. Si no se especifica when, la hora actual se utiliza como marca de tiempo de la anotación. El campo tags también puede tener un formato anterior al de Graphite 0.10.0 (cadena con varias etiquetas separadas por un espacio).

Ejemplo de solicitud

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

Ejemplo de respuesta

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

Actualización de una anotación

PUT /api/annotations/:id

Actualice todas las propiedades de una anotación que coincida con el ID especificado. Para actualizar solo determinadas propiedades, utilice la operación de anotación de revisiones.

Ejemplo de solicitud

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

Ejemplo de respuesta:

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

Anotación de revisiones

PATCH /api/annotations/:id

Actualice una o más propiedades de una anotación que coincida con el ID especificado. Actualmente, esta operación permite actualizar las propiedades text, tags, time y timeEnd.

Ejemplo de solicitud:

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

Ejemplo de respuesta

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

Eliminación de una anotación por ID

DELETE /api/annotations/:id

Elimina la anotación que coincide con el ID especificado.

Ejemplo de solicitud

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

Ejemplo de respuesta

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