大数据-171 Elasticsearch-Head 与 Kibana 7.3.0 实战:安装要点、连通性与常见坑

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-originhttp.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案例 详解

相关推荐
码财小子38 分钟前
记一次服务器大并发下高延迟问题的定位
后端
我是小妖怪,潇洒又自在1 小时前
springcloud alibaba(九)Nacos Config服务配置
后端·spring·spring cloud
Victor3561 小时前
Netty(26)如何实现基于Netty的RPC框架?
后端
Elastic 中国社区官方博客1 小时前
让我们把这个 expense 工具从 n8n 迁移到 Elastic One Workflow
大数据·运维·elasticsearch·搜索引擎·ai·信息可视化·全文检索
Victor3561 小时前
Netty(25)Netty的序列化和反序列化机制是什么?
后端
qq_12498707532 小时前
重庆三峡学院图书资料管理系统设计与实现(源码+论文+部署+安装)
java·spring boot·后端·mysql·spring·毕业设计
桦说编程2 小时前
并发编程高级技巧:运行时检测死锁,告别死锁焦虑
java·后端·性能优化
无限大63 小时前
为什么"软件测试"很重要?——从 Bug 到高质量软件的保障
后端
健康平安的活着3 小时前
springboot+sse的实现案例
java·spring boot·后端