ログ収集系の個人的まとめ

## 2019/05/16 更新しました。エラー検知ツールを紹介

ログ収集系の個人的な超簡易的なまとめです。
僕みたいなそんなの全然追っかけてないけど、運用監視のシステムを作る必要あったので最近のセオリーを調べないとな－っていう人向け。
既にもっと詳しいものはありますが、自分でまとめたかったのでまとめてみました。
とりあえずは有名どころの名前を羅列して最低限俯瞰できるようにしておきます。
※内容間違っているとかあったら指摘ください。

## エラー検知(エラートラッキング or エラーモニタリング)ツールについて
厳密にはログ収集と言ってはいけないかもしれませんが。。。
最近使い始めたのでおすすめしておきます。主にJavaScriptなどのフロントエンド向けですが、PHPやNode.jsなどのサーバーサイドもエラー検知可能です。

僕が今使っているのはSentryです。無料で十分使えて綺麗な管理画面もあって、正直公開前提の中小規模Webサービスならこれで良いんじゃないかなと思っています。
無論、大規模システムや社内ネットワークなどでは依然としてログ収集から解析までいろんなシステムを挟む必要はあると思いますが、
とりあえずWebサービスやスマートフォンアプリなどではこれらのツールで十分かなと。

- Sentry
- Rollbar
- Airbrake ( OSSなら errbit )
- Raygun
- Bugsnag


## 最近のセオリー
ログ収集＋ログ集積＋ログ解析（という名のダッシュボード）
これら３つのOSSプロダクトを組み合わせるのがセオリーです。
Zabbixなどのようなひとまとめは大量のホストがある時やパフォーマンス、柔軟にログを受け入れる必要があるときは使えません。
特に最近ではクラウドサーバーというかDockerなどのコンテナ系仮想技術の影響でサーバー台数も増えたり減ったり可変であったりします。
そんな環境のために、ログ収集に特化したOSSプロダクトが多く出て、それを支える様々なツールが出ているというのが現状かなと思います。

## ログ収集
- Fluentd
- Logstash
- Apache Flume

辺りが有名どころ。
個人的には知名度やプラグインの多さ、設定の書きやすさからFluentdがおすすめです。
ちなみにバッチ的に使いたいのなら「Embulk」がおすすめ。
ログ収集に入るか分からないですが、zabbixもありかなと。

### クラウド環境向けのログ収集について
クラウド環境に特化したログ集積サービスもいくつかあったので追加でまとめてみます。
Stackdriver LoggingはGCP環境向けSaaS、Datadog Logsはログ集積系で最近来ているSaaSです。

- Datadog Logs
- Stackdriver Logging

## ログ集積
- Elasticsearch
- InfluxDB
- MongoDB
- Datadog
- AWS CloudSearch
- AWS S3
- AWS Redshift
- GCP BigQuery


辺りが有名どころ。
こちらはデファクトスタンダード的にはElasticsearchですが、ログ収集PGは一通りのDBに対応しているので好みで選ぶ。
個人的に業務というか現場で導入するのなら既に動いているMySQLなどの普通のRDBMSに格納して、誰でもどこでも取り出せるようにすると良いと思ってます。

## ログ解析・ダッシュボード系
BIツールかPython、Ruby、Go言語辺りで解析するのが定石。
BIツールに関しては有償製品ならTableau、OSSならKibana、Grafanaかな。
個人的にはGUIで一通り構築できるGrafanaが好き。

ちなみにTableauでElasticsearchに接続するにはプラグイン的なものが必要なようです。
elasticsearch-tableau-connector https://github.com/mradamlacey/elasticsearch-tableau-connector

最近はDatadogが来ているような気がします。

## 参考になりそうなURL
ログ収集して解析したい方へのもっと詳しい参考になりそうなWebページを羅列しておきます。

ログ収集ツールの比較 - Qiita
http://qiita.com/ykzkiy/items/eef3071a0667cb4d5136

