Graylog 内でエクストラクタを使用しようとしていますが、パターン マッチングを 1 つのソースに限定する方法が見つかりません。
基本的に、フィールドを抽出するために split&Index 検索を行いますが、このエクストラクタをソースのサブセットにのみ使用したいと考えています。これについては、ドキュメントが貧弱に思えます。
何か案が ?
ありがとうロイック
これは簡単にはできないようです。パイプラインと個別の入力の 2 つのオプションがあります。明らかに、異なる入力で異なるソースをキャプチャすると、この問題を防ぐことができます。
2 番目の解決策は、パイプラインを使用することです (v2 以降)。これを確認する著者は次のとおりです。
これは、Graylog 2.0 以降、パイプライン ルールを使用することで可能になりました。 http://docs.graylog.org/en/2.1/pages/pipelines.html
psメッセージ全体を保存して抽出することは可能かもしれないと思いましたが、抽出する前にjsonを最初に切り取る方法がわかりませんでした。Docker コンテナーからのサンプル メッセージは次のようになります (ログを syslog 経由で Graylog に送信します)。
<30>1 2016-11-26T22:22:38.951321+01:00 www.example.com docker 19459 - - {"name":"my-awesome-app","hostname":"docker24.example.com","pid":1,"level":30,"msg":"happily serving customers","time":"2016-11-26T21:22:38.950Z"}
そのため、フィールド全体が適切な JSON ではなく、Graylog JSON エクストラクタは失敗します。ここにソースがwww.example.com
あるので、これが一致した場合にのみ実行するように抽出プログラムを構成することができますが、問題は JSON セクションのみを解析する方法です..