API Dasbor - Amazon Managed Grafana

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

API Dasbor

Gunakan API Dasbor untuk membuat, memperbarui, menghapus, dan bekerja dengan dasbor di ruang kerja Grafana Terkelola Amazon.

Pengenal (id) dasbor adalah nilai numerik yang bertambah otomatis dan hanya unik per ruang kerja. Pengenal unik (uid) dasbor dapat digunakan untuk mengidentifikasi dasbor secara unik di antara beberapa ruang kerja Grafana yang Dikelola Amazon. Ini dibuat secara otomatis jika Anda tidak menyediakannya saat Anda membuat dasbor. Uid memungkinkan memiliki URL yang konsisten untuk mengakses dasbor dan saat menyinkronkan dasbor antara beberapa ruang kerja. Penggunaan uid berarti bahwa mengubah judul dasbor tidak merusak tautan bookmark apa pun ke dasbor itu.

Uid dapat memiliki panjang maksimal 40 karakter.

catatan

Untuk menggunakan Grafana API dengan ruang kerja Grafana Amazon Managed, Anda harus memiliki token Grafana API yang valid. Anda menyertakan ini di Authorization bidang dalam permintaan API. Untuk informasi tentang cara membuat token untuk mengautentikasi panggilan API Anda, lihatOtentikasi dengan token.

Buat/Perbarui dasbor

POST /api/dashboards/db

Membuat dasbor baru atau memperbarui dasbor yang ada.

Contoh permintaan untuk membuat dasbor baru

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 }

Skema tubuh JSON:

  • dashboard — Model dasbor lengkap. Gunakan null untuk membuat dasbor baru.

  • dashboard.id — Gunakan null untuk membuat dasbor baru.

  • dashboard.uid - Pengidentifikasi unik opsional saat Anda menggunakan ini untuk membuat dasbor baru. Jika null, uid baru dihasilkan.

  • folderid — Id folder untuk menyimpan dasbor.

  • FoldeRuid — Uid folder untuk menyimpan dasbor. Mengesampingkan nilai folderid

  • overwrite - Tentukan true untuk menimpa dasbor yang ada dengan versi yang lebih baru, judul dasbor yang sama di folder atau uid dasbor yang sama.

  • message - Tetapkan pesan komit untuk riwayat versi.

  • refresh - Atur interval penyegaran dasbor. Jika ini lebih rendah dari interval penyegaran minimum, itu diabaikan dan interval penyegaran minimum digunakan.

Untuk menambah atau memperbarui aturan peringatan untuk panel dasbor, deklarasikan blok. dashboard.panels.alert

Contoh permintaan untuk memperbarui aturan peringatan dasbor

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

Contoh respon

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 }

Kode Status:

  • 200 - Dibuat

  • 400 - Kesalahan seperti JSON tidak valid, bidang tidak valid atau hilang

  • 401 - Tidak Sah

  • 403 — Akses ditolak

  • 412 — Prasyarat gagal

Kode status 412 digunakan untuk menjelaskan mengapa dasbor tidak dapat dibuat.

  • Dasbor telah diubah oleh orang lain status=version-mismatch

  • Dasbor dengan nama yang sama di folder sudah ada status=name-exists

  • Dasbor dengan uid yang sama sudah ada status=name-exists

  • Dasbor milik plugin plugin title status=plugin-dashboard

Badan respons memiliki sifat-sifat berikut. Jika dasbor lain memiliki judul yang sama, status nilainya adalahname-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" }

Dapatkan dasbor dengan uid

GET /api/dashboards/uid/:uid

Mengembalikan dasbor yang cocok dengan uid. Metadata yang dikembalikan mungkin berisi informasi tentang UID folder yang berisi dasbor.

Permintaan contoh

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

Contoh respon

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

Kode Status:

  • 200 — Ditemukan

  • 401 - Tidak Sah

  • 403 — Akses ditolak

  • 404 - Tidak ditemukan

Hapus dasbor dengan uid

DELETE /api/dashboards/uid/:uid

Menghapus dasbor yang cocok dengan uid.

Permintaan contoh

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

Contoh respon

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

Kode Status:

  • 200 - Dihapus

  • 401 - Tidak Sah

  • 403 — Akses ditolak

  • 404 - Tidak ditemukan

Mendapat dasbor rumah

GET /api/dashboards/home

Mengembalikan dasbor rumah.

Permintaan contoh

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

Contoh respon

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

Dapatkan tag dasbor

GET /api/dashboards/tags

Mengembalikan semua tag dasbor.

Permintaan contoh

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

Contoh respon

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