Agent Skills: 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. (triggers: logback-spring.xml, application.properties, micrometer, tracing, correlation-id, mdc)

UncategorizedID: hoangnguyen0403/agent-skills-standard/spring-boot-observability

Install this agent skill to your local

pnpm dlx add-skill https://github.com/HoangNguyen0403/agent-skills-standard/tree/HEAD/skills/spring-boot/spring-boot-observability

Skill Files

Browse the full folder contents for spring-boot-observability.

Download Skill

Loading file tree…

skills/spring-boot/spring-boot-observability/SKILL.md

Skill Metadata

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. (triggers: logback-spring.xml, application.properties, micrometer, tracing, correlation-id, mdc)"

Spring Boot Observability

Priority: P0

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 a 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 are 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