English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

SpringBoot Starter Actuator

SpringBoot ActuatorJa, ein Subprojekt des Spring Boot-Frameworks. Es umfasst viele andere Funktionen, die uns helfen, Spring Boot-Anwendungen zu überwachen und zu verwalten. Es enthält Actuator-Endpunkte (Orte, an denen Ressourcen gespeichert sind). Wir können HTTP und JMX Punkt zu verwalten und zu überwachen Spring Boot-Anwendungen. Wenn Sie in der Anwendung produktionsreife Funktionen benötigen, sollten Sie S Spring Boot Actuator.

Spring Boot Actuator-Funktionen

Spring Boot Actuator hat dreiHauptfunktionen:

Endpoints Metrics Audit

Endpoint: Actuator-Endpunkte ermöglichen es uns, Anwendungen zu überwachen und mit ihnen zu interagieren. Spring Boot bietet viele eingebaute Endpunkte. Wir können auch eigene Endpunkte erstellen. Wir können jeden Endpunkt einzeln aktivieren oder deaktivieren. Die meisten Anwendungen wählen HTTP und die ID des Endpunkts sowie /aktuator-Vorsilbeauf URLs zu leiten.

Für Beispiele, /health Endpunkten, um grundlegende Gesundheitsinformationen der Anwendung bereitzustellen. Actuator leitet dies standardmäßig auf /actuator/health ,

Metrics: Spring Boot Actuator integriert mit Micrometerintegriert, um Größenindizes bereitzustellen. Das Micrometer ist in Spring Boot integriert. Es ist eine Bibliothek, die zur Unterstützung der Bereitstellung von Anwendungsmetriken von Spring unterstützt. Es ist für Anwendungen mit Dimensionendatenmodellen Timer, Instrumente, Zähler, Summenverteilungund Langzeit-Timerbietet eine vendor-unabhängige Schnittstelle.

Audit: Spring Boot bietet einen flexiblen Audit-Framework, das Ereignisse an AuditEventRepositoryWenn spring-security, die automatisch Authentifizierungsevents veröffentlicht.

Aktivierung von Spring Boot Actuator

Wir können dies durch die Einbindung von Abhängigkeiten in der Datei pom.xml erreichen spring-boot-starter-actuator um Actuator zu aktivieren.

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

Spring Boot Actuator-Endpunkte

Actuator-Endpunkte ermöglichen es uns, Spring Boot-Anwendungen zu überwachen und mit ihnen zu interagieren. Spring Boot enthält viele eingebaute Endpunkte, und wir können auch benutzerdefinierte Endpunkte in Spring Boot-Anwendungen hinzufügen.

Die folgende Tabelle beschreibt häufig verwendete Endpunkte.

Id VerwendungStandard
ActuatorEs bietet anderen Endpunkten eine auf Hypermedia basierteEntdeckungsseiteEs erfordert, dass Spring HATEOAS im Classpath vorhanden ist.true
auditeventsEs öffnet Informationen über Auditereignisse der aktuellen Anwendung.true
autoconfigEs wird verwendet, um Berichte über die automatische Konfiguration anzuzeigen, die alle Kandidaten für die automatische Konfiguration sowie die Gründe für ihre "Anwendung" oder "Nichtanwendung" zeigt.true
beansEs wird verwendet, um eine vollständige Liste aller Spring-Beans in der Anwendung anzuzeigen.true
configpropsEs wird verwendet, um eine aufgeräumte Liste aller @ConfigurationProperties anzuzeigen.true
dumpEs wird verwendet, um Thread-Dumps auszuführen.true
envEs wird verwendet, um Attribute aus dem ConfigurableEnvironment von Spring öffentlich zu machen.true
flywayEs wird verwendet, um alle angewendeten Flyway-Datenbankmigrations anzuzeigen.true
healthEs wird verwendet, um Statusinformationen der Anwendung anzuzeigen.Fehler
infoEs wird verwendet, um beliebige Anwendungsinformationen anzuzeigen.Fehler
loggersEs wird verwendet, um die Konfiguration der Logger in der Anwendung anzuzeigen und zu ändern.true
liquibaseEs wird verwendet, um alle angewendeten Liquibase-Datenbankmigrations anzuzeigen.true
metricsEs wird verwendet, um Metrikeninformationen der aktuellen Anwendung anzuzeigen.true
mappingsEs wird verwendet, um eine aufgeräumte Liste aller @RequestMapping-Pfade anzuzeigen.true
shutdownEs wird verwendet, um eine normale Anwendungsaufgabe zu ermöglichen.true
traceEs wird verwendet, um Spurinformationen anzuzeigen.true

