2

冗長性のために、分散ネットワーク内のすべてのホストが syslog メッセージを 2 つの専用rsyslogノードに送信します。次に、syslog を中央のgraylogインスタンスに送信します。

    / rsyslog \
host           --> graylog  
    \ rsyslog /

これで、すべてのログ メッセージが複製されます。

質問: 冗長性を維持しながら重複を削除するにはどうすればよいですか? fluentdこれに対処する方法はありますか?または、ログメッセージを集約するように設計された他のオープンソース ソフトウェアはありますか? セットアップ全体をこれ以上複雑にしたくはありませんが、追加のコンポーネントを 1 つ挿入することは問題ありません。

4

1 に答える 1

0

繰り返しになりますが、このような要件はアプリケーション固有であるため、重複除外メッセージが組み込まれているオープン ソース ソフトウェアはありません。このようなメッセージ処理をマスター ノードで実装することはできますが、パフォーマンス/スケーラビリティの問題があります。

問題を緩和するためのいくつかのアプローチがあります。

  • 一意の ID をレコードに追加し、クエリで区別します。グレーログで区別する方法がわかりません...
  • 1 つのストリームはリアルタイム用で、もう 1 つのストリームはバックアップ用です。1 つのグレイログにマージ ストリームはありません
  • fluentd では、fluent-plugin-suppress( https://github.com/fujiwara/fluent-plugin-suppress ) または fluent-plugin-dedup( https://github.com/edvakf/fluent-plugin-dedup ) を使用できます。 ) そんな場合に。
于 2015-03-02T19:40:50.667 に答える