SuperAPI AI 工具集

182-java-observability-metrics-micrometer

部署与运维

查看项目

更新于 10-16 06:19

技能介绍

用途:在 Java 服务中实现有效的 Micrometer 指标埋点,定义有意义的服务级指标,控制基数,选择合适计量器类型,并输出可用于仪表盘和告警的生产级遥测数据。

主要能力:覆盖以指标为先的可观测性实践;计量器选择包括 Counter、Timer、DistributionSummary、Gauge、LongTaskTimer;命名与标签约定,使用低基数维度;基数与计量器生命周期防护,避免时间序列爆炸;直方图/百分位策略与面向 SLO 的指标设计;Actuator 与 Prometheus/OpenTelemetry 管道的集成指导;指标注册与取值的测试和验证。

使用方式:先定义测量目标与计量器契约,识别吞吐量、延迟、错误率、饱和度等关键服务指标,映射为稳定的指标名、单位和低基数标签;再选择计量器类型并埋点,保持命名一致与标签可复用;随后为生产环境加固,控制基数、避免动态计量器频繁创建、仅在需要时配置直方图/百分位,并对齐导出设置;最后在测试和运行时端点验证指标,确认标签与单位符合预期,确保仪表盘和告警可消费。

适用场景:改进指标、应用 Micrometer、添加指标可观测性、重构 Micrometer 埋点,或为 Java 服务添加 Micrometer 计时器、计数器和仪表。

限制与约束:埋点必须操作安全、低基数且经过验证;标签设计不当或过度创建计量器会降低可观测性系统性能并增加成本。禁止用无界值作为标签,如 userId、UUID、原始 URL、完整异常消息。Counter 用于单调递增事件,Timer 用于延迟,Gauge 用于时点状态,DistributionSummary 用于采样值。应用前应阅读参考中的正反例与反模式。变更后运行 ./mvnw clean verify 或 mvn clean verify 验证。详细指导见 references/182-java-observability-metrics-micrometer.md。