2016-09-24 6 views
0

У меня настроена централизованная система ведения журнала, где у моих узлов приложения установлен FluentD, файлы журналов хвоста. FluetndD на узлах приложения перенаправляет обработанные журналы на FluentD на узел коллектора. FluentD на этом узле коллектора затем переходит к множеству выходов, один из которых является кластером ElasticSearch. Затем я запускаю Kibana для чтения из ES. (Довольно распространенная настройка, на которую я верю.)Добавить необработанные поля в elasticsearch from fluentd

При попытке визуализации некоторых данных в Kibana в определенных полях данных Kibana не группирует вещи правильно. Например, адрес электронной почты считается несколькими значениями (имя, домен и т. Д.). После некоторых исследований я понимаю, что проблема в том, что мои поля должны быть настроены так, чтобы их реплицировали как .raw. (Проанализировано или не проанализировано)

Проблема заключается в том, что я не могу понять, как заставить FluentD добавлять эти данные в Elasticsearch, чтобы включить поля .raw. Предположительно, это то, что по умолчанию делает Logstash?

Я использую свободно-плагин-elasticsearch: https://github.com/uken/fluent-plugin-elasticsearch

ответ

1

Чтобы остановить Elasticsearch от tokenizing вашего поля, вы можете указать поле not_analyzed by updating the index mapping. Вы хотите удалить индекс (или создать новый) чтобы увидеть, как это изменение вступает в силу, поскольку вы не можете изменить существующее сопоставление в существующем индексе. Вы хотите поместить картографию, которая содержит следующее:

{ 
    "email": { 
    "type":  "string", 
    "index": "not_analyzed" 
    } 
} 
+0

А я пробовал это, но проблема была в том, что он все еще использовал старый индекс. Я удалил существующий индекс, чтобы заставить его заново создать, и теперь я вижу непроанализированные поля. Спасибо! – barnesm999

 Смежные вопросы

  • Нет связанных вопросов^_^