spring-boot-actuator
Provides patterns to configure Spring Boot Actuator for production-grade monitoring, health probes, secured management endpoints, and Micrometer metrics across JVM services. Use when setting up monitoring, health checks, or metrics for Spring Boot applications.
By giuseppe-trisciuoglio · 2,966 installs
npx skills add giuseppe-trisciuoglio/developer-kit --skill spring-boot-actuator
Source repository · Upstream listing
Spring Boot Actuator Skill
Overview
Deliver production ready observability for Spring Boot services using Actuator endpoints, probes, and Micrometer integration.
Standardize health, metrics, and diagnostics configuration while delegating deep reference material to references/ .
Support platform requirements for secure operations, SLO reporting, and incident diagnostics.
When to Use
Trigger: "enable actuator endpoints" – Bootstrap Actuator for a new or existing Spring Boot service.
Trigger: "secure management port" – Apply Spring Security policies to protect management traffic.
Trigger: "configure health probes" – Define readiness and liveness groups for orchestrators.
Trigger: "export metrics to prometheus" – Wire Micrometer registries and tune metric exposure.
Trigger: "debug actuator startup" – Inspect condition evaluations and startup metrics when endpoints are missing or slow.
Quick Start
After adding the dependency, verify endpoints respond:
Instructions
1. Add Actuator Dependency
Include spring boot starter actuator in your build configuration.
Validate : Restart the service and confirm /actuator/health and /actuator/info respond with 200 OK .
2. Expose Required Endpoints
Set management.endpoints.web.exposure.include to the precise list or " " for internal deployments.
Adjust management.endpoints.web.base path (e.g., /management ) when the default /actuator conflicts with routing.
Review detailed endpoint semantics in references/endpoint reference.md .
Validate : curl http://localhost:8080/actuator returns the list of exposed endpoints.
3. Secure Management Traffic
Apply an isolated SecurityFilterChain using EndpointRequest.toAnyEndpoint() with role based rules.
Combine management.server.port with firewall controls or service mesh policies for operator only access.
Keep /actuator/health/ publicly accessible only when required; otherwise enforce authentication.
Validate : Unauthenticated requests to protected endpoints return 401 Unauthorized .
4. Configure Health Probes
Enable management.endpoint.health.probes.enabled=true for /health/liveness and /health/readiness .
Group indicators via management.endpoint.health.group. to match platform expectations.
Implement custom indicators by extending HealthIndicator or ReactiveHealthContributor ; sample implementations in references/examples.md custom health indicator .
Validate : /actuator/health/readiness returns UP with all mandatory components before promoting to production.
5. Publish Metrics and Traces
Activate Micrometer exporters (Prometheus, OTLP, Wavefront, StatsD) via management.metrics.export. .
Apply MeterRegistryCustomizer beans to add application , environment , and business tags for observability correlation.
Surface HTTP request metrics with server.observation. configuration when using Spring Boot 3.2+.
Validate : Scrape /actuator/prometheus and confirm required meters ( http.server.requests , jvm.memory.used ) are present.
6. Enable Diagnostics Tooling
Turn on /actuator/startup (Spring Boot 3.5+) and /actuator/conditions during incident response to inspect auto configuration decisions.
Register an HttpExchangeRepository (e.g., InMemoryHttpExchangeRepository ) before enabling /actuator/httpexchanges for request auditing.
Consult references/endpoint reference.md for endpoint behaviors and limits.
Validate : /actuator/startup and /actuator/conditions return valid JSON payloads.
Examples
Basic – Expose health and info safely
Intermediate – Readiness group with custom indicator
Advanced – Dedicated management port with Prometheus export
More end to end samples are available in references/examples.md .
Best Practices
Keep SKILL.md concise and rely on references/ for verbose documentation to conserve context.
Apply the principle of least privilege: expose only required endpoints and restrict sensitive ones.
Use immutable configuration via profile specific YAML to align environments.
Monitor actuator traffic separately to detect scraping abuse or brute force attempts.
Automate regression checks by scripting curl probes in CI/CD pipelines.
Constraints and Warnings
Avoid exposing /actuator/env , /actuator/configprops , /actuator/logfile , and /actuator/heapdump on public networks.
Do not ship custom health indicators that block event loop threads or exceed 250 ms unless absolutely necessary.
Ensure Actuator metrics exporters run on supported Micrometer registries; unsupported exporters require custom registry beans.
Maintain compatibility with Spring Boot 3.5.x conventions; older versions may lack probes and observation features.
Never expose actuator endpoints without authentication in production environments.
Health indicators should not perform expensive operations that could impact application performance.
Be cautious with /actuator/beans and /actuator/mappings as they reveal internal application structure.
Reference Materials
[Endpoint quick reference](references/endpoint reference.md)
[Implementation examples](references/examples.md)
[Official documentation extract](references/endpoint reference.md)
[Auditing with Actuator](references/auditing.md)
[Cloud Foundry integration](references/cloud foundry.md)
[Enabling Actuator features](references/enabling.md)
[HTTP exchange recording](references/http exchanges.md)
[JMX exposure](references/jmx.md)
[Monitoring and metrics](references/monitoring.md)
[Logging configuration](references/loggers.md)
[Metrics exporters](references/metrics.md)
[Observability with Micrometer](references/observability.md)
[Process and Monitoring](references/process monitoring.md)
[Tracing](references/tracing.md)
Scripts directory ( scripts/ ) reserved for future automation; no runtime dependencies today.
Validation Checklist
Confirm mvn spring boot:run or ./gradlew bootRun exposes expected endpoints under /actuator (or custom base path).
Verify /actuator/health/readiness returns UP with all mandatory components before promoting to production.
Scrape /actuator/metrics or /actuator/prometheus to ensure required meters ( http.server.requests , jvm.memory.used ) are present.
Run security scans to validate only intended ports and endpoints are reachable from outside the trusted network.