share facebook facebook2 twitter menu hatena pocket slack

2016.01.25 MON

(超メモ)ちょっとしたスクリプトで Elastic Kibana 4 を実現する

川原 洋平

WRITTEN BY川原 洋平

あまりニーズが無いのかもしれないけど…

tl;dr

自分のざっくりとした理解では Kibana4 のダッシュボードを作るまでの工程は以下の通りかと。

  1. Discover でメトリクスを検索して search オブジェクトとして保存
  2. Visualize で search オブジェクトを利用して visualize オブジェクトを作成して保存
  3. Dashboard で visualize オブジェクトを利用して作成

例えば 1. で 100 パターンのクエリで Search オブジェクト作る時にどうするんだろうと思って調べてやってみたメモ。

メモ

参考

tech.naviplus.co.jp

Import と Export

まず、気付いたのは Settings > Objects の Edit Saved Objects にある ImportExport ボタン。

20151126210205

でも、100 個のオブジェクトを Import したりするのは辛い。

オブジェクトは Elasticsearch に保存されている

例えば、Searches の Export したデータは以下のようなデータ。

[
  {
    "_id": "template01",
    "_type": "search",
    "_source": {
      "title": "template01",
      "description": "",
      "hits": 0,
      "columns": [
        "_source"
      ],
      "sort": [
        "CHECK_DATE_TIME",
        "desc"
      ],
      "version": 1,
      "kibanaSavedObjectMeta": {
        "searchSourceJSON": "{"index":"[pm25_]YYYY-MM-DD","highlight":{"pre_tags":["@kibana-highlighted-field@"],"post_tags":["@/kibana-highlighted-field@"],"fields":{"*":{}},"fragment_size":2147483647},"filter":[],"query":{"query_string":{"query":"mon_st_name:\"香椎\"","analyze_wildcard":true}}}"
      }
    }
  }
]

このデータは Elasticsearch に保存されていることを知る。

20151126211731

Elasticsearch の .kibana というインデックスに放り込まれていて、それぞれ Search は search という Type で Visualize は visualize という Type に放り込まれている。

ということは…

Elasticsearch にスクリプトで放り込めば良さそう…ということで、以下のようなスクリプトを作って放り込んでみた。

以下のようなリストを place_name.tsv ファイルで用意して放り込む。

門司観測局 pm25-00001
松ヶ江観測局 pm25-00002
門司港観測局 pm25-00003
門司測定所 pm25-00004
若松観測局 pm25-00005

うまく放り込めると以下のように Objects の searches にリストアップされる。

20151126214321

右の目のアイコンをクリックすると以下のようにインデックスから検索結果が表示される。

20151126214625

ついでに Visualize も同じように以下のようなスクリプトを作って放り込んでみた。

Visualize も先述のようなリストを利用して Elasticsearch に放り込むと Search オブジェクトから Visualize オブジェクトの作成がサクッと…。尚、savedSearchId は Search オブジェクトの ID と同じ値にしておく必要があるのがちょっと注意。

20151126215123

これは便利かも。

ということで

Elastic(柔軟な)Kibana ということで、以上、メモでございました。

元記事はこちら

(超メモ)ちょっとしたスクリプトで Elastic Kibana 4 を実現する