0

次のようなパスがあるとします。

  paths:
     - /var/log/webapp/*.log*
     - /var/log/webapp/*app*.log*
  document_type: webapp

これを変更して、/var/log/*/ の下のフォルダー名に基づいてドキュメントの種類に名前を付け、* にあるものを自動的に指定するにはどうすればよいでしょうか?

例:

/var/log/app/* -- アプリのログを生成します

/var/log/alpha/* -- アルファ ログを生成します

/var/log//beta/* -- ベータ ログを生成します

/var/log/delta/* -- デルタ ログを生成します。

これをbeatsで行うことは可能ですか、またはgrokまたはrubyフィルターを使用してlogstash側でこれを処理する必要がありますか?

4

1 に答える 1

1

これを行うには、少なくとも 2 つの方法があります。

1 つ目は、ログ タイプに固有のフォルダーである、Filebeat 構成で異なるプロスペクターを作成することです。これは、これを行うための公式に推奨される方法です。

また

1 つのワイド プロスペクターを使用し、問題に対する組み込みのソリューションを避けたい場合は、logstash を使用します。Filebeat は、元のファイルのパスを含むフィールドを提供しますfile。次のように理解できます。

file => "/var/log/%{WORD:log_type}/%{GREEDYDATA}"

ここで私が経験した問題は、Filebeat によって設定された型が Logstash によって変更されないように見えることです。これがどのように機能するかはわかりませんが、試してみると確かに頭痛の種でした。

于 2016-06-13T15:40:25.053 に答える