0

説明:

  • プロキシ トラフィックをポート 80 でリッスンするために手動で実行できる 1 つの EC2 インスタンスにデプロイされた実行可能な Jar が 1 つあります。
  • 別の EC2 インスタンスに 1 つの Spring アプリケーションがあり、サードパーティ サーバーの Web サイトにヒットします

これら 2 台のマシン間の接続:

Spring アプリケーションのセットアップ、つまり B は、サードパーティのサーバーに Web サイトを開いて A をプロキシとして使用するように指示します。これにより、A でのネットワーク呼び出しのログが生成されます。

私がやりたいことは、Bからサードパーティサーバーに送信するすべてのリクエストに対して、Aで生成されているネットワークログをBに転送することです

私が試したこと:

  1. 1 つの方法は、A でログをローテーションし、S3 に書き込み、次にアプリケーションに書き込み、S3 から選択して処理することです。
  2. Aにsshしてログファイルをgrepしますが、これによりJARが新しいトラフィックをリッスンしなくなり、スタックします

私が探しているもの:

AI にログが表示されるとすぐに、A のリッスン ジョブを停止することなくログを B に移植したいリアルタイム ソリューション

4

2 に答える 2

0

実行している OS はわかりませんが、nix バリアントを実行している場合は、syslog の代わりに syslog-ng をインストールするか、ローカルおよび外部イベントを記録できる rsyslog をインストールできます。この場合、サーバー a とサーバー b からのログをリッスンする中央ログ サーバーをセットアップします。

別の代替手段は、syslog-ng が探しているものではないということです。サーバーに splunk をインストールし、集中的にログを記録する各サーバーの splunk レポーターからログを取得することができます。

お役に立てれば。

于 2012-08-10T00:46:00.307 に答える
0

Kevin が述べたように、EC2 インスタンスに Splunk インデクサーをセットアップし、これを使用して A と B およびその他のソースからのログのコレクションを集約し、Splunk 検索言語を使用してこのログ データを「ほぼリアルタイム」で検索できます。 "、さまざまなシステム間でイベントを相互に関連付け、カスタム ダッシュボードを作成し、プロアクティブなアラートを設定するなど...

http://www.splunk.com/

このデータをシステムから Splunk Indexer に取得するメカニズムに関しては、次のとおりです。

1) Splunk Universal Forwarder を使用してログ出力を監視し、それを Splunk Indexer ( http://www.splunk.com/download/universalforwarder ) に転送します。

2) システムは Java ベースであるため、SplunkJavaLogging には log4j/logback/jdk アペンダーがあり、ログ設定にシームレスに接続して、ログ イベントを Splunk インデクサーに転送できます: https://github.com/damiendallimore/SplunkJavaLogging

3) Splunk Java SDK ( http://dev.splunk.com/view/java-sdk/SP-CAAAECN ) を使用して、HTTP REST または Raw TCP 経由で Splunk インデクサーにログ イベントを入力します。

于 2012-08-13T05:50:53.447 に答える