API d'alerte - 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'alerte

Note

Cette section s'applique uniquement aux alertes classiques. Pour plus d’informations, consultez Alerte Grafana.

Utilisez l'API Preferences pour obtenir des informations sur les alertes de tableau de bord classiques et leur état. Toutefois, vous ne pouvez pas utiliser cette API pour modifier l'alerte. Pour créer de nouvelles alertes ou les modifier, vous devez mettre à jour le JSON du tableau de bord qui contient les alertes.

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.

Recevez des alertes

GET /api/alerts

Exemple de demande

GET /api/alerts HTTP/1.1 Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

Paramètres de chaîne de requête :

Ces paramètres sont utilisés comme paramètres de chaîne de requête. Par exemple : /api/alerts?dashboardId=1

  • DashboardID — Limitez les réponses aux alertes dans la valeur de tableau de bord spécifiée. Vous pouvez spécifier plusieurs tableaux de bord. Par exemple, dashboardId=23&dashboardId=35

  • PanelID — Limite la réponse à une alerte pour un panneau spécifique d'un tableau de bord.

  • query — Limite la réponse aux alertes portant un nom similaire à cette valeur.

  • état — Renvoie les alertes présentant un ou plusieurs des états d'alerte suivants : ALLalerting,ok,no_data,paused, oupending. Pour spécifier plusieurs états, utilisez le format suivant : ?state=paused&state=alerting

  • limite — Limite la réponse à un nombre X d'alertes.

  • FolderId — Limitez la réponse aux alertes relatives aux tableaux de bord dans les dossiers spécifiés. Vous pouvez spécifier plusieurs dossiers. Par exemple, folderId=23&folderId=35

  • DashboardQuery — Limitez les réponses aux alertes dont le nom de tableau de bord est similaire à cette valeur.

  • DashboardTag — Limitez les alertes de réponse des tableaux de bord dotés de balises spécifiques. Pour effectuer un filtrage « ET » avec plusieurs balises, spécifiez le paramètre des balises plusieurs fois. Par exemple, dashboardTag=tag1&dashboardTag=tag2. Notez qu'il s'agit de tags Grafana, pas AWS de tags.

Exemple de réponse

HTTP/1.1 200 Content-Type: application/json [ { "id": 1, "dashboardId": 1, "dashboardUId": "ABcdEFghij" "dashboardSlug": "sensors", "panelId": 1, "name": "fire place sensor", "state": "alerting", "newStateDate": "2018-05-14T05:55:20+02:00", "evalDate": "0001-01-01T00:00:00Z", "evalData": null, "executionError": "", "url": "http://grafana.com/dashboard/db/sensors" } ]

Recevez une alerte par identifiant

GET /api/alerts/:id

Exemple de demande

GET /api/alerts/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 { "id": 1, "dashboardId": 1, "dashboardUId": "ABcdEFghij" "dashboardSlug": "sensors", "panelId": 1, "name": "fire place sensor", "state": "alerting", "message": "Someone is trying to break in through the fire place", "newStateDate": "2018-05-14T05:55:20+02:00", "evalDate": "0001-01-01T00:00:00Z", "evalData": "evalMatches": [ { "metric": "movement", "tags": { "name": "fireplace_chimney" }, "value": 98.765 } ], "executionError": "", "url": "http://grafana.com/dashboard/db/sensors" }
Important

evalMatchesles données sont mises en cache dans la base de données lorsque et uniquement lorsque l'état de l'alerte change. Si les données d'un serveur déclenchent l'alerte en premier et que, avant que ce serveur ne soit vu quitter l'état d'alerte, un second serveur entre également dans un état qui déclencherait l'alerte, le second serveur n'est pas visible dans les evalMatches données.

Suspendre l'alerte par identifiant

POST /api/alerts/:id/pause

Exemple de demande

POST /api/alerts/1/pause HTTP/1.1 Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk { "paused": true }

Le paramètre de :id requête est l'ID de l'alerte à suspendre ou à annuler. pausedpeut true consister à suspendre une alerte ou false à la remettre en pause.

Exemple de réponse

HTTP/1.1 200 Content-Type: application/json { "alertId": 1, "state": "Paused", "message": "alert paused" }