Symfoware

Symfowareについての考察blog

Elasticsearch + kibana ダッシュボードの設定

Elasticsearchをインストール。
kibanaの設置まで行いました。

Debian 7 + kibana 3.1.2 + nginxの環境構築

kibanaで登録されているデータを可視化してみます。



ダミーデータ



日付と売上金額をイメージしたダミーデータを作成します。

sales-indexインデックスの、doc_type='sales-daily'に
dayとamountというデータを作成。


  1. # -*- coding:utf-8 -*-
  2. from elasticsearch import Elasticsearch
  3. from elasticsearch import helpers
  4. def main():
  5.     
  6.     import datetime
  7.     import random
  8.     
  9.     d = datetime.datetime(2014, 1, 1)
  10.     today = datetime.datetime.now().strftime('%Y-%m-%d')
  11.     
  12.     
  13.     mapping = {
  14.         "sales-daily": {
  15.             "properties": {
  16.                 "day": {
  17.                     "type": "date",
  18.                     "index" : "not_analyzed"
  19.                 },
  20.                 "amount": {
  21.                     "type": "integer",
  22.                     "index" : "not_analyzed"
  23.                 }
  24.             }
  25.         }
  26.     }
  27.     
  28.     
  29.     # コネクション確立
  30.     es = Elasticsearch(host='192.168.1.103', port=9200)
  31.     
  32.     # 登録用のインデックス作成
  33.     es.indices.create(index='sales-index')
  34.     
  35.     # 作成したインデックスのマッピングを指定
  36.     es.indices.put_mapping(index='sales-index', doc_type='sales-daily', body=mapping)
  37.     
  38.     
  39.     # 適当にダミーデータを設定
  40.     while True:
  41.         
  42.         doc = {
  43.             'day' : d,
  44.             'amount' : random.randint(1, 1000)
  45.         }
  46.         
  47.         es.index(index="sales-index", doc_type='sales-daily', body=doc)
  48.         
  49.         if d.strftime('%Y-%m-%d') == today:
  50.             break
  51.         
  52.         d += datetime.timedelta(days=1)
  53.         
  54. if __name__ == '__main__':
  55.     main()








ダッシュボードの設定



X軸が日付(day)、Y軸が売り上げ(amount)の折れ線グラフを設定してみます。

kibanaのトップページから「Blank Dashboard」のリンクをクリック。

507_01.png


右上の「configure dashboard」をクリック。

507_02.png


Generalタブで、ダッシュボードの名前を決めます。

507_03.png


Indexタブで、データの表示に使用するインデックスを決めます。
今回の場合は「sales-index」です。

507_04.png


日付データとして認識するフィールド名を指定します。
デフォルトは@timestampとなっています。レコードの作成日時のようですね。

dayフィールドを日付として認識するよう指定します。

507_05.png


指定が終わったら「Save」ボタンをクリック。
ダッシュボードの画面に戻ります。

画面右下「ADD A ROW」をクリックして、グラフを表示するための行を追加します。

507_06.png


適当に行の名称を指定し、「Create Row」をクリック。

507_07.png


行が追加されました。
「Save」をクリックします。

507_08.png


行が追加されました。
「Add Panel to empty row」をクリックしてパネルを追加します。

507_09.png


パネルのタイプは「histgram」
タイトルに「売り上げ」
Valuesは「total」を選択し、フィールドに「amount」を指定します。

Time Fieldは「day」を選択し、intervalは「1d」としました。

507_10.png


Chart Optionsでは、「Lines」を選択して折れ線グラフにします。
お設定が終わったら「Save」をクリック。

507_11.png


グラフになりました。

507_12.png





表示範囲の変更



登録されているデータ全てがグラフに表示されています。
上の「Time Filter」で「Last 30d」を選択します。

507_13.png


直近30日間分のグラフになりました。

507_14.png




グラフの保存とロード



QUERYやFILTERINGを折りたたんで見やすくしました。
フロッピーアイコンの「Save」をクリックします。

507_15.png


適当にダッシュボードの名前をつけて保存を実行します。

507_16.png


ロードはトップページのフォルダアイコンから行えます。

507_17.png


このダッシュボード設定のデータは「kibana-int」という
インデックスに保存されるようです。

507_18.png





関連記事

テーマ:サーバ - ジャンル:コンピュータ

  1. 2014/11/09(日) 22:04:40|
  2. 備忘録
  3. | トラックバック:0
  4. | コメント:0
  5. | 編集
<<Elasticsearch + kibana 3 複数軸の折れ線グラフを描画する | ホーム | Debian 7 + kibana 3.1.2 + nginxの環境構築>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://symfoware.blog68.fc2.com/tb.php/1546-59328d7a
この記事にトラックバックする(FC2ブログユーザー)