Stack Monitoring
Stack Monitoring(堆栈监控) 是 Elastic Stack 提供的一套完整监控方案,用于实时查看 Elasticsearch、Kibana、Logstash 等组件的运行状态、资源消耗与性能趋势,是日常运维与故障排查的利器。
1. 支持监控的组件
Stack Monitoring 支持以下组件的监控数据采集和展示:
- Elasticsearch(节点、索引、集群状态等)
- Kibana(性能、用户访问、连接状态)
- Logstash(事件处理速率、Pipeline 状态)
- Beats(如 Filebeat、Metricbeat 等)
2. 启用 Stack Monitoring 的方式
方法一:使用 Metricbeat(推荐)
步骤:
- 安装 Metricbeat:
sudo apt install metricbeat
`
- 启用 Elasticsearch/Kibana 模块:
metricbeat modules enable elasticsearch kibana
- 配置 Metricbeat 输出到 Elasticsearch,并启用:
xpack.monitoring.enabled: true
- 启动 Metricbeat:
sudo service metricbeat start
方法二:内部监控(旧版本)
直接在 elasticsearch.yml 设置:
xpack.monitoring.collection.enabled: true
自 8.x 起,官方推荐改用 Metricbeat 外部采集。
3. 在 Kibana 中查看监控数据
进入:
Stack Management → Stack Monitoring
可以查看:
- 节点 CPU、内存、磁盘使用率
- 查询延迟、段合并、GC 情况
- 索引写入速率、分片状态
- Logstash 管道运行状态
- Beats 日志采集健康状态
4. 典型应用场景
- 集群资源使用分析与扩容评估
- 节点异常检测与告警设置
- 监控热点索引或查询瓶颈
- 协调 Kibana、Logstash、Beats 服务状态
5. 常见问题排查
| 问题 | 可能原因 | 解决方案 |
|---|---|---|
| 无法看到监控数据 | Metricbeat 未连接或未启用模块 | 检查模块状态与输出设置 |
| 数据间断或延迟 | 节点负载高、Metricbeat 不稳定 | 优化系统资源或调整周期 |
| 显示空白或权限不足 | 当前用户无监控访问权限 | 分配 monitoring_user 角色 |
6. 相关参考
- 官方文档:Monitor the Elastic Stack
- Metricbeat 模块文档:Metricbeat modules
通过 Stack Monitoring,你可以全面掌控 Elastic Stack 各个组件的健康状况,实现高效、可视化的运维监控。
相关内容
- 定义与用途 本章介绍 Elasticsearch 的定义、核心功能与适用场景,帮助读者理解它为何成为现代搜索与日志分析的首选解决方案。
- 使用场景 本章总结 Elasticsearch 在全文搜索、日志分析、监控告警、推荐系统等领域的典型应用场景,助力理解其强大用途。
- 核心概念简介 本章概览 Elasticsearch 的核心构成,包括索引、文档、映射、节点、集群等关键概念,为后续使用和架构设计打下基础。
- 本地安装 本章介绍如何在本地环境中安装 Elasticsearch,适配 Windows、macOS 和 Linux 系统,便于开发测试与入门学习。
- Docker 安装 本章讲解如何通过 Docker 安装和运行 Elasticsearch,适合开发者快速搭建测试环境并集成至容器化工作流中。
- 与 Kibana 一起部署 本章介绍如何将 Elasticsearch 与 Kibana 一起部署,使用 Docker Compose 快速构建可视化分析平台,适合开发与测试环境使用。