elasticsearch kibana バックアップ

kibanaのダッシュボードのバックアップ

そもそもkibanaのダッシュボードってどこに保存してるんだ?って思ったら 普通にelasticsearchでしたね。どっかでちらっとみたことあったはずでした。

elasticsearchのindexを確認 [shell gutter="false"] [astel@localhost ~]$ curl -XGET localhost:9200/_aliases?pretty { "logstash-2014.11.24" : { }, "logstash-2014.11.27" : { }, "logstash-2014.12.02" : { }, "logstash-2014.11.26" : { }, "logstash-2014.11.23" : { }, "logstash-2014.11.21" : { }, "logstash-2014.11.22" : { }, "logstash-2014.11.29" : { }, "logstash-2014.11.30" : { }, "logstash-2014.11.28" : { }, "logstash-2014.12.03" : { }, "logstash-2014.12.01" : { }, "kibana-int" : { }, "logstash-2014.11.25" : { } } [/shell]

バックアップをとる 参考 elasticsearchでインデックスのバックアップ、リストア http://qiita.com/toyama0919/items/ccd5eb9169967db54a76

esclientというものが必要ということなのでinstallします。 [shell gutter="false"] $ sudo easy_install esclient [/shell] ちなみに自分のサーバには既に入ってました。

入ってないサーバは [shell gutter="false"] wget http://peak.telecommunity.com/dist/ez_setup.py python ez_setup.py easy_install esclient [/shell] でいれました

今回はkibanaのダッシューボードをバックアップしたかったので [shell gutter="false"] $ esdump --url http://localhost:9200/ --indexes kibana-int --bzip2 --file kibana-int-esdump.bz2 [/shell] kibana-int-esdump.bz2というバックアップファイルがでてきました。

では今度はリストアします。 既にkibana-intが合っても上書きしてくれる?ということなので適当にローカルにたてて実行してみました。

[shell gutter="false"] [astel@vagrant ~]$ curl -XGET localhost:9200/aliases?pretty { "logstash-2014.12.03" : { } } [astel@vagrant ~]$ [/shell] kibanaで適当になダッシュボードを作成します。 indexが作られるので下記のようにkibana-intがでてきます。 [shell gutter="false"] [astel@vagrant ~]$ curl -XGET localhost:9200/aliases?pretty { "kibana-int" : { }, "logstash-2014.12.03" : { } } [astel@vagrant ~]$ [/shell]

ここで先ほどとってきたkibana-int-esdump.bz2を突っ込みます。 [shell gutter="false"] [astel@vagrant ~]$ esimport --url http://localhost:9200 --file kibana-int-esdump.bz2 Indexing of 1 documents completed [/shell]

すると先ほど作ったダッシュボードは残ったまま、バックアップして持ってたダッシュボードデータも入ってました。 ダッシュボード名が同じだと新しい方に上書きされる感じなんでしょうか? 問題なくリストアできました!

糸冬