我已经设置了一个集中式日志系统,我的应用程序节点安装了FluentD,拖尾日志文件。应用程序节点上的FluetndD将处理后的日志转发到收集器节点上的FluentD。此收集器节点上的FluentD然后转发到各种输出,一个是ElasticSearch集群。然后我运行Kibana从ES读取。 (我相信相当常见的设置。)
当尝试在某些数据字段中可视化Kibana中的某些数据时,Kibana没有正确分组。例如,电子邮件地址被视为多个值(名称,域等)。经过一些研究后,我的理解是问题是我的字段需要配置为以.raw值复制。 (分析与未分析)
问题是我无法弄清楚如何让FluentD将这些数据添加到Elasticsearch中以包含.raw字段。据说这是Logstash默认做的事情?
我使用的是fluent-plugin-elasticsearch:https://github.com/uken/fluent-plugin-elasticsearch
答案 0 :(得分:1)
要停止Elasticsearch对字段进行标记,您可以将字段指定为not_analyzed by updating the index mapping.您要删除索引(或创建新索引)以使此更改生效,因为您可以&修改现有索引中的现有映射。您将要放置包含以下内容的映射:
{
"email": {
"type": "string",
"index": "not_analyzed"
}
}