Erkundung von Spring Boot Actuator Endpunkten: Ein umfassender Leitfaden

Entdecke Spring Boot Actuator! Ein Leitfaden zu Einrichtung, Sicherheit & Integration mit Tools wie Apidog. Ideal für Entwickler zur Optimierung.

Leo Schulz

Leo Schulz

5 June 2025

Erkundung von Spring Boot Actuator Endpunkten: Ein umfassender Leitfaden

Spring Boot ist ein leistungsstarkes Framework, das die Entwicklung von Java-Anwendungen vereinfacht. Eines seiner herausragenden Merkmale ist der Spring Boot Actuator, ein Unterprojekt, das entwickelt wurde, um produktionsbereite Funktionen bereitzustellen, die Ihnen helfen, Ihre Anwendung zu überwachen und zu verwalten. In diesem Blogbeitrag werden wir tief in die Spring Boot Actuator-Endpunkte eintauchen, ihre Bedeutung verstehen und wie Sie sie in Ihren Anwendungen optimal nutzen können.

📣
Starten Sie kostenlos mit Apidog!

Sind Sie bereit, Ihre Anwendungsüberwachung auf die nächste Stufe zu heben? Laden Sie Apidog KOSTENLOS herunter und beginnen Sie noch heute mit der Integration in Ihre Spring Boot Actuator-Endpunkte. Mit Apidog können Sie Ihre APIs einfach entwerfen, testen und überwachen und so optimale Leistung und Zuverlässigkeit gewährleisten.
button

Was sind Spring Boot Actuator Endpunkte?

Zunächst wollen wir klären, was Spring Boot Actuator-Endpunkte sind. Actuator-Endpunkte sind spezifische URLs, die vom Spring Boot Actuator bereitgestellt werden, um Ihre Anwendung zu überwachen und mit ihr zu interagieren. Diese Endpunkte geben verschiedene Anwendungsinformationen wie Zustand, Metriken, Umgebungseigenschaften und mehr aus.

Spring Boot Actuator wird mit einer Vielzahl von integrierten Endpunkten geliefert, und Sie können auch benutzerdefinierte Endpunkte erstellen. Diese Endpunkte sind äußerst nützlich, um Einblicke in den aktuellen Zustand Ihrer Anwendung zu erhalten und Verwaltungsaufgaben auszuführen.

Warum Spring Boot Actuator Endpunkte verwenden?

Warum sollten Sie sich für Spring Boot Actuator-Endpunkte interessieren? Nun, sie bieten mehrere Vorteile:

Mit diesen Vorteilen im Hinterkopf wollen wir einige der wichtigsten Spring Boot Actuator-Endpunkte und deren effektive Nutzung untersuchen.

Spring official website

Erste Schritte mit Spring Boot Actuator

Bevor wir uns mit bestimmten Endpunkten befassen, müssen wir Spring Boot Actuator in unserer Anwendung einrichten. Hier ist eine Kurzanleitung für den Einstieg:

Abhängigkeit hinzufügen: Fügen Sie die Spring Boot Actuator-Abhängigkeit in Ihre pom.xml-Datei ein:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

Konfiguration: Standardmäßig werden Actuator-Endpunkte über den Basispfad /actuator verfügbar gemacht. Sie können dies in Ihrer application.properties- oder application.yml-Datei anpassen:

management.endpoints.web.base-path=/manage

Sicherheit: Für Produktionsumgebungen ist die Sicherung Ihrer Actuator-Endpunkte von entscheidender Bedeutung. Sie können Sicherheitseinstellungen konfigurieren, um den Zugriff einzuschränken:

management.endpoints.web.exposure.include=health,info
management.endpoint.health.probes.enabled=true
management.endpoint.health.show-details=always
management.endpoints.web.exposure.exclude=env

Nachdem die Einrichtung abgeschlossen ist, wollen wir uns mit der Erkundung der am häufigsten verwendeten Spring Boot Actuator-Endpunkte befassen.

Wichtige Spring Boot Actuator-Endpunkte

1. Health-Endpunkt

Der /health-Endpunkt liefert grundlegende Gesundheitsinformationen über Ihre Anwendung. Er ist einer der am häufigsten verwendeten Endpunkte für Überwachungszwecke.

