Skip to content

Instantly share code, notes, and snippets.

@hidepin
Last active September 21, 2022 04:31
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hidepin/d320273962cd232198b66385831802b7 to your computer and use it in GitHub Desktop.
Save hidepin/d320273962cd232198b66385831802b7 to your computer and use it in GitHub Desktop.

Kibana dashboard export and import

概要

本ドキュメントでは、作成したdashboardを他の環境でも表示できるようにする方法についてまとめる。

2案あるが、curlコマンドでexport/importする案のほうがindexパターンもコピーできるため簡易

  1. Kibana GUI方式

    1. Kibanaをブラウザで開く
    2. Management -> Saved Objects -> Export Everything を実行しすべてのdashboard/visualizeを出力する
    3. 2. でexportした設定ファイルから、他の環境で表示したいdashboardとdashboardに含まれるvisualize以外を削除する
    4. Management -> Index Patternsで、dashboardで使用するindex patternsを作成する。
    5. 4. で作成したindex patternsのidを調べ、3. で編集したjsonファイルのindex idを 4. に変更する    6. 新環境にデータを登録する    7. 新環境のKibanaにアクセスし、Management -> Saved Objects -> import から 5. で修正したjsonファイルをインポートする
  2. curlコマンド方式

    1. 他の環境で表示したいdashboardのidを調べる (dashboardのURL等から読み取る)
    2. curlコマンドでexportする
      • dashboard/visualizeのtitleやlabel等にマルチバイト文字を含まない場合
        curl -XGET "http://localhost:5601/api/kibana/dashboards/export?dashboard=<dashboard id>" > export.json
        
      • dashboard/visualizeのtitleやlabel等にマルチバイト文字を含む場合
        curl -z 10 --ignore-content-length -XGET "http://localhost:5601/api/kibana/dashboards/export?dashboard=<dashboard id>" > export.json
        
    3. 新環境にデータを登録する    4. 新環境に 2. でexportしたjsonファイルをcurlコマンドでimportする        
      curl -XPOST http://<new host>:5601/api/kibana/dashboards/import -H 'kbn-xsrf:true' -H 'Content-type:application/json' -d @export.json
      

案の違い

案1のkibanaのGUIを使用してexportしたjsonファイルには、index patternが含まれていない。 案2には、含まれるため案2のほうが簡易 ただし、同名のindex patternが新環境に含まれていない必要がある。

その他

  • 5.5から導入された機能と思われる
  • ドキュメントへの記載はない
  • title等に日本語が入っている場合は、通常のcurlではダウンロードできない。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment