主题
Stack Monitoring
Stack Monitoring(堆栈监控) 是 Elastic Stack 提供的一套完整监控方案,用于实时查看 Elasticsearch、Kibana、Logstash 等组件的运行状态、资源消耗与性能趋势,是日常运维与故障排查的利器。
1. 支持监控的组件
Stack Monitoring 支持以下组件的监控数据采集和展示:
- Elasticsearch(节点、索引、集群状态等)
- Kibana(性能、用户访问、连接状态)
- Logstash(事件处理速率、Pipeline 状态)
- Beats(如 Filebeat、Metricbeat 等)
2. 启用 Stack Monitoring 的方式
方法一:使用 Metricbeat(推荐)
步骤:
- 安装 Metricbeat:
bash
sudo apt install metricbeat
- 启用 Elasticsearch/Kibana 模块:
bash
metricbeat modules enable elasticsearch kibana
- 配置 Metricbeat 输出到 Elasticsearch,并启用:
yaml
xpack.monitoring.enabled: true
- 启动 Metricbeat:
bash
sudo service metricbeat start
方法二:内部监控(旧版本)
直接在 elasticsearch.yml
设置:
yaml
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 各个组件的健康状况,实现高效、可视化的运维监控。