API del pannello di controllo - 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 del pannello di controllo

Usa l'API Dashboard per creare, aggiornare, eliminare e lavorare con i dashboard nell'area di lavoro di Amazon Managed Grafana.

L'identificatore (id) di una dashboard è un valore numerico ad incremento automatico ed è unico solo per area di lavoro. L'identificatore univoco (uid) di una dashboard può essere utilizzato per identificare in modo univoco una dashboard tra più aree di lavoro Amazon Managed Grafana. Viene generato automaticamente se non ne fornisci uno quando crei una dashboard. L'uid consente di avere URL coerenti per l'accesso alle dashboard e per la sincronizzazione delle dashboard tra più aree di lavoro. L'uso dell'uid significa che la modifica del titolo di una dashboard non interrompe i collegamenti aggiunti ai segnalibri a quella dashboard.

L'uid può avere una lunghezza massima di 40 caratteri.

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.

Crea/aggiorna il pannello di controllo

POST /api/dashboards/db

Crea una nuova dashboard o aggiorna una dashboard esistente.

Esempio di richiesta per creare una nuova dashboard

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 }

Schema del corpo JSON:

  • dashboard: il modello di dashboard completo. Usa null per creare una nuova dashboard.

  • dashboard.id: utilizza null per creare una nuova dashboard.

  • dashboard.uid — Identificatore univoco opzionale quando lo usi per creare una nuova dashboard. Se null, viene generato un nuovo uid.

  • folderid — L'id della cartella in cui salvare la dashboard.

  • folderUID — L'Uid della cartella in cui salvare la dashboard. Sostituisce il valore di folderid

  • sovrascrivi: specifica true di sovrascrivere una dashboard esistente con una versione più recente, lo stesso titolo della dashboard nella cartella o lo stesso uid della dashboard.

  • messaggio: imposta un messaggio di commit per la cronologia delle versioni.

  • refresh: imposta l'intervallo di aggiornamento della dashboard. Se è inferiore all'intervallo di aggiornamento minimo, viene ignorato e viene utilizzato l'intervallo di aggiornamento minimo.

Per aggiungere o aggiornare una regola di avviso per un pannello del dashboard, dichiara un blocco. dashboard.panels.alert

Esempio di richiesta di aggiornamento di una regola di avviso del dashboard

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

Example response

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 }

Codici di stato:

  • 200 — Creato

  • 400 — Errore come JSON non valido, campi non validi o mancanti

  • 401 — Non autorizzato

  • 403 — Accesso negato

  • 412 — Precondizione non riuscita

Il codice di stato 412 viene utilizzato per spiegare perché la dashboard non può essere creata.

  • La dashboard è stata modificata da qualcun altro status=version-mismatch

  • Esiste già una dashboard con lo stesso nome nella cartella status=name-exists

  • Esiste già una dashboard con lo stesso uid status=name-exists

  • La dashboard appartiene al plugin plugin title status=plugin-dashboard

Il corpo della risposta ha le seguenti proprietà. Se un'altra dashboard ha lo stesso titolo, il status valore èname-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" }

Ottieni la dashboard tramite uid

GET /api/dashboards/uid/:uid

Restituisce la dashboard corrispondente all'uid. I metadati restituiti potrebbero contenere informazioni sull'UID della cartella che contiene il dashboard.

Richiesta di esempio

GET /api/dashboards/uid/cIBgcSjkk HTTP/1.1 Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

Example response

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

Codici di stato:

  • 200 — Trovato

  • 401 — Non autorizzato

  • 403 — Accesso negato

  • 404 — Non trovato

Elimina dashboard tramite uid

DELETE /api/dashboards/uid/:uid

Elimina la dashboard corrispondente all'uid.

Richiesta di esempio

DELETE /api/dashboards/uid/cIBgcSjkk HTTP/1.1 Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

Example response

HTTP/1.1 200 Content-Type: application/json { "title": "Production Overview", "message": "Dashboard Production Overview deleted", "id": 2 }

Codici di stato:

  • 200 — Eliminato

  • 401 — Non autorizzato

  • 403 — Accesso negato

  • 404 — Non trovato

Ottiene la dashboard principale

GET /api/dashboards/home

Restituisce la dashboard principale.

Richiesta di esempio

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

Example response

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

Ottieni i tag della dashboard

GET /api/dashboards/tags

Restituisce tutti i tag delle dashboard.

Richiesta di esempio

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

Example response

HTTP/1.1 200 Content-Type: application/json [ { "term":"tag1", "count":1 }, { "term":"tag2", "count":4 } ]