English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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 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.
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>
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 | Verwendung | Standard |
Actuator | Es bietet anderen Endpunkten eine auf Hypermedia basierteEntdeckungsseiteEs erfordert, dass Spring HATEOAS im Classpath vorhanden ist. | true |
auditevents | Es öffnet Informationen über Auditereignisse der aktuellen Anwendung. | true |
autoconfig | Es 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 |
beans | Es wird verwendet, um eine vollständige Liste aller Spring-Beans in der Anwendung anzuzeigen. | true |
configprops | Es wird verwendet, um eine aufgeräumte Liste aller @ConfigurationProperties anzuzeigen. | true |
dump | Es wird verwendet, um Thread-Dumps auszuführen. | true |
env | Es wird verwendet, um Attribute aus dem ConfigurableEnvironment von Spring öffentlich zu machen. | true |
flyway | Es wird verwendet, um alle angewendeten Flyway-Datenbankmigrations anzuzeigen. | true |
health | Es wird verwendet, um Statusinformationen der Anwendung anzuzeigen. | Fehler |
info | Es wird verwendet, um beliebige Anwendungsinformationen anzuzeigen. | Fehler |
loggers | Es wird verwendet, um die Konfiguration der Logger in der Anwendung anzuzeigen und zu ändern. | true |
liquibase | Es wird verwendet, um alle angewendeten Liquibase-Datenbankmigrations anzuzeigen. | true |
metrics | Es wird verwendet, um Metrikeninformationen der aktuellen Anwendung anzuzeigen. | true |
mappings | Es wird verwendet, um eine aufgeräumte Liste aller @RequestMapping-Pfade anzuzeigen. | true |
shutdown | Es wird verwendet, um eine normale Anwendungsaufgabe zu ermöglichen. | true |
trace | Es wird verwendet, um Spurinformationen anzuzeigen. | true |
Für Spring MVC werden die folgenden zusätzlichen Endpunkte verwendet.
Id | Beschreibung | Standard |
docs | Es wird verwendet, um Dokumente anzuzeigen, einschließlich Beispielsanfragen und -antworten für Actuator-Endpunkte. | Fehler |
heapdump | Es wird verwendet, um GZip-komprimierte hprof-Heap-Dump-Dateien zurückzugeben. | true |
jolokia | Es wird verwendet, um JMX-Beans über HTTP öffentlich zu machen (wenn Jolokia im Classpath ist). | true |
logfile | Es wird verwendet, um den Inhalt der Logdatei zurückzugeben. | true |
prometheus | Es 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 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
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.