Stack Monitoring

Stack Monitoring(堆栈监控) 是 Elastic Stack 提供的一套完整监控方案,用于实时查看 Elasticsearch、Kibana、Logstash 等组件的运行状态、资源消耗与性能趋势,是日常运维与故障排查的利器。

1. 支持监控的组件

Stack Monitoring 支持以下组件的监控数据采集和展示:

  • Elasticsearch(节点、索引、集群状态等)
  • Kibana(性能、用户访问、连接状态)
  • Logstash(事件处理速率、Pipeline 状态)
  • Beats(如 Filebeat、Metricbeat 等)

2. 启用 Stack Monitoring 的方式

方法一:使用 Metricbeat(推荐)

步骤:

  1. 安装 Metricbeat:
sudo apt install metricbeat

`

  1. 启用 Elasticsearch/Kibana 模块:
metricbeat modules enable elasticsearch kibana
  1. 配置 Metricbeat 输出到 Elasticsearch,并启用:
xpack.monitoring.enabled: true
  1. 启动 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. 相关参考

通过 Stack Monitoring,你可以全面掌控 Elastic Stack 各个组件的健康状况,实现高效、可视化的运维监控。