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

Usa la API de anotaciones para crear, actualizar, eliminar y trabajar con anotaciones en el espacio de trabajo de Grafana gestionado por Amazon.

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

nota

Para usar una API de Grafana con tu espacio de trabajo de Grafana gestionado por Amazon, debes tener un token de API de Grafana válido. Lo incluyes en el Authorization campo de la solicitud de API. Para obtener información sobre cómo crear un token para autenticar tus llamadas a la API, consultaAutenticarse con fichas.

Busca 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:

  • desde — (opcional) Fecha y hora de la época en milisegundos.

  • a — (opcional) Fecha y hora de la época en milisegundos.

  • límite: (opcional) Número máximo de resultados devueltos. El valor predeterminado es 100.

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

  • DashboardID: (opcional) busca las anotaciones relacionadas con el panel especificado.

  • panelID: (opcional) busca las anotaciones que tengan el alcance del panel especificado.

  • UserID: (opcional) busca las anotaciones creadas por el usuario especificado.

  • tipo: (opcional) especifique si desea devolver las alertas o las anotaciones creadas por el usuario. Los valores de los valores son yalert. annotation

  • etiquetas: (opcional) Utilice esta opción para filtrar las anotaciones globales. Las anotaciones globales son anotaciones de una fuente de datos de anotaciones que no están conectadas específicamente a un cuadro de mando o panel. Para realizar 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 AWS etiquetas.

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

Crea una anotación

POST /api/annotations

Crea una anotación en la base de datos 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 añada la fuente 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, }

Cree una anotación en formato grafito

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 when se especifica, la hora actual se utiliza como marca de tiempo de la anotación. El tags campo 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 }

Actualizar la anotación

PUT /api/annotations/:id

actualiza todas las propiedades de una anotación que coincida con el identificador especificado. Para actualizar solo determinadas propiedades, utilice la operación de anotación de parches.

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 parche

PATCH /api/annotations/:id

Actualiza una o más propiedades de una anotación que coincide con el identificador especificado. Actualmente, esta operación permite actualizar las timeEnd propiedades texttags,time, y.

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

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