脳汁portal

アメリカ在住(だった)新米エンジニアがその日学んだIT知識を書き綴るブログ

grafanaでAPIを使ってCUIからダッシュボードを作成する方法

CUIから

1. API keyの発行

grafanaのGUIからAPI keyを発行します
f:id:portaltan:20160527090420p:plain

ユーザ名を入力し、RoleをAdminに変更してAddボタンを押します
f:id:portaltan:20160527090552p:plain

APIのKeyが表示されるのでメモしておきます
f:id:portaltan:20160527090759p:plain

2. jsonファイルの作成

ダッシュボードの設定ファイルをjsonで作成します
名前はなんでもいいです(今回はtest.json)にしました

{
  "dashboard": {
    "id": null,
     .
     .
     .
   },
   "overwrite": false
}
  • 1行目のようにdashboardと指定しないとclassification errorで作成されません
  • idをnullにすると新規に作成します
  • overwrite: falseは既存のダッシュボードの設定を上書きしないという設定です(念のため)
3. APIからダッシュボードの作成

コマンドは

curl -H "Authorization: Bearer {YOUR_AUTH_KEY}" http://{YOUR_GRAFANA_ADDRESS}/api/dashboards/db -H "Accept: application/json" -H "Content-type: application/json" -X POST -d @{JSON_FILE_NAME} 

curl http://192.168.33.13:3000/api/dashboards/db \
-H "Authorization: Bearer hogehogehogeohgeohgeohgeohgoehgoehgoeg" \
-H "Accept: application/json" \
-H "Content-type: application/json" \
-X POST -d @test.json

問題なく作成が完了すれば
{"slug":"ダッシュボード名","status":"success","version":0}
と表示されます。

以上で完了です

4. 確認

以下のコマンドでダッシュボード情報も取得できます

curl -H "Authorization: Bearer {YOUR_AUTH_KEY}" http://{YOUR_GRAFANA_ADDRESS}/api/dashboards/db/{DASHBOARD_NAME}

GUIから

ちなみにGUIから作成するときは以下のImportから作ります
f:id:portaltan:20160527092624p:plain