Beispielantwort:

{
    "status": "UP",
    "components": {
        "db": {
            "status": "UP",
            "details": {
                "database": "MySQL",
                "validationQuery": "isValid()"
            }
        },
        "diskSpace": {
            "status": "UP",
            "details": {
                "total": 499963174912,
                "free": 340105166848,
                "threshold": 10485760
            }
        }
    }
}

2. Info-Endpunkt

Der /info-Endpunkt gibt beliebige Anwendungsinformationen aus. Sie können diesen Endpunkt verwenden, um Details wie Version, Beschreibung und andere Metadaten bereitzustellen.

info.app.name=My Spring Boot Application
info.app.description=This is a sample application.
info.app.version=1.0.0

3. Metrics-Endpunkt

Der /metrics-Endpunkt liefert eine Fülle von Informationen über verschiedene Metriken, die von der Anwendung gesammelt werden, wie z. B. Speichernutzung, CPU-Auslastung und HTTP-Anforderungsstatistiken.

Beispielantwort:

{
    "names": [
        "jvm.memory.used",
        "jvm.gc.pause",
        "http.server.requests",
        ...
    ]
}

Sie können auch bestimmte Metriken abfragen, z. B. um HTTP-Anforderungsstatistiken abzurufen:

4. Env-Endpunkt

Der /env-Endpunkt gibt Eigenschaften aus der Spring Environment aus. Dies kann sehr nützlich sein, um Konfigurationsprobleme zu debuggen.

Beispielantwort:

{
    "activeProfiles": ["dev"],
    "propertySources": [
        {
            "name": "applicationConfig: [classpath:/application.properties]",
            "properties": {
                "server.port": {
                    "value": "8080"
                }
            }
        },
        ...
    ]
}

5. Beans-Endpunkt

Der /beans-Endpunkt liefert eine Liste aller Spring-Beans im Anwendungskontext zusammen mit ihren Abhängigkeiten. Dies ist nützlich, um die Verdrahtung Ihrer Anwendung zu verstehen.

Beispielantwort:

{
    "contexts": {
        "application": {
            "beans": {
                "beanName": {
                    "aliases": [],
                    "scope": "singleton",
                    "type": "com.example.MyBean",
                    "resource": "file:./classes/com/example/MyBean.class",
                    "dependencies": []
                },
                ...
            }
        }
    }
}

Integration von Spring Boot Actuator-Endpunkten mit Apidog

Spring Boot Actuator-Endpunkte bieten eine Vielzahl von Tools zur Überwachung und Verwaltung Ihrer Anwendung. Um diese Funktionen voll auszuschöpfen, kann die Integration mit einem leistungsstarken API-Verwaltungstool wie Apidog unglaublich vorteilhaft sein. Apidog hilft beim nahtlosen Entwerfen, Testen und Überwachen von APIs und verbessert so Ihre gesamte Anwendungsverwaltungsstrategie.

Warum mit Apidog integrieren?

Apidog bietet mehrere Vorteile bei der Integration mit Spring Boot Actuator-Endpunkten:

Schritte zur Integration von Spring Boot Actuator mit Apidog

Registrieren Sie Ihre API: Beginnen Sie damit, Ihre Spring Boot-API bei Apidog zu registrieren.

Register your endpoint on Apidog

Dadurch kann Apidog Ihre Actuator-Endpunkte erkennen und mit ihnen interagieren.

Register your endpoint on Apidog

Stellen Sie sicher, dass Ihre Actuator-Endpunkte verfügbar gemacht und zugänglich sind. Passen Sie Ihre Sicherheitseinstellungen bei Bedarf an, damit Apidog auf diese Endpunkte zugreifen kann.

Gesundheit überwachen: Verwenden Sie Apidog, um den Endpunkt kontinuierlich zu überwachen. Dadurch wird der Gesundheitszustand Ihrer Anwendung verfolgt und Sie über alle Probleme informiert.

Monitor Health on Apidog

Nutzen Sie die Analysefunktionen von Apidog, um Erkenntnisse aus dem Endpunkt zu gewinnen. Dies hilft Ihnen, Leistungstrends zu verstehen und potenzielle Engpässe zu identifizieren.

