2017-03-02 21 views
-4

Debianで動作するTomcatサーバ(AWS内)がいくつかありますが、全体的なパフォーマンス(メモリ、CPUなど)に関するCloudwatchメトリックが備わっています。私たちは、それらのうちのいくつかでは、CPU使用率またはメモリ使用率の「急上昇」があることを発見しました。実際にこれらのリソースを詰まらせるものを検出したいと思います。すべてのサーバーの実行はTomcatコンテナ内のJavaベースであるため、JVMプロファイラを接続してその中のスレッドを視覚的に監視するのが論理的ですが、特定のしきい値を超えるとCloudwatch警告が有効になります(たとえばCPU 90%以上)では、何らかの自動統計情報収集を起動して、実際のJavaスレッド/コードがそのような消費の根本原因であるかどうかを確認したいと考えています。TomcatによるCPUスパイクの監視

これらの特定のスパイクを診断し、実際に長時間実行されているプロセスの統計情報を収集する必要がない監視エージェントおよび/またはパフォーマンス収集ツールはありますか?

すでにNew Relic、DataDog、Dynatraceの試用版があります(中小企業には適していないビジネスモデルのために、最新のものが最も有用で、非常に高価です)。しかし、これらのソリューションは、私は上記のように要求されたタイミングウインドウ...これらはうまくいくかもしれませんが、プロダクションサーバで100%の時間が使用されている場合(問題が発生していて、プロダクション前のものではない場合)、サーバにかなりのオーバーヘッドをもたらします。

+0

この問題の可能性のある改善は、Metaで議論されています。https://meta.stackoverflow.com/questions/358401/making-my-questions-better/358407 –

+0

メインのstackoverflowセクションはコード関連のクエリです。あなたの質問にはコードがありません。別のセクションで再転記し、ここから削除してください。 –

答えて

0

サーバー側の監視と組み合わせて、運用前の環境をセットアップし、負荷テスト(JMeterなどのツールを使用)を実行することを強くお勧めします。

Tomcatのバックエンドは、JMXプロトコルを使用して監視できます。

あなたは2つのソリューションを持っている:

  • 無料:OctoPerf:CPU、メモリ、カスタム定義されたJMX豆を監視するPerfmon Agent
  • フリーミアム(別名> 50人の同時ユーザーのために支払った)とのJMeterをApache Tomcat monitoringをサポートし、オンプレミスの監視エージェントを使用してawsサーバーを監視できます。

フリーソフトウェアでは、いつものように時間がかかりますが、有料ソフトウェアでは、いくつかのペニーの交換で問題に直結します。

+0

私はJMeter/Perfmonが好きですが、私は実稼働環境に(サーバーがそれを処理できるように)インストールしていると思います。残念ながら、問題は発生しません。 JMX Beansに関しては、私はそれを勉強しなければならないと思うでしょう – gvasquez

+0

生産モニタリングのためにDatadogやNew Relicのようなソリューションを検討するべきです。 –

+0

私は現在、その目的のために現在AWSのCloudWatchを使用しています。新しい遺物は私のサーバーを詰まらせ(そして彼らのサポートチームはそれを修正することができました)、私はDatadogで何が起こったのか覚えていません。 – gvasquez

関連する問題