Fluentd(datacounter)+Growthforecast
バックエンド
Elasticsearch
全文検索時エンジン+RestfullAPI。
最近人気急上昇らしく事例も増えてきている様子。
https://github.com/uken/fluent-plugin-elasticsearch
Graphite
リアルタイムにグラフを生成するためのバックエンド。
python製であり、以下の3つのコンポーネントで構成されている。
- graphite webapp
グラフ描画/APIを提供するDjangoアプリ。 - carbon
時系列DBを提供するバックエンド。 - whisper
RRDToolsの代替?
https://github.com/studio3104/fluent-plugin-graphite
InfluxDB
時系列データベース+API。
Go製。
Database/series(Table)というRDBMSっぽい管理ができる。でもスキーマレス。
https://github.com/fangli/fluent-plugin-influxdb
可視化ツール
Kibana
ダッシュボードを自分でカスタマイズできる(ある程度自分で作りこむ必要性あり)
集計/フィルタ出来る。
集計だけでなく、生ログ検索が出来るのが良い。
今回紹介する中では一番柔軟に出来そうなイメージ。
Splunkに近い?という印象。
Grafana
Graphiteをバックエンドとし、Kibanaっぽいダッシュボードを生成するためのソリューション。
Kibanaと同様に、GrafanaもただのWebページで構成されている。
バックエンドはGraphite or InfluxDB。ただしダッシュボードの保存にはElasticsearchを利用しているらしい。
Tasseo
Graphite/InfluxDBのリアルタイムダッシュボード生成ツール。
Ruby製のwebサーバ。
出来ることは少ないが、config.jsにメトリクスを羅列するだけで
リアルタイムグラフが描けるお手軽さは良い。
サーバのリソース監視には向いて無いかも…1
Giraffe
Graphiteのダッシュボード生成ツール。
dashboard.jsを設定するだけでいい感じに可視化出来る。
以下で「ユーザデータ集計/サーバリソース監視/HTTPリクエスト集計」 などのダッシュボードデモが見れる。
とても良さそうな印象1。
Giraffeデモサイト
Influga
InfluxDBのダッシュボード生成用ツール。Grafanaの対抗馬?
Node製。
設定は画面からポチポチ系だが
Kibanaなどと比べるとだいぶお手軽にグラフを作ることが出来る1。
まだリリースされたばかりということもあり、表示が微妙なところもあったり。
しかし開発は活発なようです。
番外編:Norikra
ストリーム集計ツール。SQLっぽく検索集計出来るのが特徴。
上記とは少しロールが異なり、直接バックエンドになるという感じではなく
集計する部分にのみ特化しているツール。
ログ収集の途中に差し込んで集計を柔軟/楽にする、という立ち位置?
(Fluentdでいうところのdatacounterとかその辺りをさらに柔軟に書くことが出来る)
また、JVMを運用したことがないのでその辺りが不安ポイント。
Fluetndプラグイン
まとめ
表にしてみた
可視化ツール名 | 構成要素 | 時系列DB |
---|---|---|
Kibana4 | JRuby | Elasticsearch |
Grafana | webページ | Graphite/InfluxDB |
Tasseo | Ruby | Graphite/InfluxDB |
Giraffe | webページ | Graphite |
Influga | Node.js | InfluxDB |