エージェントソフトウェアを対象PCにインストール形でサーバの監視・性能測定を行うツールのまとめ。
SaaSサービス
NewRelic
アプリケーションの性能測定が簡単にできるSaaS。あちこちで導入実績があってスタートアップではデフォルト担っているようにさえ感じる。各言語でのプラグインだけがあって、自作アプリ外のサービスは対象外なのかと思っていたが、プラグインのリストをみると色々と対応しているようだ。
Good
- 豊富な実績がある
Bad
- インターネットにつながっていないと利用できない。
参考リンク
DataDog
"Cloud Monitoring as a Service"とHPタイトルにしっかり明記されている。後述するMackerelと真っ向からバッティングする海外サービスはきっとこれなんだろうと思う。エージェントはOSSで公開されていて、Pythonで作られているよう。
Good
- ある程度実績がある・・・のだと思う
- イベントとグラフが並んでいるUIは見やすくていいかも
Bad
- インターネットにつながっていないと利用できない。
- 個人的にPythonはちょっと・・・
参考リンク
Splunk
ログ収集のSaaS だと思う。Googleで調べると技術ブログよりもディストリビュータの紹介HPばかりが出てくるので実態がよくわからない。ディストリビュータを増やしていてビジネス上手なのかな・・・という印象
Good
- 日本のディストリビュータが選べてお金さえ払えば日本語で解決できる度合いが大きそう。
Bad
- インターネットにつながっていないと利用できない。
- 基本はログ収集と簡単な集計なんだと思う。グラフはおまけぐらいなのではないか?
参考リンク
Mackerel
はてな社が提供するSaaS。mackerel-agentはOSSとして公開されており、プラグインもmackerel-agent-pluginsに揃っている。
mackerel-agentはgolang製。
参考リンクにあげた技術紹介によると、収集したメトリクスの保存は時系列DBのGraphiteを使っている模様。
Good
- 導入が簡単そう
- Windows対応をうたっている
- カスタムメトリクスにも対応している。
- グラフを外部サイトに貼り付けられるのは良い。
Bad
- インターネットにつながっていないと使用できない。"Mackerel Enterprise"とかあればいいのに。
参考リンク
OSS
Zabbix
サーバ監視の老舗。情報はたくさんあるが、サーバ監視ツールが雨後の筍のようにでてきているのは求められるなんらかの要件が足りてないのかもしれない。
Good
- 実績豊富
Bad
- グラフ描画など表示周りが弱い?
参考リンク
InfluxDB社製 TICKスタック (Telegraf + InfluxDB + Chronograf(Grafana) + Kapacitor)
Telegrafがgolang製のエージェント。
InfluxDBはgolang製の時系列DB。
ChronografはGrafanaをベースに開発された表示UI、ちなみにGrafanaもgolang製。
KapacitorはNorikraのようなストリーム解析基盤、これもgolang製。
各々の素性は良さそうで、Go言語好きじゃなくてもチェックはしておいて良さそう。
Good
- Grafanaでグラフを作るのは割と簡単
- Kapacitorによるストリーム解析が統合しやすそう
Bad
- TelegrafはWindows対応がされていない。
- TICKスタックはGrafanaではなくChronografらしい。Grafanaの立ち位置が微妙?
参考リンク
- Telegrafを使ってInfluxDBとKafkaにメトリクスを送信する(InfluxDB Blogより)
- InfluxDB専用の可視化フレームワーク「Chronograf」(InfluxDB Blogより)
- Kapacitor: オープンソースのストリーミングとバッチの時系列プロセッサ(InfluxDB Blogより)
Elastic社製 ELKスタック(ElasticSearch + Kibana + Beats)
先日のElastic{On} Tokyo 2015に合わせてリリースされたばかり。ELKスタックはBeatsではなくElasticSearch + Logstash + Kibanaで構成される。BeatsはELKスタックにデータを流し込む役割を持つ。
Good
- ダッシュボードのサンプルが用意されている。
- 勢いがある。ElasticSearch/Kibanaともに今後の開発も期待して良さそう。
- HTTP/TCP/DB接続をパケットキャプチャして性能測定してくれるPacketbeatはすごい
- ログ収集も同じ基盤に乗っけられる
- エージェントを実装するためのlibbeatが提供されており、拡張が簡単そう。
Bad
- Elasticsearch重い。運用監視データは時系列だが、全文検索のElasticsearchで扱うことに無理がある気がする。
- Kibanaでグラフを書くのにElasticSearchの知識がないと辛い。
参考リンク
Prometheus (+Grafana)
SoundCloud社中心に開発されているOSS、Google社内で使われているBorgmonというシステムを参考に作られているらしい。他のツールがエージェントから収集したメトリクスをPushで送らせるのに対し、PrometheusではPullで取得することが特徴。PrometheusにもUIはあるが、グラフ化は別ツールを使うことを推奨している。Grafanaを使えばPrometheusのデータを簡単に可視化できる。
Good
- Golang製でOS問わず動く
- メトリクスが収集できない時の切り分けが容易
Bad
- 日本語の情報が他と比べて少し少ないかも。
参考リンク
re:dash
BIツールなんだけど、バックエンドが色々選べてクエリを書くことでグラフが描画できて要件は満たしているような気がする。
Good
- BIツールなので凝った解析ができそう
Bad
- グラフを定期的に更新してダッシュボードとして使うにはアーキテクチャが向いていないかも。
参考リンク