翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ダッシュボード API
Dashboard API を使用して、Amazon Managed Grafana ワークスペースでダッシュボードを作成、更新、削除、操作します。
ダッシュボードの識別子 (id) は自動増分の数値であり、ワークスペースごとにのみ一意です。ダッシュボードの一意の識別子 (uid) を使用して、複数の Amazon Managed Grafana ワークスペース間のダッシュボードを一意に識別できます。ダッシュボードの作成時に指定しない場合、自動的に生成されます。uid を使用すると、ダッシュボードにアクセスしたり、複数のワークスペース間でダッシュボードを同期したりするための一貫した URLs を持つことができます。uid を使用すると、ダッシュボードのタイトルを変更しても、そのダッシュボードへのブックマークされたリンクが破損することはありません。
uid の最大長は 40 文字です。
注記
Amazon Managed Grafana ワークスペースで Grafana API を使用するには、有効な Grafana API トークンが必要です。これは API リクエストの Authorization
フィールドに含めます。API コールを認証するトークンを作成する方法については、「」を参照してくださいトークンによる認証。
ダッシュボードの作成/更新
POST /api/dashboards/db
新しいダッシュボードを作成するか、既存のダッシュボードを更新します。
新しいダッシュボードを作成するリクエストの例
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 }
JSON 本文スキーマ:
-
ダッシュボード — 完全なダッシュボードモデル。null を使用して新しいダッシュボードを作成します。
-
dashboard.id — null を使用して新しいダッシュボードを作成します。
-
dashboard.uid — これを使用して新しいダッシュボードを作成する場合のオプション一意識別子。null の場合、新しい uid が生成されます。
-
folderid — ダッシュボードを保存するフォルダの ID。
-
folderUid — ダッシュボードを保存するフォルダの Uid。の値をオーバーライドします。
folderid
-
上書き — 既存のダッシュボードを新しいバージョン、フォルダ内の同じダッシュボードタイトル、または同じダッシュボード uid で上書き
true
するには、 を指定します。 -
message — バージョン履歴のコミットメッセージを設定します。
-
refresh — ダッシュボードの更新間隔を設定します。これが最小更新間隔より小さい場合は無視され、最小更新間隔が使用されます。
ダッシュボードパネルのアラートルールを追加または更新するには、 dashboard.panels.alert
ブロックを宣言します。
ダッシュボードアラートルールを更新するリクエストの例
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 } }
レスポンスの例
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 }
ステータスコード:
-
200 - 作成済み
-
400 - 無効な JSON、無効なフィールド、欠落しているフィールドなどのエラー
-
401 - 未承認
-
403 - アクセス拒否
-
412 - 前提条件が失敗しました
412 ステータスコードは、ダッシュボードを作成できない理由を説明するために使用されます。
-
ダッシュボードが他のユーザーによって変更されている
status=version-mismatch
-
フォルダに同じ名前のダッシュボードが既に存在する
status=name-exists
-
同じ uid を持つダッシュボードが既に存在する
status=name-exists
-
ダッシュボードがプラグインに属している
plugin title
status=plugin-dashboard
レスポンス本文には、次のプロパティがあります。別のダッシュボードに同じタイトルがある場合、status
値は です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" }
uid でダッシュボードを取得する
GET /api/dashboards/uid/:uid
uid に一致するダッシュボードを返します。返されるメタデータには、ダッシュボードを含むフォルダの UID に関する情報が含まれている場合があります。
リクエストの例
GET /api/dashboards/uid/cIBgcSjkk HTTP/1.1 Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
レスポンスの例
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 } }
ステータスコード:
-
200 - 見つかりました
-
401 - 未承認
-
403 - アクセス拒否
-
404 - 見つかりません
uid でダッシュボードを削除する
DELETE /api/dashboards/uid/:uid
uid に一致するダッシュボードを削除します。
リクエストの例
DELETE /api/dashboards/uid/cIBgcSjkk HTTP/1.1 Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
レスポンスの例
HTTP/1.1 200 Content-Type: application/json { "title": "Production Overview", "message": "Dashboard Production Overview deleted", "id": 2 }
ステータスコード:
-
200 - 削除済み
-
401 - 未承認
-
403 - アクセス拒否
-
404 - 見つかりません
ホームダッシュボードを取得します。
GET /api/dashboards/home
ホームダッシュボードを返します。
リクエストの例
GET /api/dashboards/home HTTP/1.1 Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
レスポンスの例
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" } }
ダッシュボードタグの取得
GET /api/dashboards/tags
ダッシュボードのすべてのタグを返します。
リクエストの例
GET /api/dashboards/tags HTTP/1.1 Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
レスポンスの例
HTTP/1.1 200 Content-Type: application/json [ { "term":"tag1", "count":1 }, { "term":"tag2", "count":4 } ]