Vorteile der Integration

Die Integration von Spring Boot Actuator-Endpunkten mit Apidog bietet eine robuste Überwachungslösung. Hier sind einige wichtige Vorteile:

Diese Integration eröffnet eine Welt voller Möglichkeiten für das proaktive Anwendungsmanagement. Beginnen Sie noch heute mit der Integration und erleben Sie die Vorteile der nahtlosen Überwachung und Verwaltung mit Spring Boot Actuator und Apidog.

Erweiterte Tipps und Tricks für die Verwendung von Spring Boot Actuator-Endpunkten

Nachdem wir nun ein solides Verständnis der Grundlagen haben, wollen wir uns mit einigen erweiterten Tipps und Tricks befassen, die Ihnen helfen können, noch mehr aus Spring Boot Actuator-Endpunkten herauszuholen.

Feinabstimmung der Metriksammlung

Standardmäßig sammelt Spring Boot Actuator eine Fülle von Metriken. In einer Produktionsumgebung möchten Sie jedoch möglicherweise anpassen, welche Metriken gesammelt werden, um die Leistung und den Speicher zu optimieren.

Bestimmte Metriken aktivieren: Sie können mit Eigenschaften in application.properties oder application.yml fein abstimmen, welche Metriken aktiviert werden.

management.metrics.enable.jvm=true
management.metrics.enable.process=true
management.metrics.enable.http.server.requests=true

Abtastung und Histogramm: Passen Sie die Abtastrate und die Histogrammkonfiguration an, um die Granularität und Leistung der Metriksammlung zu verwalten.

management.metrics.distribution.percentiles.http.server.requests=0.5,0.95,0.99
management.metrics.distribution.expiry=http.server.requests=60s

Erstellen von zusammengesetzten Gesundheitsindikatoren

Zusammengesetzte Gesundheitsindikatoren aggregieren mehrere Gesundheitsindikatoren zu einem einzigen Gesundheitsstatus. Dies kann besonders nützlich sein, wenn Sie mehrere Subsysteme überwachen müssen.

Gesundheitsindikatoren erstellen: Implementieren Sie benutzerdefinierte Gesundheitsindikatoren, indem Sie AbstractHealthIndicator erweitern.

import org.springframework.boot.actuate.health.Health;
import org.springframework.boot.actuate.health.HealthIndicator;
import org.springframework.stereotype.Component;

@Component
public class CustomHealthIndicator implements HealthIndicator {

    @Override
    public Health health() {
        // Custom health check logic
        return Health.up().withDetail("custom", "All systems go").build();
    }
}

Gesundheitsindikatoren aggregieren: Verwenden Sie HealthAggregator, um mehrere Gesundheitsindikatoren zu kombinieren.

import org.springframework.boot.actuate.health.CompositeHealthContributor;
import org.springframework.boot.actuate.health.HealthContributor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class HealthConfig {

    @Bean
    public HealthContributor customHealthContributor() {
        return CompositeHealthContributor.fromMap(Map.of(
            "custom", new CustomHealthIndicator(),
            "db", new DataSourceHealthIndicator(dataSource)
        ));
    }
}

Anpassen von Endpunktpfaden und -exposition

Möglicherweise möchten Sie die Standardpfade ändern oder steuern, welche Endpunkte basierend auf verschiedenen Umgebungen (z. B. Dev vs. Prod) verfügbar gemacht werden.

Benutzerdefinierter Pfad: Ändern Sie den Basispfad für alle Actuator-Endpunkte.

management.endpoints.web.base-path=/monitoring

Umgebungsspezifische Exposition: Verwenden Sie Profile, um die Endpunktexposition für verschiedene Umgebungen anzupassen.

# application-dev.properties
management.endpoints.web.exposure.include=*

# application-prod.properties
management.endpoints.web.exposure.include=health,info,metrics

Nutzung von Überwachungstools von Drittanbietern

Während Spring Boot Actuator eine solide Grundlage bietet, kann die Integration mit Tools von Drittanbietern robustere Überwachungsfunktionen bieten. Tools wie Prometheus, Grafana und New Relic können Metriken von Actuator-Endpunkten aufnehmen und erweiterte Analysen, Warnungen und Visualisierungen bereitstellen.

