TL;DR
- 场景:在本地/内网快速搭建 ES 学习与调试环境,需要可视化与 REST 调试。
- 结论:用 Chrome 版 Elasticsearch-Head 做集群可视化,配合 Kibana 7.3.0 做查询与仪表盘;注意 CORS 与安全配置。
- 产出:安装与配置要点、兼容性版本矩阵、常见问题定位与修复清单。

版本矩阵
| 工具/组件 | 版本/环境 | 兼容性说明 |
|---|---|---|
| Elasticsearch-Head | Chrome 扩展(WebStore) | 最新(2025)✅可直连 ES 7.x HTTP;启用安全时需配置 CORS 与凭证,或走反向代理。 |
| Elasticsearch-Head | Standalone(GitHub) | mobz/elasticsearch-head master⚪需 Node/npm 启动;适合内网部署与自定义,但未验证。 |
| Kibana | 7.3.0 Linux x86_64 | ✅端口默认 5601;server.host: 0.0.0.0,与 ES 7.x 搭配正常。 |
| Elasticsearch | 7.x(HTTP) | ✅与 Head/Kibana 7.3.0 联调可用;若开启 x-pack 安全需 Basic/Auth 或 API Key。 |
| Elasticsearch | 8.x | ⚪默认强制安全与证书校验;需额外配置 CORS/凭证与兼容标头,未实测。 |
| 浏览器 | Chrome | ✅扩展可用;跨域失败多为 ES http.cors.* 未正确设置。 |

