Spring Boot

Statusseite und Uptime-Monitoring für Spring-Boot-Anwendungen

Spring-Boot-Services überwachen. Funktioniert out-of-the-box mit Spring-Boot-Actuator-Health-Endpoints. Public Statusseite oder headless via API.

Drei Wege für eine Statusseite für Spring Boot

Wähle die Kontrolltiefe — kein Code, Low-Code oder Full Headless.

Gehostet

Spring Boot-Endpoint hinzufügen, CNAME auf status.deinedomain.com zeigen, fertig. In 5 Minuten.

Headless

Public API nutzen, eigene UI direkt in der Spring Boot-App bauen. Volle Kontrolle über Design und Branding.

API ansehen

Eingebettete Badges

SVG-Uptime- und -Status-Badges in README oder Landing Page einbauen. Aktualisiert sich alle 5 Minuten.

Diesen Health-Endpoint in deine Spring Boot-App einfügen

Kopieren, einfügen, PulseAPI auf die URL richten. 200 gesund, 503 degradiert.

application.yml
# application.yml
management:
  endpoints:
    web:
      exposure:
        include: health, info
  endpoint:
    health:
      show-details: always
      probes:
        enabled: true
  health:
    db:
      enabled: true
    redis:
      enabled: true
    diskspace:
      enabled: true

Spring Boot Actuator expose /actuator/health mit stabilem JSON-Schema. `$.status == "UP"` asserten. JSON-Path für Komponenten hinzufügen.

Was in Spring Boot-Apps kaputt geht — und wie man es fängt

Actuator "UP" bei kaputtem Downstream

Der Default-Health-Check kann grün sein, während eine kritische Bean intermittierend fällt. Custom HealthIndicators und spezifische Komponenten asserten.

JVM-Memory-Druck

Lange GC-Pausen zeigen sich als Latenz-Spikes. Response-Time-Alerts fangen das vor OOMs.

Kafka-Consumer-Lag

Stille Consumer-Fehler lassen Queues wachsen. Lag-Endpoint exposen und Threshold asserten.

Headless-Ansatz

Statusseite gefällt dir nicht? Bau sie in Spring Boot selbst.

Unsere API liefert dieselben Daten wie unsere gehostete UI. Volle OpenAPI-Spec unter api.pulseapi.tech/docs.

Spring @RestController, der unsere Status-API für eine eigene Seite proxyt.
@RestController
public class StatusController {

    private final RestTemplate rest = new RestTemplate();

    @GetMapping("/status")
    public ResponseEntity<String> status() {
        String body = rest.getForObject(
            "https://api.pulseapi.tech/status/acme",
            String.class
        );
        return ResponseEntity.ok(body);
    }
}

Spring Boot-Monitoring — FAQ

Funktioniert mit Spring Boot 2, 3 oder Micronaut?

Mit allen. Die /actuator/health-Form ist über Spring-Versionen stabil und Micronaut ist ähnlich.

Kann ich /actuator/health absichern?

Ja. API-Key oder IP-Allow-List. PulseAPI unterstützt Custom-Header pro Endpoint.

Wie gehe ich mit Kubernetes-Probes um?

Actuator Liveness- und Readiness-Pfade nutzen. `/actuator/health/liveness` für Uptime und `/readiness` für Abhängigkeiten.

Kann ich die Statusseite in einer Spring-App rendern?

Ja. Public API in einem @RestController proxyen oder mit Thymeleaf rendern.

Deine Spring Boot-App in 5 Minuten überwachen

Kostenloser Tarif. Keine Kreditkarte. Endpoint hinzufügen, Alerts erhalten.