1

Amazon EC2 で Tomcat Web アプリケーションを実行しています。将来的には webapp が頻繁に使用されることが予想されるため、webapp を監視して正常に動作することを確認する方法を理解しようとしています。

Amazon EC2 は、EC2 インスタンスごとに次のCloudwatch メトリクスを示します

  1. 平均 CPU 使用率
  2. 平均ディスク読み取り
  3. ディスク読み取り操作の合計 (カウント)
  4. 平均ディスク書き込み
  5. ディスク書き込み操作の合計 (カウント)
  6. 最大ネットワーク イン数
  7. 最大ネットワークアウト
  8. 合計ステータス (任意)
  9. Sum Status インスタンス 10.Sum Status システム

JVMの監視に使用できるライブラリMetricsも見つけましたが、何を監視する必要があるのか​​ 、その理由について完全な考えを理解できていませんか?

私の質問

サーバーでユーザーの負荷が急激に増加したときに、Tomcat Web アプリケーションが正常に動作することを確認するために、何を監視する必要がありますか?

4

3 に答える 3

1

Cloudwatch Metricsで説明したのは、ハードウェアモニタリングです。

Tomcatの監視は、ソフトウェア監視と呼ばれるものです。これには以下が含まれます(ただし、これらに限定されません)。

  • ユーザーセッション数
  • スレッド数
  • さまざまなメモリ統計(使用されるヒープ/最大、使用されるpermgen /最大、古いgen、edenサイズなど)
  • ガベージコレクション(ゾーン間のプロモーション、頻度、終止符のイベントなど)
  • 稼働時間
  • アプリ固有のモニター(たとえば、データベースアクセスが必要な場合、SELECT * FROM DUALコストがごくわずかであるような単純な選択を実行する機能)

なぜこれらすべてのもの?それぞれが、アプリのボトルネックや、停止や応答の遅延の可能性をよりよく理解するのに役立ちます。これらの各指標は、アプリが突然応答を停止した理由や応答時間が急増した理由を説明できます。

また、監視の標準インターフェースであるJMXを確認することをお勧めします。これらすべてのモニターをJMX経由で公開することをお勧めします。

于 2012-11-08T10:53:18.247 に答える
1

VisualVMをお勧めします。これは、Web フロント エンドを使用して、Tomcat が実行されている JVM を測定する方法です (この方法で複数の Tomcat インスタンスを分析できます)。また、どのクラスが最も負担がかかっているかを確認する機能も備えています。

もちろん、おっしゃったように、インスタンスに対して Amazon が提供するすべての分析を取得できます。

探す必要があるのは、特に大量に使用され、これらのプロセスを最適化しようとしているクラスです。VisualVM は、これに関する統計を提供します。

于 2012-11-08T10:01:07.040 に答える
0

Nagios + JMXProxyを使用して、JVM 自体と Tomcat によって公開される豊富な情報を計測します。

Tomcat のMonitoring FAQで、何を監視するかについての推奨事項を読むことができます。

ドキュメントや FAQ を読めば驚くべきことがわかります。

于 2012-11-08T19:51:34.517 に答える