elasticsearch - 从fluentd添加elasticsearch中的原始字段

标签 elasticsearch logstash kibana fluentd

我已经建立了一个集中式日志记录系统,其中我的应用程序节点已安装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 by updating the index mapping.您将要删除索引(或创建一个新索引)以使此更改生效,因为您无法修改现有索引中的现有映射指数。您需要放置一个包含以下内容的映射:

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

关于elasticsearch - 从fluentd添加elasticsearch中的原始字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39677843/

相关文章:

Elasticsearch:无法过滤多个字段

elasticsearch - 如何从文本文件行解析 logstash/grok 中的 json?

elasticsearch - 使用新的键值对更新 Elasticsearch 数据

Elasticsearchindexs.breaker.fielddata.limit设置

elasticsearch - 不使用 Elastic APM 将 OpenTelemetry 导出到 Elastic Search

Crud 存储库的 Spring bean 配置

elasticsearch - 主机日记日志在EFK Kubernetes堆栈中不存在

elasticsearch - 将文件添加到elasticsearch(如果不存在)

ruby - 使用Logstash Ruby过滤器解析csv文件

elasticsearch - '错误无法通过http://localhost:9200与Elasticsearch联系。' -基巴纳