問題のシステムにはサーバーが 1 つしかないため、分散ソフトウェア (Java で記述) のロギングの問題を集中化する方法を探しています。しかし、特定のサーバーのより多くのインスタンスが将来実行される可能性が非常に高いことを覚えておいてください (そして、これを必要とするアプリケーションがさらに増えるでしょう)、Logging-Server のようなものが必要になるでしょう。着信ログを処理し、サポート チームがアクセスできるようにします。
現在の状況では、いくつかの Java アプリケーションがデータをローカル ファイルに書き込む log4j を使用しているため、クライアントに問題が発生した場合、サポート チームはログを要求する必要がありますが、これは必ずしも簡単ではなく、多くの時間がかかります。 . サーバー障害の場合、とにかくリモートアクセスがあるため、診断の問題はそれほど大きくありませんが、それでも、Logging-Server を介してすべてを監視することは非常に理にかなっています。
「集中ログ」に関する質問を調べているときに、別の質問を見つけました(実際には、(この場合) 使用可能な回答を持つ唯一の質問です。問題は、すべてのアプリケーションが閉じた環境 (1 つのネットワーク内) で実行されていることと、セキュリティ ガイドラインです)。内部ソフトウェアに関するものを環境ネットワークの外に出すことを許可しないでください。
また、このような Logging-Serverを実装する方法についての素晴らしい記事も見つけました。この記事は 2001 年に書かれたものなので、誰かがこの特定の問題を既に解決しているかもしれないと思っていたでしょう。しかし、私の検索結果は何も思いつきませんでした。
私の質問: サポート チームがアクセスできる集中型サーバーを使用して、ネットワーク経由でログを処理するログ フレームワークはありますか?
仕様:
- 可用性
- サーバーは当社が運営する必要があります。
- Java 1.5 の互換性
- 異種ネットワークへの互換性。
- 最良のケース: プロトコルは HTTP を使用してログを送信します (ファイアウォールの問題を回避するため)
- 最良のケース: log4j または LogBack、または基本的に slf4j を実装するものを使用します
必須ではありませんが、あると便利です
- もちろん、認証とセキュリティは問題ですが、少なくともしばらくは後退する可能性があります (オープンソフトウェアの場合は、必要に応じて拡張しますOT: 私たちは常にプロジェクトに恩返しをします)。
- データマイニングと分析は、ソフトウェアをより良くするために非常に役立つものですが、それは外部アプリケーションである可能性もあります.
私の最悪のシナリオは、そのようなソフトウェアではないということです。その場合、おそらくこれを自分で実装します。しかし、そのようなクライアント サーバー アプリケーションがあれば、この特に問題のある作業を行う必要がないことに非常に感謝しています。
前もって感謝します
更新:このソリューションは、いくつかの Java 対応プラットフォームで実行する必要があります。(主に Windows、Linux、一部の HP Unix)
更新:さらに多くの調査を行った結果、取得できるソリューションを実際に見つけました。clusterlog.net (少なくとも 2015 年半ば以降はオフライン) は、分散ソフトウェアのログ サービスを提供し、log4j および logback (slf4j と互換性があります) と互換性があります。これにより、アプリケーションを介してすべてのユーザーを分析できます。したがって、報告されたバグ (または報告されていないバグでさえも) を非常に簡単に再現できます。また、重要なイベントを電子メールで通知し、同じ起源のログが簡単にアクセスできる形式にまとめられたレポート システムを備えています。ほんの数日前にここにデプロイしました (これは完璧でした)。
更新 (2016 年): この質問にはまだ多くのトラフィックがありますが、私が言及したサイトはもう存在しません。