2012-01-17 8 views
4

私は3つのWebアプリケーションをホストするtomcatサーバーをホストしたいと思います。自分のサーバーで処理されたリクエストの総数を取得したい(3つのWebアプリケーションのいずれか)。サーバーから処理されたリクエストの総数を確認できるログがありますか(HTTP 404リクエストを含む)Tomcatサーバーで処理されたリクエストの総数を調べる方法は?

注:個々のアプリケーションで処理されたリクエストの合計を計算し、処理されたリクエストの合計数を取得できます私のサーバーでは、Tomcatにデプロイされているアプリケーションはサードパーティ製なので、変更はできません。

基本的に、私は、Tomcatサーバーの監視アプリケーションを構築していると私は、アプリケーションで提供し、合計の要求を提供する必要があり、

また、私の最初の考えは、サーブレットで過乗りのHttpServletRequestクラスのコンストラクタにしました-api.jarを実行し、静的カウンタを設定します。すべての要求がHTTPServletRequestオブジェクトにマップされているので、私はそれが仕事をすると思います。しかし、HTTPServletRequestをオーバーライドすることをお勧めしますか、それとも既存のソリューションがありますか?

+0

あなたは非常に単純な[フィルタ](http://www.oracle.com/technetwork/java/filters-137243.html)を書くことができるが、それは希望それぞれのコンテキストに追加する必要があり、結果は独立してカウントされると私は思う。 –

答えて

1

HTTPServletRequestクラスをオーバーライドする場合は、静的カウンタを追加するだけではなく、サーバーがダウン/ jvmリロードするたびにカウンタがリセットされます。

私は、データベースからインクリメントするか、毎回ファイルに値を保存する方が良い方法かもしれないと思います。このようにして、サーバーに何か問題が発生しても、サーバーを再起動する必要がある場合でも、カウントが失われることはありません。

これは、すでにこれを実行しているApache拡張がないことを前提としており、HTTPServletRequestクラスで調整したいと思っています。

+0

すでにapache拡張がないと仮定すると、あなたの答えはすばらしいです。+ 1 –

1

Request Dumper Filterという特別なフィルタを使用できます。

公式Tomcatのドキュメントによると:

The following entries in a web application's web.xml would enable the Request Dumper 
filter for all requests for that web application. If the entries were added to 
CATALINA_BASE/conf/web.xml, the Request Dumper Filter would be enabled for all web 
applications. 
関連する問題