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 du tableau de bord
Utilisez l'API Dashboard pour créer, mettre à jour, supprimer et utiliser des tableaux de bord dans l'espace de travail Amazon Managed Grafana.
L'identifiant (id) d'un tableau de bord est une valeur numérique à incrémentation automatique qui n'est unique que par espace de travail. L'identifiant unique (uid) d'un tableau de bord peut être utilisé pour identifier de manière unique un tableau de bord entre plusieurs espaces de travail Amazon Managed Grafana. Il est généré automatiquement si vous n'en fournissez pas lors de la création d'un tableau de bord. L'uid permet d'avoir des URL cohérentes pour accéder aux tableaux de bord et lors de la synchronisation des tableaux de bord entre plusieurs espaces de travail. L'utilisation de l'UID signifie que la modification du titre d'un tableau de bord ne rompt aucun lien mis en signet vers ce tableau de bord.
L'UID peut avoir une longueur maximale de 40 caractères.
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.
Créer/mettre à jour le tableau de bord
POST /api/dashboards/db
Crée un nouveau tableau de bord ou met à jour un tableau de bord existant.
Exemple de demande pour créer un nouveau tableau de bord
POST /api/dashboards/db HTTP/1.1 Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk { "dashboard": { "id": null, "uid": null, "title": "Production Overview", "tags": [ "templated" ], "timezone": "browser", "schemaVersion": 16, "version": 0, "refresh": "25s" }, "folderId": 0, "folderUid": "l3KqBxCMz", "message": "Made changes to xyz", "overwrite": false }
Schéma de corps JSON :
-
tableau de bord — Le modèle de tableau de bord complet. Utilisez null pour créer un nouveau tableau de bord.
-
dashboard.id — Utilisez null pour créer un nouveau tableau de bord.
-
dashboard.uid — Identifiant unique facultatif lorsque vous l'utilisez pour créer un nouveau tableau de bord. Si la valeur est nulle, un nouvel UID est généré.
-
folderid — L'identifiant du dossier dans lequel enregistrer le tableau de bord.
-
FolderUID — L'UID du dossier dans lequel enregistrer le tableau de bord. Remplace la valeur de
folderid
-
remplacer — Spécifiez le remplacement
true
d'un tableau de bord existant par une version plus récente, le même titre de tableau de bord dans le dossier ou le même identifiant de tableau de bord. -
message — Définissez un message de validation pour l'historique des versions.
-
rafraîchir — Définissez l'intervalle d'actualisation du tableau de bord. S'il est inférieur à l'intervalle de rafraîchissement minimum, il est ignoré et l'intervalle de rafraîchissement minimum est utilisé.
Pour ajouter ou mettre à jour une règle d'alerte pour un panneau de tableau de bord, déclarez un dashboard.panels.alert
bloc.
Exemple de demande de mise à jour d'une règle d'alerte de tableau de bord
HTTP/1.1 200 OK Content-Type: application/json; charset=UTF-8 Content-Length: 78 { "dashboard": { "id": 104, "panels": [ { "alert": { "alertRuleTags": {}, "conditions": [ { "evaluator": { "params": [ 25 ], "type": "gt" }, "operator": { "type": "and" }, "query": { "params": [ "A", "5m", "now" ] }, "reducer": { "params": [], "type": "avg" }, "type": "query" } ], "executionErrorState": "alerting", "for": "5m", "frequency": "1m", "handler": 1, "name": "Panel Title alert", "noDataState": "no_data", "notifications": [] }, "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, "datasource": null, "fieldConfig": { "defaults": { "custom": {} }, "overrides": [] }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 9, "w": 12, "x": 0, "y": 0 }, "hiddenSeries": false, "id": 2, "legend": { "avg": false, "current": false, "max": false, "min": false, "show": true, "total": false, "values": false }, "lines": true, "linewidth": 1, "nullPointMode": "null", "options": { "dataLinks": [] }, "percentage": false, "pointradius": 2, "points": false, "renderer": "flot", "seriesOverrides": [], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { "refId": "A", "scenarioId": "random_walk" } ], "thresholds": [ { "colorMode": "critical", "fill": true, "line": true, "op": "gt", "value": 50 } ], "timeFrom": null, "timeRegions": [], "timeShift": null, "title": "Panel Title", "tooltip": { "shared": true, "sort": 0, "value_type": "individual" }, "type": "graph", "xaxis": { "buckets": null, "mode": "time", "name": null, "show": true, "values": [] }, "yaxes": [ { "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true }, { "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true } ], "yaxis": { "align": false, "alignLevel": null } } ], "title": "Update alert rule via API", "uid": "dHEquNzGz", "version": 1 } }
Exemple de réponse
HTTP/1.1 200 OK Content-Type: application/json; charset=UTF-8 Content-Length: 78 { "id": 1, "uid": "cIBgcSjkk", "url": "/d/cIBgcSjkk/production-overview", "status": "success", "version": 1, "slug": "production-overview" //deprecated in Grafana v5.0 }
Codes de statut :
-
200 — Créé
-
400 — Erreur telle qu'un JSON non valide, des champs non valides ou manquants
-
401 — Non autorisé
-
403 — Accès refusé
-
412 — Échec de la précondition
Le code d'état 412 est utilisé pour expliquer pourquoi le tableau de bord ne peut pas être créé.
-
Le tableau de bord a été modifié par quelqu'un d'autre
status=version-mismatch
-
Un tableau de bord portant le même nom existe déjà dans le dossier
status=name-exists
-
Un tableau de bord avec le même UID existe déjà
status=name-exists
-
Le tableau de bord appartient au plugin
plugin title
status=plugin-dashboard
Le corps de la réponse possède les propriétés suivantes. Si un autre tableau de bord porte le même titre, la status
valeur estname-exists
.
HTTP/1.1 412 Precondition Failed Content-Type: application/json; charset=UTF-8 Content-Length: 97 { "message": "The dashboard has been changed by someone else", "status": "version-mismatch" }
Obtenir le tableau de bord par UID
GET /api/dashboards/uid/:uid
Renvoie le tableau de bord correspondant à l'UID. Les métadonnées renvoyées peuvent contenir des informations sur l'UID du dossier contenant le tableau de bord.
Exemple de demande
GET /api/dashboards/uid/cIBgcSjkk 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 { "dashboard": { "id": 1, "uid": "cIBgcSjkk", "title": "Production Overview", "tags": [ "templated" ], "timezone": "browser", "schemaVersion": 16, "version": 0 }, "meta": { "isStarred": false, "url": "/d/cIBgcSjkk/production-overview", "folderId": 2, "folderUid": "l3KqBxCMz", "slug": "production-overview" //deprecated in Grafana v5.0 } }
Codes de statut :
-
200 — Trouvé
-
401 — Non autorisé
-
403 — Accès refusé
-
404 — Non trouvé
Supprimer le tableau de bord par UID
DELETE /api/dashboards/uid/:uid
Supprime le tableau de bord correspondant à l'UID.
Exemple de demande
DELETE /api/dashboards/uid/cIBgcSjkk 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 { "title": "Production Overview", "message": "Dashboard Production Overview deleted", "id": 2 }
Codes de statut :
-
200 — Supprimé
-
401 — Non autorisé
-
403 — Accès refusé
-
404 — Non trouvé
Permet d'accéder au tableau de bord d'accueil
GET /api/dashboards/home
Renvoie le tableau de bord d'accueil.
Exemple de demande
GET /api/dashboards/home 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 { "dashboard": { "editable":false, "hideControls":true, "nav":[ { "enable":false, "type":"timepicker" } ], "style":"dark", "tags":[], "templating":{ "list":[ ] }, "time":{ }, "timezone":"browser", "title":"Home", "version":5 }, "meta": { "isHome":true, "canSave":false, "canEdit":false, "canStar":false, "url":"", "expires":"0001-01-01T00:00:00Z", "created":"0001-01-01T00:00:00Z" } }
Obtenir les balises du tableau de bord
GET /api/dashboards/tags
Renvoie toutes les balises des tableaux de bord.
Exemple de demande
GET /api/dashboards/tags 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 [ { "term":"tag1", "count":1 }, { "term":"tag2", "count":4 } ]