2012-04-22 17 views
3

私はTomcat 7.0.22の中でJava Webアプリケーションを実行していますが、時々HTTP要求が発生し、HTTP 500(私のアプリケーションでは予期しない例外)が運用環境で発生します。ステージング環境でこれらのエラーを再現するには、通常、tcpdumpを実行してすべてのHTTPトラフィックを記録し、WireSharkを使用してパケットをフィルタリングし、http.response.code != 200 or 204 or 302とし、各HTTP応答に「follow HTTP stream」を実行します。 。次に、ステージング環境でこのリクエストをcURLで再実行できます。tcpdumpでHTTP要求に失敗しました

私の質問は次のとおりです。

  • どのようにこの手順を自動的に行うことができますか?
  • 他の方法で同じ効果を(エラーを再現するために)達成する方法はありますか? (多分Tomcatの内部のいくつかのFilter

おかげ

アレックス

+0

しかし、なぜあなたはprod envでリクエストを記録するような簡単なことをしないのですか? –

+0

私はそれを透明にしたい。私はこれを行う良い方法を見つけていない – AlexV

答えて

1

、このような機能を提供するツールがあります。実際にはさらに多くのことを行います。通常、Javaコードを計測して、どのモジュールがエラーの原因であるかを検出できるようにします。

私は個人的にこのような解決策を実装しているCorrelsenseという名前の会社で働いていました。それは商用ですが、無料で配布されている評価版から始めることができ、私たちのサイトからダウンロードすることができます。また、私は個人的にそれを使用していませんでしたが、少しだけ再生しようとしたが、Correlsenseよりもよく見えるnewrelic.comをチェックアウトするように提案することができます。

+0

ありがとう、実際には、私たちはnewRelicライセンスを持って、私はこの機能をチェックします。あなたは、それがnewRelicでどのように実装されているかを偶然に知っていますか?なぜなら、入力ストリームを消費するTomcatフィルタではあまり良い解決策がないので、IPをダンプすることができるからです。 – AlexV

関連する問題