アプリケーションノードにFluentDがインストールされ、ログファイルを追跡する集中ログシステムをセットアップしました。アプリケーションノードのFluetndDは、処理されたログをコレクターノードのFluentDに転送します。次に、このコレクターノード上のFluentDは、ElasticSearchクラスターを含むさまざまな出力に転送します。次に、Kibanaを実行してESから読み取ります。(私が信じるかなり一般的な設定。)
Kibanaの一部のデータを特定のデータフィールドで視覚化しようとすると、Kibanaは物事を正しくグループ化しません。たとえば、電子メールアドレスは複数の値(名前、ドメインなど)と見なされます。いくつかの調査を行った後、問題は、フィールドを.raw値としても複製するように構成する必要があることであると理解しています。(分析済みと非分析済み)
問題は、FluentDでこのデータをElasticsearchに追加して.rawフィールドを含める方法がわからないことです。おそらくこれはLogstashがデフォルトで行うことですか?
私はfluent-plugin-elasticsearchを使用しています:https://github.com/uken/fluent-plugin-elasticsearch
Elasticsearchによるフィールドのトークン化を停止するには、インデックスマッピングを更新して、フィールドをnot_analyzedとして指定できます。既存のインデックスの既存のマッピングを変更することはできないため、この変更が有効になるようにするには、インデックスを削除(または新しいインデックスを作成)する必要があります。以下を含むマッピングを配置することをお勧めします。
{
"email": {
"type": "string",
"index": "not_analyzed"
}
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加