2009-05-29 15 views
0

私は、Windowsクライアント(約150人のユーザ)、Webサービス、いくつかのWindowsサービスからなるプロジェクトを持っています。すべて一緒にイントラネットで作業し、C#.NET 3.5を使用してビルドします。今では、中央データベースに例外を記録し、それらを管理する(トップ10、チケットシステムなどを監視する)ために、Webアプリケーションを使用したいと考えています。クライアント/サーバアーキテクチャにおける例外処理

ELMAHの使用と拡張については、管理用のWebアプリケーションが既に用意されているため、考えました。クライアントが例外を記録するためのWebサービスを作成することがあります。

ELMAHは明らかにasp.net Webサイトのみを対象としているため、これはいい考えです。

私は例外管理アプリケーションブロックについて認識していますが、ELMAHのような管理アプリケーションがなく、エンタープライズライブラリでの最後の訪問は楽しいことではありません。

あなたの意見は、他にもありますか?

答えて

1

エンタープライズライブラリは、扱いにくく過度です。オープンソースのロギングコンポーネント:NLog link textまたはLog4Net link textを見てください。彼らは、フラットファイル、UDP、データベースなど、さまざまな "シンク"にログする機能を持っています。

ロギングコンポーネントがサーバーのイベントログに書き込む場所を設定します。次に、Microsoft Operations Manager(MOM)またはイベントログをスキャンし、ページング、コマンドセンターコンソールなどでアラートを発行できる別のシステム管理ソフトウェアなどを使用します。同時に、クエリなどのためにデータベースにログすることもできます。

例外、レポート、アラートなどの管理を探している場合は、MS MOM、Tivoli、CA Unicenter、HP OpenView、さらにはNagIOSなどのソリューションがたくさんあります。

クライアント側は少し難解です。イントラネットであるため、UDPを使用してサーバー上でサービスを実行すると、これらのUDPパケットをリスンしてイベントログやデータベースに格納することができます。または、ログイベントをキャプチャするためにWebサービスにいくつかのメソッドを追加することもできます。

+0

実際には、ログの一部またはクライアントからサーバーへの例外の持ち込みは私の問題ではありません。私はすでにlog4netを使用していて、独自のAppenderをセットアップすることができます。私の懸念は、すでに安定して使用可能で、便利なマネージメントアプリを持っているソリューションがある場合です。 – Hinek

+0

上記の編集に記載されているように、アプリケーションの管理、レポート、警告などのアプリケーション管理のための、既に強化されたソリューションのTONがあります。これらのソリューションはすべて、ロギングコンポーネントと連携して、リアルタイムの問題管理のための非常に豊富なインフラストラクチャを提供します。 重要な例外をログに記録することで、バグ追跡ソフトウェアにもフックすることができます。 – Doanair

+0

もちろん、NAGIOSにはコストはかかりませんが、ELMAHを変更することはコストが要因であれば良い選択です。 – Doanair

0

ELMAHを展開するというあなたの考えはまったく悪いとは思いません。私は常に自分の管理アプリケーションをロールバックしなければならなかった多くの同様のプロジェクトを行って、それは常に痛みです。あなたがELMAHからどれだけ使えるかはっきりしていませんが、それは素晴らしいスタート地点になるかもしれません。