点一下关注吧!!!非常感谢!!持续更新!!!
目前已经更新到了:
- Hadoop(已更完)
- HDFS(已更完)
- MapReduce(已更完)
- Hive(已更完)
- Flume(已更完)
- Sqoop(已更完)
- Zookeeper(已更完)
- HBase(已更完)
- Redis (已更完)
- Kafka(已更完)
- Spark(已更完)
- Flink(已更完)
- ClickHouse(已更完)
- Kudu(已更完)
- Druid(已更完)
- Kylin(已更完)
- Elasticsearch(正在更新...)
章节内容
上节我们完成了如下的内容:
- Elasticsearch 集群模式
- 集群模式配置 启动 测试
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 监控系统性能或业务关键指标,当检测到异常时触发告警。
用户行为分析
- 监控网站或应用的用户行为,分析用户访问路径和流失率。