API per le annotazioni - Grafana gestito da Amazon

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

API per le annotazioni

Usa l'API Annotations per creare, aggiornare, eliminare e lavorare con le annotazioni nell'area di lavoro Amazon Managed Grafana.

Le annotazioni vengono salvate nel database Grafana dell'area di lavoro (sqlite, mysql o postgres). Le annotazioni possono essere annotazioni globali che possono essere visualizzate su qualsiasi dashboard configurando una fonte di dati di annotazione. Le annotazioni vengono filtrate per tag. Oppure possono essere collegate a un pannello su una dashboard e visualizzate solo su quel pannello.

Nota

Per utilizzare un'API Grafana con il tuo spazio di lavoro Amazon Managed Grafana, devi disporre di un token API Grafana valido. Lo includi nel Authorization campo della richiesta API. Per informazioni su come creare un token per autenticare le chiamate API, consultaAutenticazione con token.

Trova annotazioni

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

Richiesta di esempio

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

Parametri di interrogazione:

  • da — (Facoltativo) Data/ora dell'epoca in millisecondi.

  • a — (Facoltativo) Data/ora dell'epoca in millisecondi.

  • limit — (Facoltativo) Numero massimo di risultati restituiti. Il valore di default è 100.

  • alertid — (Facoltativo) Trova le annotazioni per l'avviso specificato.

  • dashboardID — (Facoltativo) Trova le annotazioni che rientrano nell'ambito del dashboard specificato.

  • panelID — (Facoltativo) Trova le annotazioni che rientrano nell'ambito del pannello specificato.

  • userID — (Facoltativo) Trova le annotazioni create dall'utente specificato.

  • type — (Facoltativo) Specificare se restituire avvisi o annotazioni create dall'utente. I valori dei valori sono e. alert annotation

  • tags — (Facoltativo) Utilizzatelo per filtrare le annotazioni globali. Le annotazioni globali sono annotazioni provenienti da una fonte di dati di annotazione che non sono collegate specificamente a una dashboard o un pannello. Per eseguire un filtro «AND» con più tag, specifica più volte il parametro tags. Ad esempio, tags=tag1&tags=tag2. Questi sono tag Grafana, non AWS tag.

Example response

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 annotazioni

POST /api/annotations

Crea un'annotazione nel database Grafana dell'area di lavoro. I campi dashboardId e panelId sono facoltativi. Se non vengono specificati, viene creata un'annotazione globale che può essere interrogata in qualsiasi dashboard che aggiunga l'origine dati delle annotazioni Grafana. Quando crei un'annotazione regionale, assicurati di includere la proprietà. timeEnd

Il formato time e timeEnd deve essere costituito da numeri di epoca con risoluzione in millisecondi.

Richiesta di esempio

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

Example response

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

Crea annotazioni in formato grafite

POST /api/annotations/graphite

Crea un'annotazione utilizzando un formato di evento compatibile con Graphite. I campi when e data sono facoltativi. Se non when è specificato, l'ora corrente viene utilizzata come timestamp dell'annotazione. Il tags campo può anche essere in formato precedente a Graphite 0.10.0 (stringa con più tag separati da uno spazio).

Richiesta di esempio

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

Example response

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

Aggiorna l'annotazione

PUT /api/annotations/:id

Aggiorna tutte le proprietà di un'annotazione che corrisponde all'id specificato. Per aggiornare solo determinate proprietà, utilizzate l'operazione Patch Annotation.

Richiesta di esempio

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

Esempio di risposta:

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

Annotazione della patch

PATCH /api/annotations/:id

Aggiorna una o più proprietà di un'annotazione che corrisponde all'id specificato. Questa operazione attualmente supporta l'aggiornamento delle timeEnd proprietà texttags,time, e.

Richiesta di esempio:

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

Example response

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

Elimina l'annotazione per ID

DELETE /api/annotations/:id

Elimina l'annotazione che corrisponde all'ID specificato.

Richiesta di esempio

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

Example response

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