ログ周り

**Fluentd(datacounter)+Growthforecast**

<br>

## バックエンド

### [Elasticsearch](http://www.elasticsearch.org/)
全文検索時エンジン+RestfullAPI。
最近人気急上昇らしく事例も増えてきている様子。
https://github.com/uken/fluent-plugin-elasticsearch

### [Graphite](http://graphite.wikidot.com/)
リアルタイムにグラフを生成するためのバックエンド。
python製であり、以下の３つのコンポーネントで構成されている。
* graphite webapp
グラフ描画/APIを提供するDjangoアプリ。
* carbon
時系列DBを提供するバックエンド。
* whisper
RRDToolsの代替？
https://github.com/studio3104/fluent-plugin-graphite


### [InfluxDB](http://influxdb.org/)
時系列データベース+API。
Go製。
Database/series(Table)というRDBMSっぽい管理ができる。でもスキーマレス。
https://github.com/fangli/fluent-plugin-influxdb


<br>

## 可視化ツール
### [Kibana](http://www.elasticsearch.org/overview/kibana/)

[Kibana 4 Beta ](http://www.elasticsearch.org/blog/kibana-4-beta-3-now-more-filtery/)

ダッシュボードを自分でカスタマイズできる（ある程度自分で作りこむ必要性あり）
集計／フィルタ出来る。
集計だけでなく、生ログ検索が出来るのが良い。
今回紹介する中では一番柔軟に出来そうなイメージ。
[Splunk](http://ja.splunk.com/)に近い?という印象。
![kibana.png](https://qiita-image-store.s3.amazonaws.com/0/9099/22bd9078-2629-16b6-96e6-19ef8e3a3f10.png)

### [Grafana](http://grafana.org/)
Graphiteをバックエンドとし、Kibanaっぽいダッシュボードを生成するためのソリューション。

Kibanaと同様に、GrafanaもただのWebページで構成されている。
バックエンドはGraphite or InfluxDB。ただしダッシュボードの保存にはElasticsearchを利用しているらしい。

![grafana-bks.png](https://qiita-image-store.s3.amazonaws.com/0/9099/a66574c0-ae28-91fc-c6b6-cf652ad7d954.png)


### [Tasseo](http://dashboarddude.com/blog/2013/11/09/dashboard-tasseo/)
Graphite/InfluxDBのリアルタイムダッシュボード生成ツール。
Ruby製のwebサーバ。
出来ることは少ないが、config.jsにメトリクスを羅列するだけで
リアルタイムグラフが描けるお手軽さは良い。
サーバのリソース監視には向いて無いかも…<sub><a href="#1">1</a></sub>

![tasseo.png](https://qiita-image-store.s3.amazonaws.com/0/9099/34e1efb9-d8c2-a0c7-fb9b-b2c690e0c554.png)

### [Giraffe](http://dashboarddude.com/blog/2013/12/16/dashboard-giraffe/)
Graphiteのダッシュボード生成ツール。
dashboard.jsを設定するだけでいい感じに可視化出来る。
以下で「ユーザデータ集計／サーバリソース監視／HTTPリクエスト集計」 などのダッシュボードデモが見れる。
とても良さそうな印象<sub><a href="#1">1</a></sub>。
[Giraffeデモサイト](http://giraffe.kenhub.com/)
![giraffe.png](https://qiita-image-store.s3.amazonaws.com/0/9099/0401a4f5-e65b-168a-1dc9-d3a62509b06c.png)



### [Influga](http://hakobera.github.io/influga/)
InfluxDBのダッシュボード生成用ツール。Grafanaの対抗馬？
Node製。
設定は画面からポチポチ系だが
Kibanaなどと比べるとだいぶお手軽にグラフを作ることが出来る<sub><a href="#1">1</a></sub>。
まだリリースされたばかりということもあり、表示が微妙なところもあったり。
しかし開発は活発なようです。
![influga.png](https://qiita-image-store.s3.amazonaws.com/0/9099/b8c25023-2e22-31b0-dc5b-2af4f34ca693.png)

<br>

## 番外編：[Norikra](http://norikra.github.io/)
ストリーム集計ツール。SQLっぽく検索集計出来るのが特徴。
上記とは少しロールが異なり、直接バックエンドになるという感じではなく
集計する部分にのみ特化しているツール。
ログ収集の途中に差し込んで集計を柔軟／楽にする、という立ち位置？
（Fluentdでいうところのdatacounterとかその辺りをさらに柔軟に書くことが出来る）
また、JVMを運用したことがないのでその辺りが不安ポイント。

### Fluetndプラグイン
https://github.com/norikra/fluent-plugin-norikra

<br>

# まとめ

## 表にしてみた

|可視化ツール名|構成要素|時系列DB|
|:-----------|------------:|:------------:|
|Kibana4|JRuby|Elasticsearch|
|Grafana|webページ|Graphite/InfluxDB|
|Tasseo|Ruby|Graphite/InfluxDB|
|Giraffe|webページ|Graphite|
|Influga|Node.js|InfluxDB|


## 参考

* [Norikra vs InfluxDB](http://blog.livedoor.jp/sonots/archives/37980269.html)
* [Grafana on InfluxDB をちょっとだけ触ってみた](http://qiita.com/sonots/items/8fbc92ff1c3e57ee7de7)
* [Norikra 0.1を使ってみた](http://qiita.com/harukasan/items/a7c1dd1a11a61cd1ad75)
* [InfluxDB を引き続き触ってみるぜよ（Grafana とか使ってみる）](http://hogehuga.inokara.com/2014/04/20/influxdb-dashboard.html)
* [InfluxDB と fluentd を組み合わせを試してみた](http://qiita.com/hakobera/items/fbe7669a1c2b763bcd8d)
* [dstat + fluentd + Graphite + Grafana でサーバモニタリングする ](http://blog.nomadscafe.jp/2014/04/dstat-fluentd-graphite-grafana.html)
* [dstat + fluentd + Elasticsearch + kibana でサーバモニタリングする](http://blog.nomadscafe.jp/2014/03/dstat-fluentd-elasticsearch-kibana.html)