Elasticsearch導入前に気を付けておきたいこと！ - Qiita
http://qiita.com/uzresk/items/e0b10c14875b79c450f2

Fluentd + Elasticsearch + Kibanaで行うログの分析と可視化
https://www.slideshare.net/keisuke69/aws-night

Norikra + Fluentd+ Elasticsearch + Kibana リアルタイムストリーミング処理ログ集計…
https://www.slideshare.net/daisuke-a-matsui/norikra-fluentd-elasticsearch-kibana

ElasticSearch+Kibanaでログデータの検索と視覚化を実現するテクニックと運用ノウハウ
https://www.slideshare.net/y-ken/elasticsearch-kibnana-fluentd-management-tips

Kibanaでsysstatを可視化する
https://www.slideshare.net/raihaku/kibanasysstat

Zabbixの監視情報をGrafanaでグラフィカルなダッシュボードに！！ | OSS on Azure 技術ブログ
http://azure.sios.jp/archives/4979

単一のダッシュボードから関連するすべての製造データを監視 | Tableau Software
https://www.tableau.com/ja-jp/solutions/workbook/monitor-all-relevant-production-data-single-dashboard

Elasticsearch、Logstash 、Kibana、によるログの可視化　～価値のある情報を導き出す方法のご紹介 ～ | キャスレーコンサルティング　技術ブログ
http://www.casleyconsulting.co.jp/blog-engineer/%E3%83%87%E3%83%BC%E3%82%BF%E8%A7%A3%E6%9E%90/elasticsearch%E3%80%81logstash-%E3%80%81kibana%E3%80%81%E3%81%AB%E3%82%88%E3%82%8B%E3%83%AD%E3%82%B0%E3%81%AE%E5%8F%AF%E8%A6%96%E5%8C%96%E3%80%80%EF%BD%9E%E4%BE%A1%E5%80%A4%E3%81%AE%E3%81%82%E3%82%8B/

Flumeを活用したAmebaにおける大規模ログ収集システム
https://www.slideshare.net/iijiji0314/flumeameba

Hadoopを用いた大規模ログ解析
https://www.slideshare.net/iidashuichi/hadoop-7576791

実運用が分かる、OSSでログ管理入門（1）：Fluentd＋Elasticsearch＋Kibanaで作るログ基盤の概要と構築方法 (2/2) - ＠IT
http://www.atmarkit.co.jp/ait/articles/1704/06/news013_2.html

フロントエンドのエラーを「Sentry」で可視化！技術力の向上にも効果的な、その活用法 | SELECK [セレック]
https://seleck.cc/778

エラー監視には Sentry が超便利！ - Qiita
https://qiita.com/Chanmoro/items/a9cbde57fd6c0926b5b4

## 最後に
本業では普通のSEとして大手食品系企業に直受けで入っていました。
その現場が運用監視のシステムがないため構築のためにこれらを調査しました。

結果的にはZabbix+Grafanaという形にしました。
その現場ではTableauを使っていたので運用監視のログ解析も乗せようと思ったのですが、色々あって重すぎて使えない。。。
なので、Grafanaで運用監視のダッシュボード作ったという感じ。
Kibanaと違ってダッシュボードへのデータを載せる作業が凄いやりやすいGUIだったので導入してます。
特に本業というか業務ではチームのため引き継ぎやスキルなしの方を考えないといけなかったので。。。

結局Fluentdはお仕事では使わなかったですが、とりあえずこうやって纏めれるだけ知識はついたので満足です。

## 宣伝
最後に軽く宣伝です。
2019年の冬のコミケ C97にて情報系評論出します。
サークル「Corner AuZ」 場所は「三日目月曜 南ヒ05b」
内容的には様々な仮想通貨を１ページ１通貨で解説する全60Pのオフセット本です。
https://webcatalog.circle.ms/Circle/14813510
https://twitter.com/cornerauz/status/1209066778183094272