What this prompt does
This prompt sets up a full observability stack for [service_count] Spring Boot [spring_version] microservices. It wires distributed tracing with [tracing_backend] and Micrometer Tracing, metrics through Micrometer to Prometheus including custom [business_metrics], structured logging in [log_format] with trace and span IDs via MDC, log aggregation in [log_backend], Grafana dashboards, alerting on [alert_conditions], custom health indicators for [health_checks], SLI/SLO definitions for [slo_targets], request correlation across HTTP, Kafka, and gRPC, and a docker-compose for local development.
The structure works because dashboards alone are not observability — the value comes from correlating a single request across services and from defining what "healthy" actually means. By forcing trace-ID propagation through HTTP, Kafka, and gRPC and demanding real [slo_targets], the output produces something you can act on during an incident rather than a wall of disconnected graphs. Tying alerts to concrete [alert_conditions] keeps the system from either crying wolf or staying silent when it matters.
When to use it
- When debugging across
[service_count]microservices requires following one request end to end - When you need RED metrics, JVM health, and
[business_metrics]in one place - When logs lack trace IDs and correlating them across services is painful
- When you want alerting tied to real conditions like
[alert_conditions], not noise - When defining SLOs (
[slo_targets]) to anchor reliability conversations - When you need a local docker-compose stack to develop against the same tooling
- When you want custom health indicators for
[health_checks]so readiness reflects real dependency state
Example output
You get Spring Boot configuration plus supporting assets: distributed tracing wired through Micrometer with [tracing_backend], Prometheus metrics including custom [business_metrics], the [log_format] logging config with MDC trace and span IDs, log aggregation in [log_backend], alerting rules for [alert_conditions], custom health indicators for [health_checks], SLI/SLO definitions targeting [slo_targets], Grafana dashboard JSON for RED metrics and JVM health, request correlation across HTTP, Kafka, and gRPC, and a docker-compose bringing up [tracing_backend], Prometheus, [log_backend], and Grafana for local use. It is closer to a runnable stack you can stand up across your [service_count] services than a conceptual overview.
Pro tips
- Make sure trace-ID propagation is wired through every transport you use — HTTP, Kafka, and gRPC — or correlation breaks exactly where you need it most
- Define
[slo_targets]as numbers you will actually defend; vague targets make the dashboards decorative - Add
[business_metrics]alongside technical ones so you can tell a real incident from a harmless blip - Tune
[alert_conditions]to fire on sustained problems, not single spikes, to avoid alert fatigue - Include the custom
[health_checks]for real dependencies (database, Redis, Kafka) so health endpoints reflect actual readiness - Use the docker-compose stack locally so your dashboards match production rather than diverging over time