我正在探索EKL堆栈并遇到问题。
我已生成日志,将日志转发到logstash,日志采用JSON格式,因此只需在Logstash配置中使用JSON过滤器将它们直接推送到ES,连接并启动Kibana指向ES。
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提供映射文件,要求它索引所有字段或给定字段?
答案 0 :(得分:37)
您已更新Kibana字段列表?
较新版本:
答案 1 :(得分:0)
答案 2 :(得分:0)
如果您尝试刷新而无法解决,请尝试更改index.blocks.write: "false"