22
24

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Timelionで線、棒、固定値を含んだグラフを描く

Last updated at Posted at 2016-02-08

Timelionと戯れる

Timelionとは

このあたりを見てもらうとして、「Kibanaで時系列データをもっと活用できたらいいのに」とあるように時系列データに特化した内容のようです。

kibanaだと画面からいろいろ条件を設定してVisualizationからダッシュボードを作っていけるのに対し、
Timelionは、1つの画面でいろいろできる反面、ぱっと見てどうしていいか迷ったので、その備忘録がてらに以下を書いておく。

線グラフをかく

基本は、.es()からスタートするのが良さそう。

↓ これで1つのグラフになる。 追加する場合は、 , で条件を追加していく。

.es(index='logstash-*', q='type:accesslog', timefield='daytime').label('アクセス件数')
parameter名  サンプル例 備考
index logstash-* 検索対象とするインデックスを指定する
q type:accesslog 軸の値(y座標の値)をとる条件
timefield daytime 時間を指定したフィールドを指定する。@timestampとか
label アクセス件数 ラベルを指定する(Legendに出るラベルとなる)

これで、logstash-* に入れられた中から、 type:accesslogで検索し、その件数を timefieldで指定したdaytimeフィールドの値でグラフ描画する、となる。

0001.png

画面右上のトグルメニューからヘルプを出すと、設定できるパラメータを見ることができる。
ただ、使わないで!的なのも含まれているため注意が必要。

0004.png

urlを指定することで、まったく異なるelasticsearchを呼び出して1つの画面内で見せる、ということができそう。
そのうち、elasticsearchのデータと、どこかのOracleDBと、Amazonの何とかサービスのデータをまとめて1つのグラフに、というのが出てきそう。

棒グラフにする

.es(index='logstash-*', q='type:accesslog', timefield='daytime').bars().label('アクセス件数')

棒グラフにする場合は、bars()で指定すると良い。

0002.png

散布図っぽく

線ではなく点をプロットしたい場合は、 points()を使用すると良い。
もっとも、このデータには全くそぐわない・・・。

.es(index='logstash-*', q='type:accesslog', timefield='daytime').points().label('アクセス件数')

0005.png

なんか目標値っぽい固定値を足してみる

elasticsearchの中に固定値を入れずに、グラフに表示するやり方がわからなかったので、無理やりやってみた。
他に良い方法があるかもしれない。 → 正式なやり方がわかったので後述。

アプローチとしては、存在しない値を検索すると0件になるので、その値に対して固定値を足すと、Y座標値が固定できるのでは、というもの。

.es(index='logstash-*', q='type:accesslog', timefield='daytime').label('アクセス件数').bars(), .es(index='logstash-*', q='a:b', timefield='daytime').plus(250).label('目標値=250')

.plus(250) で 0件のカウント値 + 250 = 250 を得ているイメージ。

0003.png

~~

2016/02/19追加

によると、.static()を使うことでベースラインを描くことが可能っぽい。

Timelion   Kibana2.png

.static(value=ここに数値) を入れてやれば良い。軸の追加と同様、staticも足せるし、labelの指定もできる。

.es(index='applicationlog-*', timefield='log_create_date'), .static(value=250000).label('staticテスト'), .static(value=100000).label('staticテスト2')

Timelion   Kibana.png

このstaticが追加された新しいバージョンを使うには、一度古いのを消すと良いようだ。

  • kibana plugin -r timelion
  • kibana plugin -i elastic/timelion

Timelionいいね!

参考にしたサイト

  • 思い切ってelasticのTimelionを取り入れてみた[http://acro-engineer.hatenablog.com/entry/2016/02/04/121500]
22
24
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
22
24

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?