API d'annotations - Amazon Managed Grafana

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

API d'annotations

Utilisez l'API d'annotations pour créer, mettre à jour, supprimer et utiliser des annotations dans l'espace de travail Amazon Managed Grafana.

Les annotations sont enregistrées dans la base de données Grafana de l'espace de travail (sqlite, mysql ou postgres). Les annotations peuvent être des annotations globales qui peuvent être affichées sur n'importe quel tableau de bord en configurant une source de données d'annotation. Les annotations sont filtrées par balises. Ils peuvent également être liés à un panneau d'un tableau de bord et affichés uniquement sur ce panneau.

Note

Pour utiliser une API Grafana avec votre espace de travail Amazon Managed Grafana, vous devez disposer d'un jeton d'API Grafana valide. Vous l'incluez dans le Authorization champ de la demande d'API. Pour plus d'informations sur la création d'un jeton pour authentifier vos appels d'API, consultezAuthentifiez-vous avec des jetons.

Rechercher des annotations

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

Exemple de demande

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

Paramètres de requête :

  • from — (Facultatif) Epoch date/heure en millisecondes.

  • to — (Facultatif) Date et heure de l'époque en millisecondes.

  • limit — (Facultatif) Nombre maximum de résultats renvoyés. La valeur par défaut est 100.

  • alertid — (Facultatif) Trouvez des annotations pour l'alerte spécifiée.

  • DashboardID — (Facultatif) Trouvez les annotations dont le champ d'application est limité au tableau de bord spécifié.

  • PanelID — (Facultatif) Trouvez les annotations dont la portée est limitée au panneau spécifié.

  • UserId — (Facultatif) Recherche les annotations créées par l'utilisateur spécifié.

  • type — (Facultatif) Spécifiez pour renvoyer les alertes ou les annotations créées par l'utilisateur. Les valeurs de valeur sont alert etannotation.

  • tags — (Facultatif) Utilisez-le pour filtrer les annotations globales. Les annotations globales sont des annotations provenant d'une source de données d'annotation qui ne sont pas connectées spécifiquement à un tableau de bord ou à un panneau. Pour effectuer un filtrage « ET » avec plusieurs balises, spécifiez le paramètre des balises plusieurs fois. Par exemple, tags=tag1&tags=tag2. Ce sont des tags Grafana, pas AWS des tags.

Exemple de réponse

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

Création d'une annotation

POST /api/annotations

Crée une annotation dans la base de données Grafana de l'espace de travail. Les champs dashboardId et panelId sont facultatifs. Si elles ne sont pas spécifiées, une annotation globale est créée et peut être interrogée dans n'importe quel tableau de bord qui ajoute la source de données des annotations Grafana. Lorsque vous créez une annotation de région, veillez à inclure la timeEnd propriété.

Le format pour time et timeEnd doit être celui des numéros d'époque en résolution en millisecondes.

Exemple de demande

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

Exemple de réponse

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

Création d'annotations au format graphite

POST /api/annotations/graphite

Crée une annotation en utilisant un format d'événement compatible avec Graphite. Les champs when et data sont facultatifs. Si elle n'whenest pas spécifiée, l'heure actuelle est utilisée comme horodatage de l'annotation. Le tags champ peut également être au format Graphite 0.10.0 (chaîne avec plusieurs balises séparées par un espace).

Exemple de demande

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

Exemple de réponse

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

Mettre à jour l'annotation

PUT /api/annotations/:id

met à jour toutes les propriétés d'une annotation correspondant à l'identifiant spécifié. Pour mettre à jour certaines propriétés uniquement, utilisez l'opération Patch Annotation.

Exemple de demande

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

Exemple de réponse :

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

Annotation des correctifs

PATCH /api/annotations/:id

Met à jour une ou plusieurs propriétés d'une annotation correspondant à l'identifiant spécifié. Cette opération prend actuellement en charge la mise à jour des timeEnd propriétés text tagstime,, et.

Exemple de demande :

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

Exemple de réponse

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

Supprimer une annotation par identifiant

DELETE /api/annotations/:id

Supprime l'annotation correspondant à l'ID spécifié.

Exemple de demande

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

Exemple de réponse

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