关于 182-java-observability-metrics-micrometer
面向 Java 开发者的 Micrometer 指标设计与验证技能,涵盖仪表选择、低基数标签、生产环境防护和运行验证。
主要功能
- 01选择 Counter、Timer、Gauge 等仪表
- 02设计低基数名称与标签
- 03制定直方图和百分位策略
- 04防止时间序列膨胀
- 05验证指标注册与数值
适用场景
- 01为 Java 服务添加延迟和吞吐指标
- 02重构 Micrometer 指标埋点
- 03检查标签基数和仪表生命周期
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ jabrena/ plinth --skill 182-java-observability-metrics-micrometer安装后在 Claude Code 中输入/182-java-observability-metrics-micrometer确认已加载。
附带文件references/182-java-observability-metrics-micrometer.md
详细介绍
使用 Micrometer 实现 Java 指标可观测性
通过定义有意义的服务级指标、控制基数、选择合适的 meter 类型,并提供可用于生产环境的遥测数据以支持仪表板和告警,从而实现有效的 Java 指标埋点。
此技能涵盖哪些内容?
- 在 Java 应用中使用 Micrometer 实现以指标为先的可观测性
- Meter 类型选择:Counter、Timer、DistributionSummary、Gauge、LongTaskTimer
- 低基数维度下的命名和标签规范
- 基数和 meter 生命周期保护措施,防止时间序列激增
- 面向直方图/百分位数的策略,以及面向 SLO 的指标设计
- Actuator 与 Prometheus/OpenTelemetry 流水线的集成指南
- 指标注册和值的测试与验证
范围: Java 服务的应用级指标设计和埋点质量,重点关注在运维中有用且具备成本效益的遥测数据。
约束
指标埋点必须具备运维安全性、低基数,并经过验证。糟糕的标签设计或过度创建 meter 会降低可观测性系统的性能并增加成本。
- 优先采用低基数:切勿使用无界值(userId、UUID、原始 URL、完整异常消息)作为指标标签
- 选择正确的 METER 类型:单调递增的事件使用 Counter,延迟使用 Timer,时间点状态使用 Gauge,采样值使用 DistributionSummary
- 应用之前:阅读参考资料,了解良好/不佳的埋点示例和反模式
- 验证:更改后运行
./mvnw clean verify或mvn clean verify
何时使用此技能
- 改进指标
- 使用 Micrometer
- 添加指标可观测性
- 重构 Micrometer 埋点
- 为 Java 服务添加 Micrometer 计时器、计数器或仪表
工作流
- 定义测量目标和 meter 契约
确定关键服务指标(吞吐量、延迟、错误率、饱和度),并将每项映射到稳定的指标名称、单位和低基数标签。
- 选择 meter 类型并为代码路径添加埋点
在适当场景使用 Counter/Timer/Gauge/DistributionSummary/LongTaskTimer,并确保命名规范一致且标签可复用。
- 加固埋点以用于生产环境
控制基数,避免动态 meter 频繁更替,仅在需要时配置直方图/百分位数策略,并使导出设置与遥测后端保持一致。
- 验证指标并使其投入运行
在测试和运行时端点中验证指标,确认标签/单位符合预期,并确保仪表板/告警能够使用发出的时间序列。
参考资料
详细指南、示例和约束请参阅 references/182-java-observability-metrics-micrometer.md。
评论
支持 Markdown