Für Spring MVC werden die folgenden zusätzlichen Endpunkte verwendet.

IdBeschreibungStandard
docsEs wird verwendet, um Dokumente anzuzeigen, einschließlich Beispielsanfragen und -antworten für Actuator-Endpunkte.Fehler
heapdumpEs wird verwendet, um GZip-komprimierte hprof-Heap-Dump-Dateien zurückzugeben.true
jolokiaEs wird verwendet, um JMX-Beans über HTTP öffentlich zu machen (wenn Jolokia im Classpath ist).true
logfileEs wird verwendet, um den Inhalt der Logdatei zurückzugeben.true
prometheusEs wird verwendet, um Metriken in einem Format zu veröffentlichen, das vom Prometheus-Server abgegriffen werden kann. Es benötigt Abhängigkeiten von-Prometheus.true

Spring Boot Actuator-Eigenschaften

Spring Boot bietet für alle Actuator-Endpunkte Sicherheit. Es verwendet basierend auf dem FormularAuthentifizierung, die das folgende bietet Benutzer-ID Als Benutzer, und stellen Sie bereit Passwort. Wir können auch den grundlegenden Authentifizierungssicherheit für Endpunkte anpassen, um auf begrenzte Endpunkte des Actuator zuzugreifen. Wir müssen management.security.roles Eigenschaften überschreiben diese Konfiguration. Zum Beispiel:

management.security.enabled=true
management.security.roles=ADMIN
security.basic.enabled=true
security.user.name=admin
security.user.passowrd=admin

Spring Boot Actuator Beispiel

Lassen Sie uns das Konzept von Actuator anhand eines Beispiels verstehen.

Schritte1: Öffnen Sie Spring Initializr https://start.spring.io/und erstellen Maven Projekt.

Schritte2: bietet GruppeName. Wir haben com.w3codebox。

Schritte3: bietet Arbeit ID. Wir haben spring-boot-actuator-

Schritte4: Spring Web, Spring Boot Starter Actuatorund ,

Schritte5: Klicken ErstellenSchaltfläche. Wenn wir auf die Schaltfläche "Erstellen" klicken, werden alle Abhängigkeiten des Projekts in ein Paket verpackt Jar Datei und laden Sie sie in unser lokales System herunter.

Schritte6: Das Jar-Datei extrahieren und in den STS-Workspace einfügen.

Schritte7: Das Projektverzeichnis importieren.

Datei-> Importieren-> Bestehendes Maven-Projekt-> Durchsuchen-> Verzeichnis auswählen spring-boot-actuator-example- > Fertig

Der Import dauert einige Zeit. Nach dem Importieren des Projekts können wir den Projektverzeichnis im "Paket-Resource-Manager"-Bereich sehen.

Schritte8: : Eine Controller-Klasse erstellen. Wir haben die Controllerklasse DemoRestController erstellt.

DemoRestController.java

package com.w3codebox;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class DemoRestController 
{
@GetMapping("/hello")
public String hello() 
{
return \
}
}

Schritte9: Öffnen application.properties Datei und fügen Sie den folgenden Satz hinzu, um die Sicherheitsoptionen von Actuator zu deaktivieren.

application.properties

management.security.enabled=false

Schritte10: Ausführen SpringBootActuatorExampleApplication.java Datei.

Schritte11: Öffnen Sie den Browser und rufen Sie die URL http: //localhost: 8080/actuator. Es wird die folgende Seite zurückgegeben:

{"_links":{"self":{"href":"http://localhost:8080/"actuator","templated":false},"health":{"href":"http://localhost:8080/actuator/"health","templated":false},"health-"path":{"href":"http://localhost:8080/actuator/health/{*path","templated":true},"info":{"href":"http://localhost:8080/actuator/"info","templated":false}}}

Standardmäßig läuft die Anwendung auf Port8080 starten. Nachdem Actuator gestartet wurde, können wir die Liste aller über HTTP公開された Endpunkte sehen.

Lassen Sie uns durch Aufrufen der URL http: //localhost: 8080/aufrufen health Endpunkt. Actuator/Gesundheitszustand. Dies bedeutet den Status UP . Dies bedeutet, dass die Anwendung ordnungsgemäß läuft und ordnungsgemäß läuft.

Gleichzeitig können wir andere Endpunkte aufrufen, um uns zu helfen, Spring Boot-Anwendungen zu überwachen und zu verwalten.