我正在探索EKL堆栈并遇到问题。

我已经生成了日志,将日志转发到Logstash,日志采用JSON格式,因此仅使用Logstash配置中的JSON过滤器将它们直接 push ES,连接并启动指向ES的Kibana。

Logstash配置:

 filter {
  json {
    source => "message"
  }

现在,我为每天的日志创建了索引,而Kibana高兴地显示了来自所有索引的所有日志。

我的问题是:日志中有许多字段未在Kibana中启用/编制索引以进行过滤。当我尝试将它们添加到Kibana的文件管理器中时,它说“无法搜索未索引的字段”

注意:这些不是sys / apache日志。有JSON格式的自定义日志。

日志格式:
{"message":"ResponseDetails","@version":"1","@timestamp":"2015-05-23T03:18:51.782Z","type":"myGateway","file":"/tmp/myGatewayy.logstash","host":"localhost","offset":"1072","data":"text/javascript","statusCode":200,"correlationId":"a017db4ebf411edd3a79c6f86a3c0c2f","docType":"myGateway","level":"info","timestamp":"2015-05-23T03:15:58.796Z"}

“statusCode”,“correlationId”等字段未编制索引。有什么原因吗?

我是否需要将映射文件提供给ES,以要求它为所有或给定字段编制索引?

最佳答案

您更新了Kibana字段列表吗?

  • Kibana。
  • 设置。
  • 重新加载字段列表。

  • 较新的版本:
  • Kibana。
  • 管理。
  • 右上角的刷新图标。
  • 关于elasticsearch - Kibana Logstash Elasticsearch |未索引字段,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30471859/

    10-16 10:50