複数のプロファイルを実行するには、[オリジナル]おじさん経験の共有(82)logstashつのインスタンス

logstashディレクトリに複数のプロファイルの1つのインスタンス、すべての設定ファイルをすることができます実行します

/ usr / share / logstash /パイプライン

ただし、デフォルトの動作では、プロファイルごとに独立して実行されていませんが、全体として、各入力が処理され、間違った場所に送信する誤ったデータをもたらすことができる、フィルタのすべてに一致して、すべての出力と一致します。

 

解決策1:

可変フィルタと出力を決定するために、入力変数に設定し、独立して実行する各プロファイルの実現は、変数はそれを使用する、お互いに影響を与えないのだろうか?

次のように公式に説明し、多くの一般的なデフォルトの入力パラメータが、利用可能な唯一のタイプがあります:

追加  type この入力によって処理されるすべてのイベントにフィールドを。

タイプは、フィルタの活性化のために主に使用されています。

タイプは、イベント自体の一部として保存されているので、あなたもKibanaでそれを検索するための型を使用することができます。

入力パラメータのタイプは、イベントに追加され、それ以降の出力フィルタに使用することができ、次のように他のパラメータは配置されないであろう。

入力{ 
  JDBC { 
    ... 
    タイプ => " some_type " 
  } 
} 
フィルタリング{ 
  なら [タイプ] == " some_type " { 
    ... 
  } 
} 
出力{ 
  なら [タイプ] == " some_type " { 
    ... 
  } 
}

すべてがうまくいけば、問題がある場合に、お祝いの言葉は、それはあなたがフィールドにイベントの種類を持っているということ、そして割り当てることができ、(代わりに追加のカバレッジの)タイプの配列があるでしょう、そして、2つの問題があります。

1)決意と出力フィルタの故障ならば、あなたはおそらく、データが送信されていない処理されません。

2)あなたのデータ・タイプ・フィールドは、混乱を変えています。

 

対処方法2:

次のようにイベントに手動で設定、例えばmy_typeとして、変数を追加します。

入力{ 
  JDBC { 
    ... 
    ステートメント => " *を選択し、 'some_type' my_type MY_TABLE UPDATE_TIME>から:sql_last_value " 
    ... 
  } 
} 
フィルタリング{ 
  なら [my_type] == " some_type " { 
    ... 
  } 
} 
出力{ 
  もし [my_type] == " some_type " { 
    ... 
  } 
}

 

裁判官と@metadata変数の使用の場合など、下記参照公式文書に詳述され、他のソリューションがあります。 

 

参考:

JDBC入力

https://www.elastic.co/guide/en/logstash/6.3/plugins-inputs-jdbc.html

イベント依存設定

https://www.elastic.co/guide/en/logstash/6.7/event-dependent-configuration.html

おすすめ

転載: www.cnblogs.com/barneywill/p/11566676.html