こんにちは。Kaneyasuです。
以前、GrafanaのHTTP APIでデータソースの設定をするやり方を書きました。
これを利用したらダッシュボードの作成も自動化できるんじゃないか?と当時思ったのですが、
ダッシュボードの方はエクスポート・インポートの方が圧倒的に楽ということがわかったので書いておきます。
Amazon Managed Grafanaはv9.4で確認しています。
GrafanaのHTTP APIでは細かいところまで設定できない
まずは、ダッシュボードのHTTP APIを確認します。
現状では単純にダッシュボードの作成までしかできないようです。
ダッシュボードは作成して、パネルの設置などをするのが本番なので一旦HTTP APIは置いとくとします。
ダッシュボードのエクスポート
基本公式マニュアルの通りなので、画面ハードコピー交えて改めて書きます。
ダッシュボードのシェアアイコンをクリック。
ダイアログが出てくるので、ExportタブでSave to fileをクリック。
そうすると、JSONファイルがダウンロードできます。
ダウンロードしたJSONは、annotations > list > datasourceの部分以外のid・uidをnullに変えておいた方がよいです。
id・uidが残っていると、JSONをインポートした時に既存のものとぶつかって重複エラーや意図せぬ上書きに繋がります。
idをnullにする
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"id": 1,
↓
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"id": null,
uidもnullにする
"panels": [
{
"datasource": {
"type": "xxx-datasource",
"uid": "9espd8vIz"
},
↓
"panels": [
{
"datasource": {
"type": "xxx-datasource",
"uid": null
},
annotations > list > datasourceのuidはそのままでOK
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
ダッシュボードのインポート
こちらも基本公式マニュアルの通りですが、画面ハードコピー交えて改めて書きます。
Home > Dashboardsを開いて、Newアイコンをクリック。
Importをクリック。
エクスポート&編集したJSONファイルをアップロードします。
アップロードすると、JSONに書かれたダッシュボードが表示されます。
Importボタンをクリックすれば完了します。
この時、エクスポートしたJSONにidやuidが残っている場合、重複を避けるためにuidを振り直すよう促されます。