翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ダッシュボード API
ダッシュボード API を使用して、Amazon Managed Grafana ワークスペースのダッシュボードを作成、更新、削除、操作します。
ダッシュボードの識別子 (id) は自動増分数値で、ワークスペースごとに一意です。ダッシュボードの一意の識別子 (uid) は、複数の Amazon Managed Grafana ワークスペース間のダッシュボードを一意に識別するために使用できます。ダッシュボードの作成時に指定しない場合は自動的に生成されます。uid を使用すると、ダッシュボードにアクセスしたり、複数のワークスペース間でダッシュボードを同期したりするための、一貫した URL を設定できます。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 ボディスキーマ:
-
dashboard — 完全なダッシュボードモデルです。新しいダッシュボードの作成には null を使用します。
-
dashboard.id — 新しいダッシュボードの作成には null を使用します。
-
dashboard.uid — これを使用して新しいダッシュボードを作成するときの、一意のオプション識別子です。null の場合は新しい uid が生成されます。
-
folderid — ダッシュボードが保存されるフォルダの ID。
-
folderUid — ダッシュボードが保存されるフォルダの Uid。
folderid
の値を上書きします -
overwrite —
true
を指定すると、既存のダッシュボードが、新しいバージョン、フォルダ内の同じダッシュボードタイトル、または同じダッシュボード uid で上書きされます。 -
message — バージョン履歴のコミットメッセージを設定します。
-
[更新] — ダッシュボード更新間隔を設定します。これが最小更新間隔より小さい場合は、無視されて最小更新間隔が使用されます。
ダッシュボードパネルのアラートルールを追加または更新するには、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 } ]