Grafana中Elasticsearch日志查询如何用Lucene指定显示字段
Grafana+Elasticsearch 日志查询只显示指定字段的解决方法
首先明确:Lucene查询是用来筛选符合条件的日志文档,不能直接用来指定返回哪些字段,你之前用_fields的写法本身就不对,所以没返回结果。
下面给你两种能解决问题的方法:
1. 通过JSON查询指定返回字段(推荐)
在Grafana的查询编辑器里,切换到JSON模式(别用Lucene输入框),直接通过_source参数指定要保留的字段。比如你想保留source_timestamp和access_Type,就写:
{ "_source": ["source_timestamp", "access_Type"], "query": { "match_all": {} } }
这种方式是让Elasticsearch只返回你指定的字段,Grafana自然只会显示这些列,后续新增字段也不会自动出现在面板里,完全解决你怕新增字段影响可视化的问题。
2. 用Grafana字段面板快速过滤
如果不想改JSON查询,也可以用右侧边栏的Fields面板:点击顶部的"Filter fields by name"输入框,输入你要保留的字段名,然后勾选它们,未匹配的字段会自动隐藏。不过这个是前端层面的过滤,Elasticsearch还是会返回所有字段,性能不如第一种,但操作更简单。
补充:你之前试的_fields是Elasticsearch旧版本的语法,而且就算生效也只是返回字段值,没法控制Grafana显示的列,所以没用。
内容的提问来源于stack exchange,提问作者chowpay
相关产品推荐
相关产品推荐