ES-Head插件
为了我们测试和学习的方便,我们要安装一个叫:Elasticsearch Head插件。 它是一个界面化的集群操作和管理工具,可以对集群进行傻瓜式操作,你可以通过把插件把它集成到ES。
ES-Head主要是三个方面的操作:
- 显示集群的拓扑,能够快速访问并显示集群的状态,并且能够执行索引和节点级别的操作。
- 搜索接口能够查询集群中原始JSON或表格格式的检索数据
- 有一个输入窗口,允许任意调用RESTAPI
ES-Head 是一个用于 Elasticsearch 集群管理的开源可视化插件,帮助用户监控和管理集群状态、索引及数据分布。ES-Head 是轻量级的,界面简洁直观,适合开发者和运维人员实时观察集群运行状况。
官方地址
这是一个开源的插件:
shell
https://github.com/mobz/elasticsearch-head
功能特点
集群健康监控
- 显示集群的健康状态(green、yellow、red)。
- 显示所有节点信息,包括主节点、副本节点状态。
索引管理
- 支持索引的查看、创建、删除、关闭和打开操作。
- 查看每个索引的元信息(例如文档数量、段数量、占用存储等)。
- 可以直接从界面更新索引的mapping和settings。
数据节点监控
- 显示每个节点的状态,包括已分配分片和未分配分片。
- 展示节点的硬件资源信息,如存储空间使用情况。
分片管理
- 可视化显示分片的分配情况。
- 支持查看未分配分片的原因,并手动重新分配分片。
RESTful 查询执行
- 提供查询编辑器,可以在插件中直接发送 RESTful 请求到集群。
- 支持 GET、POST、PUT、DELETE 等请求方法,帮助调试和验证 API。
索引分布可视化
- 提供分片在集群中的分布图,便于检查数据分布和副本均衡情况。
多集群支持
- 可以在一个界面管理多个集群,支持跨集群查看索引状态。
安装步骤
Elasticsearch-head是一个基于Node.js的前端工程,官方有可以运行的Elasticsearch-Head的方式,但是这里我们为了方便,就不从部署的方式去做了,直接用Chrome插件的方式:
shell
https://chrome.google.com/webstore/detail/elasticsearch-head/ffmkiejjmecolpfloofpjologoblkegm/
安装之后,可以看到一个这样的插件: 
测试连接
我们填写地址之后,访问(里边本来空的,后来为了测试,启动了Kibana之后,测试的这个): 
使用场景
- 开发和调试:开发者可以在插件界面直接发送 REST 请求,查看索引结构和数据。
- 实时监控集群健康:管理员可以通过插件快速发现集群中的问题(如未分配的分片、节点挂掉等)。
- 资源均衡优化:可视化查看分片分布,帮助进行负载均衡。
注意事项
- 由于 ES-Head 插件不需要登录认证,一旦对外开放接口,可能会存在安全风险。在生产环境中使用时,应通过 VPN 或防火墙限制访问权限。
- 在大规模集群中,数据过多可能会导致界面响应缓慢。
Kibana
官方地址
shell
https://www.elastic.co/cn/support/matrix#matrix_os
Kibana是一个基于Node.js的Elasticsearch索引库数据统计工具,可以利用Elasticsearch的聚合功能,生成各种图标,如柱形图、线状图、饼图等。 而且还提供了操作Elasticsearch索引数据的控制台,并且提供了一定的API提示,非常有利于我们学习Elasticsearch的语法。 
核心功能
仪表盘(Dashboard)
- 将多个可视化图表集成到一个页面,形成实时动态的仪表盘。
- 支持图表拖拽、缩放和联动更新,方便数据展示。
数据探索(Discover)
- 提供灵活的搜索查询界面,可以按时间、字段和过滤条件进行数据检索。
- 支持使用 KQL(Kibana Query Language) 和 Lucene 语法 查询数据。
可视化(Visualizations)
- 支持创建多种类型的可视化图表,如柱状图、折线图、饼图、地图、热力图等。
- 可以将查询结果以图形方式展示,帮助更好地理解数据。
日志分析(Logs)
- 针对日志数据优化,支持快速查询和实时日志流分析。
- 适合用于系统运维、错误排查和日志监控。
监控(Monitoring)
- 可监控 Elasticsearch 集群和 Kibana 自身的运行状态,如集群健康状况、节点性能等。
- 可以帮助发现 Elasticsearch 集群中的瓶颈和问题。
安全性(Security)
- 支持用户认证和授权控制,与 Elasticsearch 的 X-Pack 安全插件集成。
- 可以基于角色和用户设置访问权限,确保数据安全。
告警(Alerting)
- 支持创建告警规则,基于查询结果触发事件(如错误日志或异常情况)。
- 可以将告警发送到电子邮件、Slack 或 Webhook。
机器学习(Machine Learning)
- 通过内置的机器学习功能,可以自动检测数据中的异常模式和趋势。
- 应用于日志分析、指标监控和预测分析。
Canvas
- 用于创建自定义的交互式报告和演示。
- 可以自定义图表样式和背景,适合数据驱动的商业演示。
Geo 可视化(Maps)
- 提供基于地理信息的可视化展示,支持 GeoJSON 数据。
- 用于展示与地理位置相关的数据,如用户分布、销售区域等。
安装步骤
(注意:我们要在ROOT用户下进行操作!) 我们现在项目并且上传(直接在服务器上下载也可以),上传到 h121 服务器上。 对应的截图内容如下: 
解压配置
shell
cd /opt/software
ls
tar -zxvf kibana-7.3.0-linux-x86_64.tar.gz
mv kibana-7.3.0-linux-x86_64 ../servers
对应的截图如下图所示:
改变Kibana目录拥有者账号:
shell
chown -R es_server /opt/servers/kibana-7.3.0-linux-x86_64
此外,还需要设置访问权限:
shell
chmod -R 777 /opt/servers/kibana-7.3.0-linux-x86_64
配置文件
修改配置文件:
shell
vim /opt/servers/kibana-7.3.0-linux-x86_64/config/kibana.yml
在当中修改端口号等信息:
shell
server.port: 5601
elasticsearch.hosts: ["http://h121.wzk.icu:9200"]
server.host: "0.0.0.0"
server.publicBaseUrl: "http://h122.wzk.icu:5601"
修改内容部分如下图所示: 
启动服务
配置完成之后,我们切换用户进行启动:
shell
su es_server
cd /opt/servers/kibana-7.3.0-linux-x86_64
bin/kibana
对应的截图如下: 
访问服务
shell
http://h122.wzk.icu:5601/
网页的页面如下: (不一定有账号密码,高版本有要求,低版本直接进入就好)
账号密码是 elastic 和 elastic的密码(之前postman测试的那个)
我们点击右侧的:DevTool按钮,就可以进入 Kibana 提供的可视化工具了:
可以测试一下这些命令,发现是没问题的,以后的命令可以在这里测了: 
使用场景
日志与系统监控
- 通过 Logstash 将日志文件发送到 Elasticsearch,使用 Kibana 实时监控系统日志和应用程序日志。
业务数据分析
- 在业务系统中,通过 Kibana 监控销售数据、客户数据等,支持企业决策。
异常检测与告警
- 使用 Kibana 监控系统性能或业务关键指标,当检测到异常时触发告警。
用户行为分析
- 监控网站或应用的用户行为,分析用户访问路径和流失率。
错误速查
| 症状 | 根因 | 定位 | 修复 |
|---|---|---|---|
| Head 连接报 CORS 错误(No 'Access-Control-Allow-Origin') | ES 未启用或未放开 CORS | 浏览器控制台/网络面板 | 在 elasticsearch.yml 开启 http.cors.enabled: true,设置 http.cors.allow-origin、http.cors.allow-headers,必要时 http.cors.allow-credentials: true。 |
| Head 401/403(已开启安全) | 未携带凭证或跨域不带 Cookie | 浏览器网络请求/ES 日志 | 配置允许凭证;使用反向代理注入 Basic/Auth 头或在扩展中设置认证。 |
| 集群 Red / 分片未分配 | 节点/磁盘阈值/路由异常 | _cat/shards、_cluster/allocation/explain |
修复节点与磁盘;手动 cluster/reroute;调整磁盘水位线。 |
| Kibana 启动报 EACCES/权限不足 | 目录属主不正确 | ls -l 检查属主/权限 |
chown -R es_server ...;避免无差别 chmod 777,按需最小权限。 |
| Kibana "Kibana server is not ready yet" | ES 未就绪或地址错误 | curl ES:9200、ES 健康状态 |
修正 elasticsearch.hosts;待 ES 绿/黄后再启。 |
| 5601 被占用 | 端口冲突 | lsof -i:5601 |
释放占用或改 server.port。 |
| 登录失败(elastic 用户) | 密码变更/未初始化 | _security API/ES 日志 |
重置内置用户密码或改用 API Key。 |
| DevTools 报 413/429 | 代理限流/体积受限 | 代理(Nginx)日志 | 调整 client_max_body_size、限流与超时;分批请求。 |
其他系列
🚀 AI篇持续更新中(长期更新)
AI炼丹日志-29 - 字节跳动 DeerFlow 深度研究框斜体样式架 私有部署 测试上手 架构研究 ,持续打造实用AI工具指南! AI研究-132 Java 生态前沿 2025:Spring、Quarkus、GraalVM、CRaC 与云原生落地
💻 Java篇持续更新中(长期更新)
Java-180 Java 接入 FastDFS:自编译客户端与 Maven/Spring Boot 实战 MyBatis 已完结,Spring 已完结,Nginx已完结,Tomcat已完结,分布式服务已完结,Dubbo已完结,MySQL已完结,MongoDB已完结,Neo4j已完结,FastDFS 已完结,OSS正在更新... 深入浅出助你打牢基础!
📊 大数据板块已完成多项干货更新(300篇):
包括 Hadoop、Hive、Kafka、Flink、ClickHouse、Elasticsearch 等二十余项核心组件,覆盖离线+实时数仓全栈! 大数据-278 Spark MLib - 基础介绍 机器学习算法 梯度提升树 GBDT案例 详解