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

Utilizza l'API Dashboard Versions per recuperare le versioni della dashboard e ripristinare una dashboard a una versione specificata.

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.

Ottieni tutte le versioni della dashboard

GET /api/dashboards/id/:dashboardId/versions

Ottiene tutte le versioni della dashboard esistenti per la dashboard fornitadashboardId.

Parametri di interrogazione:

  • limit: numero massimo di risultati da restituire.

  • start — Versione da cui iniziare quando si restituiscono le query.

Richiesta di esempio

GET /api/dashboards/id/1/versions?limit=2?start=0 HTTP/1.1 Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

Example response

HTTP/1.1 200 OK Content-Type: application/json; charset=UTF-8 Content-Length: 428 [ { "id": 2, "dashboardId": 1, "parentVersion": 1, "restoredFrom": 0, "version": 2, "created": "2017-06-08T17:24:33-04:00", "createdBy": "admin", "message": "Updated panel title" }, { "id": 1, "dashboardId": 1, "parentVersion": 0, "restoredFrom": 0, "version": 1, "created": "2017-06-08T17:23:33-04:00", "createdBy": "admin", "message": "Initial save" } ]

Codici di stato:

  • 200 — OK

  • 400 — Errori

  • 401 — Non autorizzato

  • 404 — Versione del pannello di controllo non trovata

Ottieni la versione della dashboard

GET /api/dashboards/id/:dashboardId/versions/:id

Ottieni la versione della dashboard con l'ID fornito, per la dashboard con il datodashboardId.

Richiesta di esempio

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

Example response

HTTP/1.1 200 OK Content-Type: application/json; charset=UTF-8 Content-Length: 1300 { "id": 1, "dashboardId": 1, "parentVersion": 0, "restoredFrom": 0, "version": 1, "created": "2017-04-26T17:18:38-04:00", "message": "Initial save", "data": { "annotations": { "list": [ ] }, "editable": true, "gnetId": null, "graphTooltip": 0, "hideControls": false, "id": 1, "links": [ ], "rows": [ { "collapse": false, "height": "250px", "panels": [ ], "repeat": null, "repeatIteration": null, "repeatRowId": null, "showTitle": false, "title": "Dashboard Row", "titleSize": "h6" } ], "schemaVersion": 14, "style": "dark", "tags": [ ], "templating": { "list": [ ] }, "time": { "from": "now-6h", "to": "now" }, "timepicker": { "refresh_intervals": [ "5s", "10s", "30s", "1m", "5m", "15m", "30m", "1h", "2h", "1d" ], "time_options": [ "5m", "15m", "1h", "6h", "12h", "24h", "2d", "7d", "30d" ] }, "timezone": "browser", "title": "test", "version": 1 }, "createdBy": "admin" }

Codici di stato:

  • 200 — OK

  • 401 — Non autorizzato

  • 404 — Versione del pannello di controllo non trovata

Ripristina la dashboard

POST /api/dashboards/id/:dashboardId/restore

Ripristina una dashboard alla versione specificata dall'utente.

Richiesta di esempio

POST /api/dashboards/id/1/restore Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk { "version": 1 }

Schema del corpo JSON:

  • versione: la versione del dashboard in cui eseguire il ripristino.

Example response

HTTP/1.1 200 OK Content-Type: application/json; charset=UTF-8 Content-Length: 67 { "slug": "my-dashboard", "status": "success", "version": 3 }

Schema del corpo di risposta JSON:

  • slug: lo slug che contiene il titolo della dashboard in formato URL.

  • status: indica se il ripristino è riuscito o meno.

  • versione: la nuova versione del dashboard dopo il ripristino.

Codici di stato:

  • 200 — Creato

  • 401 — Non autorizzato

  • 404 — Dashboard o versione della dashboard non trovata

  • 500 — Errore interno del server (indica un problema durante il recupero dei tag del dashboard dal database)

Esempio di risposta all'errore:

HTTP/1.1 404 Not Found Content-Type: application/json; charset=UTF-8 Content-Length: 46 { "message": "Dashboard version not found" }

Schema del corpo della risposta JSON:

  • messaggio: un messaggio che spiega il motivo dell'errore.

Confronta le versioni della dashboard

POST /api/dashboards/calculate-diff

Confronta due versioni della dashboard calcolandone la differenza in JSON.

Richiesta di esempio

POST /api/dashboards/calculate-diff HTTP/1.1 Accept: text/html Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk { "base": { "dashboardId": 1, "version": 1 }, "new": { "dashboardId": 1, "version": 2 }, "diffType": "json" }

Schema del corpo JSON:

  • base: un oggetto che rappresenta la versione base del dashboard.

  • new — Un oggetto che rappresenta la nuova versione del dashboard.

  • difftype — Il tipo di diff da restituire. I valori validi sono json e basic.

Risposta di esempio (JSON diff)

HTTP/1.1 200 OK Content-Type: text/html; charset=UTF-8 <p id="l1" class="diff-line diff-json-same"> <!-- Diff omitted --> </p>

La risposta è una rappresentazione testuale del diff, con i valori della dashboard in JSON, simili alle differenze visualizzate su siti come or. GitHub GitLab

Codici di stato:

  • 200 — OK

  • 200 — Richiesta errata, JSON non valido inviato

  • 401 — Non autorizzato

  • 404 — Non trovato

Risposta di esempio (Basic diff)

HTTP/1.1 200 OK Content-Type: text/html; charset=UTF-8 <div class="diff-group"> <!-- Diff omitted --> </div>

La risposta è un riepilogo delle modifiche, derivate dalla differenza tra i due oggetti JSON.

Codici di stato:

  • 200 — OK

  • 200 — Richiesta errata, JSON non valido inviato

  • 401 — Non autorizzato

  • 404 — Non trovato