Java面试题更新 2026-08-05

在你们部署的微服务集群中,具体采用了哪些监控指标采集与告警策略?请描述监控数据链路和报警触发机制。

性能优化系统设计技术选型JavaPrometheusSpring Boot

考察说明

考查候选人对微服务集群监控与报警体系的整体设计和实践能力。

回答思路

  1. 【回答框架 1】监控体系通常包括基础设施层、应用层和业务层三层。基础设施层关注CPU、内存、磁盘、网络等指标;应用层关注QPS、响应时间、错误率、JVM(如GC)等;业务层关注订单量、支付成功率等关键业务指标。
  2. 【回答框架 2】数据采集链路常采用指标暴露加定时拉取的方式:服务通过Micrometer或Spring Boot Actuator暴露Prometheus格式指标,Prometheus定期拉取并存储,Grafana负责可视化展示。链路追踪与日志监控可借助SkyWalking或ELK补充。
  3. 【回答框架 3】报警方案以Prometheus AlertManager为核心:设定阈值规则,如响应时间超过500ms持续5分钟或错误率超过1%,触发告警后通过Webhook路由到钉钉、邮件或短信等渠道。分级告警,如P1严重、P2警告,并设置静默期避免重复通知。
  4. 【回答框架 4】告警应结合动态基线与业务低峰期,避免静态阈值误报;关键告警需联动值班系统与升级机制,必要时接入自动扩容或故障自愈平台。
  5. 【回答框架 5】在实施中,[实际方案]的具体做法是:先统一接入Actuator与Prometheus,再按服务重要性配置阈值与接收人,最后根据试运行调整规则。
  6. 【关键点 1】监控分三层:基础设施、应用、业务。
  7. 【关键点 2】常用技术栈为Prometheus加Grafana,配合Micrometer暴露指标。
  8. 【关键点 3】告警需分级并设置静默期,结合动态基线减少误报。
  9. 【关键点 4】报警与值班系统联动,关键指标可触发自动扩容。
  10. 【关键点 5】务必先定义核心SLO,再决定具体监控指标。
  11. 【易错点 1】只监控基础设施而忽略应用与业务指标,导致故障发现滞后。
  12. 【易错点 2】静态阈值不适应流量波动,高峰期易误报或漏报。
  13. 【易错点 3】告警没有分级与升级机制,大量低级别告警掩盖真正问题。