界面已本地化;技能介绍与说明文档按所选语言由 AI 自动翻译,代码、命令、路径和专业术语保留原文,以原作者文档为准。
探索技能
效率与协作 · SKILL.md

spring-boot-observability

spring-boot-observability

【效率与协作】Instrument Spring Boot with Micrometer metrics, distributed tracing, and structured logging. Use when adding Micrometer metrics, distributed tracing, or structured logging to Spring Boot.

独立 GitHub 快照 · 自动分类 · 以原作者文档为准

技能说明

GitHub

name: spring-boot-observability description: Instrument Spring Boot with Micrometer metrics, distributed tracing, and structured logging. Use when adding Micrometer metrics, distributed tracing, or structured logging to Spring Boot. metadata: triggers: files: - 'logback-spring.xml' - 'application.properties' keywords: - micrometer - tracing - correlation-id - mdc

Spring Boot Observability

Priority: P0 (CRITICAL)

Implementation Workflow

  1. Add tracing and metrics dependencies to pom.xml
  2. Configure application.yaml for tracing, actuator, and log correlation
  3. Add structured logging with MDC context
  4. Verify with curl localhost:8080/actuator/prometheus and check trace IDs in logs

Enable Distributed Tracing

  • Correlation IDs: Enable trace/span ID injection.
  • Propagation: Propagate context across threads (@Async) and clients.
  • OpenTelemetry: Use OTel bridge (micrometer-tracing-bridge-otel).

See implementation examples for application.yaml tracing configuration and actuator exposure.

Configure Structured Logging

  • Format: Use JSON logging (logstash-logback-encoder) in production.
  • MDC: Use MDC for contextual info (userId, tenantId). Always clear MDC in finally block.
  • Output: Log to stdout only. Let container handle shipping.

See implementation examples for structured logging with MDC context and Logstash encoder.

Secure Actuator Endpoints

  • Security: Secure /actuator/** with Admin role.
  • Probes: Enable K8s Liveness/Readiness probes.
  • Verify: Run curl localhost:8080/actuator/prometheus to confirm metrics exposed.

Anti-Patterns

  • No System.out: Use @Slf4j for all structured logging.
  • No open Actuator: Secure /actuator/** with Admin role.
  • No DIY tracing: Use Micrometer with OTel bridge.

References

我的收藏