15

職場では、分散アプリケーションを構築しています (LAN 上の複数のマシンにまたがる可能性があり、後で WAN + VPN 上の複数の大陸にまたがる可能性があります)。ログ ファイルを各マシンのローカルに置きたくない (ディスクがいっぱいになり、まとめて表示できない) ため、ネットワーク経由でログを集中化する必要があります。ほとんどのログは重要ではないため、UDP は問題ありませんが、一部は損失を被る重要なアラートであり、確実に配信する必要があり、TCP を意味します。ロギング プロトコルがおしゃべりすぎるとネットワークが混雑したり、アプリが応答しない場合にアプリがクロールにドラッグされたりするのではないかと心配しています。

私が検討したいくつかの可能性は次のとおりです。

  • syslog (完璧に思えますが、私の上司はこれに反対しているので、選択できない可能性があります)。
  • facebook からのスクライブ(ただし、すべてのマシンにサーバーがあると少し重いようです。すべてのログ メッセージに超信頼性が必要なわけではありません)。
  • さまざまなレベルのトランザクション安全性に合わせて調整された複数のキューを持つことができるrabbitmqのようなメッセージ キューを使用します。
  • 最悪の場合、自分でゼロから書くこともできます。

他の提案はありますか?どのような集中ログ ソリューションを使用しましたか? また、それらはどの程度うまく機能しましたか?

編集:ストアアンドフォワード設計により、実行中のアプリがネットワーク遅延から切り離されるため、スクライブに傾倒していました。しかし、それをインストールするのに苦労した後、(1) バイナリパッケージとして利用できないことを発見しました. そして最悪の場合、正しくコンパイルすることさえできません。これは、オープン ソースであっても、リリース品質のコードではありません。

4

6 に答える 6

12

あなたのような分散アプリケーション シナリオのログにZeroMQを使用することに成功しました。非常に信頼性が高く、信じられないほど高速です。Spreadでの実装があまり成功しなかった後、ZeroMQ に移行しました。私たちのセットアップでは、1 台の ZeroMQ サーバーで、中程度から高負荷の分散アプリケーションの 70 を超えるさまざまなログを処理できます。LAN およびインターネット経由でデータを受信します。

詳細なキュー サーバーの比較が必要な場合は、Second Life wiki のこのページを参照してください

それが役に立てば幸い!

于 2009-11-27T16:38:48.140 に答える
6

最近はいくつかの代替手段があります。特に、Scribe はメンテナンスされなくなりました。Facebook は Caligraphus と呼ばれる後継者を開発しましたが、オープンソースではありません。これが代替案のリストです。

  • syslog: すべての Linux ディストリビューションにインストール
  • Fluentd : ログを JSON ストリームとして処理する C+Ruby ベースの軽量ロガー
  • Flume : Cloudera で開発され、Java で記述され、Hadoop エコシステムとうまく連携します
  • Apache Kafka : LinkedIn で開発された、プルベースのアーキテクチャ
  • Scribe: Facebook によってオープンソース化されていますが、現在はメンテナンスされていません

免責事項: 私は Fluentd プロジェクトのコミッターです。

于 2012-11-17T03:49:00.553 に答える
5

他の例は素晴らしいかもしれませんが、私はSyslog-NGで幸運に恵まれました。非常に柔軟で構成可能です。それを手に取ってすぐに何か役に立つことをするのはとても簡単ですが.

于 2009-11-29T16:31:34.200 に答える
5

インフラストラクチャ ログ (システム レベルなど) のみに注目する場合は、Syslog が適しています。KIWI Syslog Serverが良いと聞きましたが、自分で試したことはありません。一方、アプリケーション関連のものをログに記録したい場合、syslog はおそらく最適なオプションではありません。Apache ロギング サービス (log4j、log4xxx など) を使用する場合、logFacesは特に複数のアプリケーションを 1 か所に集約するために構築されているため、優れたソリューションになります。TCP または UDP 接続の両方で動作し、適切なログ ビューアーとデータベースの統合を備えています。

開示: 私はこの製品の作者です。

于 2009-12-01T15:34:15.920 に答える
1

SNMP アラートの使用を検討することもできます。

于 2009-11-27T15:40:33.597 に答える