Monitoring 〜雑まとめだけどドコかに残しておきたい〜

Monitoringについて詳しくないので、Web Developer Roadmap 2018が出たので2017年版と比較してみるMonitoring and Alertingにあるツールを全て調べてみた。

あとちょうど最近、流行っていると聞いたDataDog、Grafanaについても調べてみる。

Zabbix

インフラ寄りのイメージ。
ネットワーク、サーバ、クラウド、サービスと監視対象範囲は非常に広い気がする。

https://www.zabbix.com/jp/java_applications
JavaアプリケーションはJMXによる監視のみ。
ヒープ、メモリなどのJVM寄りの監視。

インフラ監視には◯、アプリケーション監視には✕。

Prometheus

https://prometheus.io/docs/instrumenting/clientlibs/
https://github.com/prometheus/client_java
完全にアプリケーション監視向け。

アプリケーション側にログを埋め込むため、アプリケーション側に改修が必要になるが、
その分、柔軟に必要な情報(例えばメソッド単位でのパフォーマンスなど)を取得することができる。

Graphite

Graphite自体は2つのことしかやらない。

  • Store numeric time-series data
  • Render graphs of this data on demand

なので、データ収集は他ツールとつなげる必要がある。

ツールはこちら。
http://graphite.readthedocs.io/en/latest/tools.html

オールインワンではないので、カスタマイズは柔軟だが構築に手こずりそう。

Munin

どうでもいいけどとにかくトップページがダサい。http通信だし…

Munin is a networked resource monitoring tool that can help analyze resource trends and "what just happened to kill our performance?" problems. It is designed to be very plug and play. A default installation provides a lot of graphs with almost no work.

プラグイン形式。
http://munin-monitoring.org/wiki/plugins

JavaJMXの監視。
https://github.com/munin-monitoring/contrib/tree/master/plugins/jmx

PagerDuty

http://blog.serverworks.co.jp/tech/2015/10/13/start-pagerduty/ (こっちのほうがわかりやすい)

つまり、通知サービス。
監視は別で、監視からの集約を担う。
集約した情報からSlack,SNS,メールへのエスカレーションを行う。

New Relic

いくつかのサービスに分かれている。
https://newrelic.com/products
アプリ、WEB、WEBアプリ、アプリケーション、インフラとダッシュボードのInsightsに分かれており、
広範囲のモニタリングがNew Relic製品の組み合わせで可能になる。

Javaについてもインストールは簡単で、エラー、トランザクション、レスポンスタイム、外部システムのレスポンスタイムなど必要な情報は見ることができる。
https://newrelic.com/java

Nagios

プラグイン形式。豊富なプラグイン
サーバ、ネットワーク、アプリケーションをカバー。

https://www.nagios.com/solutions/java-monitoring/
アプリケーション監視自体はJavaを見る限り、アプリケーション内部ではなく、メモリとかがメイン。

AppDynamics

アプリケーションのパフォーマンス、モバイル、ブラウザなどアプリケーション層を幅広くサポート。
またデータベースやサーバもサポートしている。

Java,Springにも対応している。
https://www.appdynamics.jp/java/
https://www.appdynamics.jp/java/spring/

DataDog

可視化がメインのよう。UIがすごいリッチ!

非常に豊富なインテグレーションをもつ。
https://www.datadoghq.com/product/integrations/#all

JMXによるJava監視が可視化。
https://docs.datadoghq.com/integrations/java/

Grafana

ビジュアライズツール。Kibanaみたいなツールと認識。