Prometheus: Konfigurieren Sie einen Prometheus-Endpunkt, um Metriken zu scrapen.

management.endpoint.prometheus.enabled=true

Grafana: Verwenden Sie Grafana, um Prometheus-Metriken zu visualisieren, indem Sie eine Datenquelle hinzufügen, die auf Ihren Prometheus-Server verweist.

Debugging und Protokollierung

Eine erweiterte Protokollierung rund um Actuator-Endpunkte kann bei der Fehlersuche helfen. Passen Sie die Protokollierungsebenen für Actuator-Endpunkte in application.properties an.

logging.level.org.springframework.boot.actuate=DEBUG
logging.level.org.springframework.boot.actuate.endpoint=TRACE

Automatisierung mit CI/CD

Integrieren Sie Actuator-Endpunkte in Ihre CI/CD-Pipelines, um Gesundheitsprüfungen und BereitstellungsValidierungen zu automatisieren.

CI/CD ist auf Apidog verfügbar

CI/CD on Apidog

Vorab-Bereitstellungsprüfungen: Bevor Sie bereitstellen, lösen Sie ein Skript aus, das den Gesundheitsendpunkt überprüft.

curl -f http://localhost:8080/actuator/health || exit 1

Überwachung nach der Bereitstellung: Überwachen Sie nach der Bereitstellung kontinuierlich wichtige Metriken und richten Sie Warnungen für Anomalien ein.

Fazit

Spring Boot Actuator-Endpunkte sind nicht nur ein Tool zur Überwachung; sie sind eine umfassende Lösung zur Aufrechterhaltung des Zustands, der Leistung und der Zuverlässigkeit Ihrer Anwendung. Durch die Nutzung der Leistungsfähigkeit dieser Endpunkte können Sie tiefe Einblicke in die Funktionsweise Ihrer Anwendung gewinnen, Verwaltungsaufgaben automatisieren und sicherstellen, dass Ihr System unter verschiedenen Bedingungen robust und reaktionsfähig bleibt.

Egal, ob Sie gerade erst mit Spring Boot beginnen oder Ihre Überwachungsstrategie verfeinern möchten, die Actuator-Endpunkte bieten eine solide Grundlage. In Verbindung mit Tools wie Apidog können Sie Ihre Überwachungsfunktionen auf ein neues Niveau heben und sicherstellen, dass Ihre Anwendungen immer reibungslos und effizient laufen.

Denken Sie daran, dass die Standardeinstellungen sofort gut funktionieren, aber die wahre Leistung in der Anpassung und Integration dieser Endpunkte in Ihren spezifischen Workflow liegt. Beginnen Sie also noch heute mit dem Erkunden, Optimieren und Integrieren von Actuator-Endpunkten und beobachten Sie, wie sich Ihre Anwendungsüberwachung von einfach zu brillant verwandelt.

button

Explore more

Fathom-R1-14B: Fortschrittliches KI-Argumentationsmodell aus Indien

Fathom-R1-14B: Fortschrittliches KI-Argumentationsmodell aus Indien

Künstliche Intelligenz wächst rasant. FractalAIResearch/Fathom-R1-14B (14,8 Mrd. Parameter) glänzt in Mathe & Logik.

5 June 2025

Cursor 1.0 mit BugBot: KI-gestütztes Automatisierungstest-Tool ist da:

Cursor 1.0 mit BugBot: KI-gestütztes Automatisierungstest-Tool ist da:

Die Softwareentwicklung erlebt Innovationen durch KI. Cursor, ein KI-Editor, erreicht mit Version 1.0 einen Meilenstein.

5 June 2025

30+ öffentliche Web 3.0 APIs, die Sie jetzt nutzen können

30+ öffentliche Web 3.0 APIs, die Sie jetzt nutzen können

Der Aufstieg von Web 3.0: Dezentral, nutzerorientiert, transparent. APIs ermöglichen innovative dApps und Blockchain-Integration.

4 June 2025

Praktizieren Sie API Design-First in Apidog

Entdecken Sie eine einfachere Möglichkeit, APIs zu erstellen und zu nutzen