我正在探索EKL堆栈并遇到问题 .
我已生成日志,将日志转发到logstash,日志采用JSON格式,因此它们被直接推送到ES,只有Logstash配置中的JSON过滤器,连接并启动指向ES的Kibana .
Logstash配置:
filter {
json {
source => "message"
}
现在我为每天的日志创建了索引,Kibana愉快地显示了所有索引的所有日志 .
我的问题是:日志中有许多字段未在Kibana中启用/索引进行过滤 . 当我尝试将它们添加到Kibana中的文件管理器时,它会显示 "unindexed fields cannot be searched" .
注意:这些不是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提供映射文件,要求它为全部或给定字段编制索引?
2 回答
您已更新Kibana字段列表?
Kibana .
设置 .
重新加载字段列表 .
较新版本:
Kibana .
管理层 .
右上角的刷新图标 .
As of 6.4.0:
警告描述非常简单:
Management > Index Patterns >
选择索引>按右上角的刷新按钮 .