如何从Kibana向远程Elasticsearch服务器发送请求查询索引数据
问题根因
你报错的核心原因是Kibana开发工具(Dev Tools)的查询语法使用错误:
Kibana已经通过kibana.yml里的elasticsearch.hosts配置绑定了目标Elasticsearch集群,在Dev Tools中发请求不需要额外加Elasticsearch的IP、端口、协议前缀,你写了IP之后,Kibana会把IP内容识别为索引名,因此抛出no such index [xx.xx.xxx.xxx]的404错误。
解决方案
1 修正查询语法
直接按以下格式写请求即可,系统会自动把请求发往你配置的ES集群:
全量查询索引数据
GET /my_index_name/_search { "query": { "match_all": {} } }
查询索引文档总数
GET /my_index_name/_count?pretty
2 验证索引存在性
如果修改语法后仍报索引不存在的错误,先执行以下命令查看ES集群的所有索引,确认你的索引名拼写、大小写完全匹配(ES索引名大小写敏感):
GET /_cat/indices?v
3 额外排查项
- 确认
kibana.yml中配置的ES账号拥有目标索引的read、view_index_metadata权限 - 查看Kibana启动日志,确认Kibana和ES集群的连接没有报错
- 返回结果里的
types removal警告是ES 7.x之后废弃文档类型的常规提示,不影响请求正常执行
4 Kibana可视化查看数据配置
要在Kibana界面查看索引数据,需要先创建数据视图:
- 进入Kibana侧边栏的 Stack Management > 数据 > 数据视图
- 点击「创建数据视图」,索引模式填写你的索引名
my_index_name - 若索引有时间字段则选择对应时间字段,没有可以勾选「我不想使用时间字段」
- 创建完成后进入侧边栏的Discover页面,即可查看索引的所有数据
内容的提问来源于stack exchange,提问作者Büşra Duygu
相关产品推荐
相关产品推荐

