Skip to content
Lektion undefined von undefined0/undefined abgeschlossen
Modul 10 — Actuator & Monitoring

Actuator & Monitoring

0 pts

Actuator & Monitoring

Der Actuator liefert produktionsreife Monitoring-Endpoints — Health, Metriken, Info.

Lektion 46: Actuator-Endpoints

# application.yml
management:
  endpoints.web.exposure.include: health,info,metrics,prometheus
  endpoint.health.show-details: always
EndpointFunktion
/actuator/healthApp-Zustand (UP/DOWN)
/actuator/infoBuild-Info, Git-Commit
/actuator/metricsJVM, HTTP, DB-Metriken
/actuator/prometheusPrometheus-Format (Exporter)

Lektion 47: Health-Checks

{
  "status": "UP",
  "components": {
    "db": { "status": "UP" },
    "diskSpace": { "status": "UP" },
    "ping": { "status": "UP" }
  }
}

Spring Boot prüft automatisch: DataSource, Kafka, Redis, Disk-Space, PING.

Lektion 48: Metriken

@Service
public class OrderService {
    private final Counter ordersCreated;

    OrderService(MeterRegistry registry) {
        this.ordersCreated = Counter.builder("orders.created")
            .description("Total orders created")
            .register(registry);
    }

    public void createOrder(Order order) {
        ordersCreated.increment();
        // ...
    }
}

Micrometer — Vendor-neutral Metrics

Micrometer ist die Metrics-Abstraktion in Spring Boot. Ein Code, viele Backends: Prometheus, Grafana, CloudWatch, Datadog. Der Actuator expo- niert die Metriken, Micrometer sammelt sie.

Lektion 49: Custom Health Indicators

@Component
public class PaymentHealthIndicator implements HealthIndicator {
    @Override
    public Health health() {
        boolean healthy = checkPaymentGateway();
        return healthy ? Health.up().build()
                       : Health.down().withDetail("gateway", "timeout").build();
    }
}

Lektion 50: Observability in Produktion

  • Logs — strukturiert (JSON), mit Trace-IDs
  • Metrics — SLI/SLO-Dashboards (Prometheus + Grafana)
  • Traces — verteilte Tracing (Micrometer Tracing + Zipkin/OTLP)
  • Alerts — Prometheus-Alertmanager für kritische Metriken
Java Playground — Health-Check simuliertBereit
Editor wird geladen…

Liveness vs. Readiness — zwei Fragen, zwei Checks

Liveness: "Läuft der Prozess noch?" — bei DOWN startet Kubernetes den Container neu. Readiness: "Kann er Requests bedienen?" — bei DOWN nimmt der Loadbalancer ihn aus dem Routing, ohne Neustart. Ein fehlgeschlagener DB-Check ist meist ein Readiness-Problem, keine Liveness-Krise.

Praxis-Szenario: CropGuard: DatabaseHealthIndicator

Der DatabaseHealthIndicator zählt die Insured-Tabelle per SELECT COUNT(*). Schlägt die Query fehl, meldet /actuator/health DOWN mit Detail database: unreachable.

✅ Wichtige Erkenntnisse

Haken setzen, um deinen Lernfortschritt zu markieren:

    This site uses essential cookies for Stripe payments. No tracking cookies.