mcpField
1
182-java-observability-metrics-micrometer

182-java-observability-metrics-micrometer

github.com/jabrena开发456277 次安装1 天前更新
代码仓库

关于 182-java-observability-metrics-micrometer

面向 Java 开发者的 Micrometer 指标设计与验证技能,涵盖仪表选择、低基数标签、生产环境防护和运行验证。

主要功能

  1. 01选择 Counter、Timer、Gauge 等仪表
  2. 02设计低基数名称与标签
  3. 03制定直方图和百分位策略
  4. 04防止时间序列膨胀
  5. 05验证指标注册与数值

适用场景

  1. 01为 Java 服务添加延迟和吞吐指标
  2. 02重构 Micrometer 指标埋点
  3. 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 计时器、计数器或仪表

工作流

  1. 定义测量目标和 meter 契约

确定关键服务指标(吞吐量、延迟、错误率、饱和度),并将每项映射到稳定的指标名称、单位和低基数标签。

  1. 选择 meter 类型并为代码路径添加埋点

在适当场景使用 Counter/Timer/Gauge/DistributionSummary/LongTaskTimer,并确保命名规范一致且标签可复用。

  1. 加固埋点以用于生产环境

控制基数,避免动态 meter 频繁更替,仅在需要时配置直方图/百分位数策略,并使导出设置与遥测后端保持一致。

  1. 验证指标并使其投入运行

在测试和运行时端点中验证指标,确认标签/单位符合预期,并确保仪表板/告警能够使用发出的时间序列。

参考资料

详细指南、示例和约束请参阅 references/182-java-observability-metrics-micrometer.md。

评论

支持 Markdown