Spring-Actuator ist ein integriertes Modul für Spring-Boot für die Anwendungsüberwachung. Es unterstützt unsere Serverüberwachung und ermöglicht es uns, intuitiver Anwendungskonfiguration, Umgebungsvariablen, automatisierte Konfigurationsberichte usw. zu erhalten.
Mit Spring-Actuator
1. Einführen von Maven -Abhängigkeiten
<!-Überwachungs- und Verwaltungsmodul-> <De vor Ort> <gruppe> org.springframework.boot </Groupid> <artifactid> Spring-Boot-Starter-Actuator </artifactid> </abhängig>
Starten Sie nach der Einführung von Abhängigkeiten das Projekt.
Die URL, die wir benötigen, wird gedruckt, wenn das Projekt beginnt
2018-03-26 23: 19: 00.169 Info 6148 --- [Main] osbaemvc.endpoInTHandlermaping: kartiert "{[/env/ {NAME:.*} weibliche, methethods= 2get), Produces= 2Application/vnd.spring-Boot. java.lang.object org.springframework.boot.actuate.endpoint.mvc.environmentmvcendpoint.Value (java.lang.String)
2018-03-26 23: 19: 00.169 Info 6148 --- [Main] osbaemvc.endpoinTHandlermaping: kartiert "{[/env || /env.json weibliche), methods= 2GEDE), Produces= 2Application/Vnd.spring-teoT.Actuator.v1+json ||}}"} "}"} "}"} "}"} "}"} "}"} "}"} "}"} "}"} "}"} auf "}"} "} auf java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke ()
2018-03-26 23: 19: 00.170 Info 6148 --- [Main] Osbaemvc.endpoInTHandlermaping: kartiert "{[/Trace || /trace.json weibliche, Methoden=-2get. java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke ()
2018-03-26 23: 19: 00.170 Info 6148 --- [Main] Osbaemvc.endpoInTHandlermapping: Zugeordnet "{[/Dump || /dump.json weibliche, methods=-2get) .Produces= 2Application/vnd.spring-teoT.actuator.v1+json || java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke ()
2018-03-26 23: 19: 00.171 Info 6148 --- [Main] Osbaemvc.endpoInTHandlermaping: kartiert "{[/AuditeVents || /auditeVents org.springframework.http.responseEntity <?> org.springframework.boot.actuate.endpoint.mvc.auditeventsmvcendpoint.findByprincipalandafterandType (java.lang.string, java.util.date, java.Lang.Lang.string).
2018-03-26 23: 19: 00.171 Info 6148 --- [Main] Osbaemvc.endpoInTHandlermaping: Abgeapt "{[/mappings || /mappings.json weibliche, Methoden= 2GEDE= ,Produces= 2Application/vnd.sspring. java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke ()
2018-03-26 23: 19: 00.172 Info 6148 --- [Main] Osbaemvc.endpoInTHandlermaping: kartiert "{[/autokonfig || /Autoconfig.json weibliche, Methoden= 2GET ],PRODE= 2Application application/json]} "auf public java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke ()
2018-03-26 23: 19: 00.173 Info 6148 --- [Main] osbaemvc.endpoInTHandlermaping: kartiert "{[/metrics/ {NAME:.*} weibliche, Methoden= 2GEDE= 2GETEL. java.lang.object org.springframework.boot.actuate.endpoint.mvc.metricsmvcendpoint.value (Java.lang.String)
2018-03-26 23: 19: 00.173 Info 6148 --- [Main] Osbaemvc.endpoInTHandlermaping: Abgeapt "{[/metrics || /metrics java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke ()
2018-03-26 23: 19: 00.173 Info 6148 --- [Main] Osbaemvc.endpoInTHandlermaping: Zugeordneter "{[ /pause || /pause.json weibliche, methods= -post]}" auf public Java.lang.OBJECT.SPRINGRAME..SPRINGERAMPRAME.SPRINGRAME.
2018-03-26 23: 19: 00.174 Info 6148 --- [Main] osbaemvc.endpoInThandLmaping: Zugeordnet "{[/service-Registry/Instance-Status], Methods = [post]}“ auf Public org.springFrameWork.http.Respondeentity <> " org.springframework.cloud.client.serviceregistry.endpoint.serviceregistryendpoint.setStatus (Java.lang.String)
2018-03-26 23: 19: 00.174 Info 6148 --- [Main] osbaemvc.endpoInTHandLermaping: Zugeordnet "{[/service-Registry/Instance-Status], Methods = [Get]}“ auf die öffentliche org.springFramework.http.Respespondeentität org.springframework.cloud.client.serviceregistry.endpoint.serviceregistryendpoint.getStatus ()
2018-03-26 23: 19: 00.175 Info 6148 --- [Main] osbaemvc.endpoInTHandlermaping: kartiert "{[/loggers/ {Name :*} weibliche, Methoden= 2GEDE= ,Produces= 2Application/vnd.ssprring-OSPRING-OSPRING-OSPRING-BOOTUATOR. java.lang.object org.springframework.boot.actuate.endpoint.mvc.loggersmvcendpoint.get (java.lang.String)
2018-03-26 23: 19: 00.175 Info 6148 --- [Main] osbaemvc.endpointhandLmaping: Zugeordnet "{[/loggers/ {Name:.*} weibliche, Methoden= -post weibliche ,consumes= 2APPLICATION/vnd.sspring-Boot. application/json], produziert = [Anwendung/Vnd.spring-boot.actuator.v1+json ||. Java.lang.String>)
2018-03-26 23: 19: 00.175 Info 6148 --- [Main] Osbaemvc.endpoInTHandlermaping: kartiert "{[/logggers ||/loggers.json weibliche, methods= 2GEL ,PROUDS= 2APPLICATION/vnd.sspring. java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke ()
2018-03-26 23: 19: 00.176 Info 6148 --- [Main] osbaemvc.endpoinTHandLermaping: kartiert "{[/Heapdump || /heapdump.json weibliche, Methoden. org.springFramework.boot.actuate.endpoint.mvc.heapdumpmvcendpoint.invoke (boolean, javax.servlet.http.httpServletRequest, javax.servlet.http.httpletresponse) throws Java.ioio.ioio.ioio.ioio.ioio.ioio.ioio.ioio.ioio.ioio.ioio.ioio.ioio.ioio.ioio.ioio.ioio.ioio.ioSioS.ioio.ioio.ioio.ioSioS.ioSioS.ioSioS.ioSioS.ioSioS.ioSioS
2018-03-26 23: 19: 00.176 Info 6148 --- [Main] Osbaemvc.endpointHandlermaping: zugeordnet "{[ /refresh || /refresh.json weibliche, Methoden= -post]}" auf öffentliche Java.lang.objekte. org.springframework.cloud.endpoint.genericPostablemVCendpoint.invoke ()
2018-03-26 23: 19: 00.177 Info 6148 --- [Main] Osbaemvc.endpointHandLMaping: Zugeordnet "{[ /resume || /resume.json weibliche, Methoden= -post]}" auf Public Java.lang.object. org.springframework.cloud.endpoint.genericPostablemVCendpoint.invoke ()
2018-03-26 23: 19: 00.178 Info 6148 --- [Main] Osbaemvc.endpoInTHandlermaping: Zugeordnet "{[/configProps || /configProps.json weibliche, Methoden, tenketisch. java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke ()
2018-03-26 23: 19: 00.178 Info 6148 --- [Main] Osbaemvc.endpoInTHandlermaping: kartiert "{[/archaius || /archaius.json weibliche, Methoden=-2get. java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke ()
2018-03-26 23: 19: 00.179 Info 6148 --- [Main] osbaemvc.endpointhandLmaping: kartiert "{[/health || /Health.json weibliche, methods=-2get). java.lang.object org.springframework.boot.actuate.endpoint.mvc.Healthmvcendpoint.invoke (javax.servlet.http.httpserVletrequest, java.security.principal))
2018-03-26 23: 19: 00.179 Info 6148 --- [Main] Osbaemvc.endpoInThandLmaping: zugeordnet "{[/env], methods = [post]} auf öffentliche Java.lang.Object org.springframework.cloud.context.environment.environmentManAgermvcendpoint.Value (java.util.map <java.lang.string, java.lang.string>)
2018-03-26 23: 19: 00.179 Info 6148 --- [Main] osbaemvc.endpoInTHandlermaping: zugeordnet "{[/env/reset], methodien = [post]}" auf public Java.util.map <java.lang.string, java.lang.Abjekt> org.springframework.cloud.context.Environment.EnvironmentManAgermvcendpoint.reset ()
2018-03-26 23: 19: 00.179 Info 6148 --- [Main] osbaemvc.endpoInTHandlermaping: kartiert "{[/features || /features.json weibliche, methethods= 2get). Produces= 2Application/vnd.spring-upring-boot.actuator. java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke ()
2018-03-26 23: 19: 00.180 Info 6148 --- [Main] osbaemvc.endpointHandlermaping: zugeordnet "{[ /restart || /restart.json weibliche, Methoden= -post]}" auf Public Java.lang.object. org.springframework.cloud.context.restart.restartmvcendpoint.invoke ()
2018-03-26 23: 19: 00.181 Info 6148 --- [Main] Osbaemvc.endpoInTHandlermaping: kartiert "{[/Entity || /Entity.json weibliche, methethods= 2get) .Produces= 2Application/vnd.spring-rot. java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke ()
2018-03-26 23: 19: 00.181 Info 6148 --- [Main] osbaemvc.endpoInTHandlermaping: kartiert "{[/info || /info.json weibliche, methethods alle java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke ()
2018-03-26 23: 19: 00.193 Info 6148 --- [Main] swsmmarequestMapingHandlermaping: zugeordnet "{[/errungen]}" auf public Java.util.map <java.lang.string, java.lang.object> org.springframework.boot.actuate.endpoint.mvc.managementErrorendpoint.invoke ()
2. Konfiguration der YML -Konfigurationsdatei
(1) Konfigurieren Sie die Portnummer und aktivieren Sie kein bestimmtes Funktionsmodul
#Entwicklung der Portnummer, wenn nicht, ist es mit dem Serverserver die gleiche.
Die obige Konfiguration zeigt an, dass der konfigurierte Port HTTP -Port 4321 ist und die Funktion /Gesundheit deaktiviert ist.
(2) Ändern Sie den Zuordnungspfad
#Modifizieren Sie den Pfad der Zuordnungs -ID einer Konfigurationsendpunkte: Beans: ID: Entity
Die obige Konfiguration bedeutet, den Pfad zu ändern, um Bohnen per /beans zu /entität zu erstellen
(3) Konfiguration der Sicherheitskonfiguration der Aktuator
Frühlingssicherheit ist erforderlich
Abhängigkeiten einführen
<!-Für Registrierungszentrum Access Account Authentifizierung-> <De vor Ort> <gruppe> org.springframework.boot </Groupid> <artifactid> Spring-Boot-Starter-Security </artifactid> </abhängig>
Kontokennwort konfigurieren:
Sicherheit: Basic: #repräsentiert zur Aktivierung der Kontokennwortauthentifizierung aktiviert: True #Configure -Konto und Kennwort Benutzer: Name: Root Passwort: 123
Nach dem Konfigurieren des Kontokennworts können Sie über http://127.0.0.1:4321 darauf zugreifen und das konfigurierte Konto und das konfigurierte Konto eingeben. Es ist gültig, wenn der Browser nicht einmal geschlossen ist.
(4) Zeigen Sie die Anzeigenachricht im JSON -Format an
Das JSON -Format -Display hat eine bessere Lesbarkeit und Ästhetik
#Print Das Paket, das Acyuator in JSON-Format Spring: Jackson: Serialisierung: Eindrückung-Output: TRUE
Fügen Sie die obige Konfiguration zur Datei application.yml hinzu
3. Konfiguration der Startklasse
@SpringBootApplication@enableEureKaserver // Diese Zeilenanmerkmale stellt eine registrierte Komponente für einen Dienst dar. Diese Annotation gilt nur für die Eurekapublic -Klasse EurekaServerApplication {public static void main (String [] args) {Springapplication.run (eurekaserverApplication.class, Argumentation); }}Ohne Konfiguration ausführen
4. Einige wichtige Konfigurationsmodule
| HTTP -Anforderungsmethode | Weg | beschreiben |
| ERHALTEN | /Autoconfig | Wird verwendet, um automatisierte Konfigurationsinformationen für die Anwendung zu erhalten |
| ERHALTEN | /Bohnen | Wird verwendet, um alle Bohnen vom Anwendungskontext zu erstellen |
| ERHALTEN | /configProps | Rufen Sie den in der Anwendung konfigurierten Attributinformationsbericht ab |
| ERHALTEN | /env | Wird verwendet, um alle verfügbaren Umgebungsvariablen -Attributberichte für die Anwendung zu erhalten |
| ERHALTEN | /Mappings | Controller -Mapping -Beziehungsbericht zum Erhalten des gesamten SpringMVC |
| ERHALTEN | /Info | Wird verwendet, um Informationen zur Anpassung von Anwendungen zu erhalten |
(1) /Autoconfig
Unter dieser Konfiguration gibt es zwei Master -Knoten.
Positivemarkatik
NegativMatches: Gibt Konfigurationsinformationen zurück, die die Bedingungsübereinstimmung nicht erfolgreich ist
(2) /Bohnen
Diese Konfigurationsdatei wird verwendet, um Bean -Objekte anzuzeigen, die vom ApplicationContext -Anwendungskontext geladen werden, einschließlich der folgenden Knoten:
"Kontext": "Bootstrap", "Parent": null, "Beans": [{"Bean": "PropertySourcebootstrapConfiguration", "Aliases": [], "Scope": "Singleton", "Typ": "org.springframework.cloud.bootstrap.config.propertySourcebootStrapConfiguration $$ EnhancerByspringCglib $$ 82fdf928", "Ressource": "Null", "Abhängigkeiten": []}]Beans ist eine Sammlung von Klassen, die im Anwendungskontext geladen sind, der folgende Tags enthält:
1), Bean: Der Name der Bean, die vom Anwendungskontext erstellt wurde
2) Umfang: Der Umfang der Bohne erstellt
Singleton: Singleton ist der Standardbereich des Frühlings
Prototyp: Jede Anfrage generiert eine neue Instanz, die dem neuen Betrieb entspricht
Anfrage: Jede HTTP -Anfrage generiert eine neue Instanz, und die aktuelle Bean ist nur in derselben HTTPrequest gültig
Sitzung: In der gleichen httpSession gültig
3), Typ: Die Art der Bean, die für das Kontextmanagement verwendet wird
Voll qualifizierter Klassenname für die Klasse
4) Ressource: Der spezifische Pfad zur Klassendatei
5) Abhängigkeiten: Der Name der Abhängigkeitsbohne, dh der Name der zugehörigen Bohne in der Bohne
(3) /configProps: Erhalten Sie den in der Anwendung konfigurierten Attributinformationsbericht
Es gibt zwei Kinderknoten unten
Präfix: Konfigurieren Sie das Präfix für Attribute
Eigenschaften: Repräsentiert die Namen und Werte jeder Eigenschaft
(4) /ENV wird verwendet, um den Umgebungsvariablen -Attributbericht des Anwendungskontexts wie Umgebungsvariablen, JVM -Attribute, Anwendungskonfigurationsinformationen, Parameter in der Befehlszeile usw. zu erhalten.
1) Server.ports repräsentiert die von der Anwendung konfigurierte Portnummer
2) Systemproperties erhalten JVM und andere Informationen für die Anwendung
(5) /Mappings SpringMVC Controller Mapping -Bericht,
{"{[/errungen]}": {"bean": "RequestMapingHandlermaping", "Methode": "public org.springFramework.http.responseEntity <java.util.map <java.lang.string, java.lang.object >> org.springframework.boot.autoconfigure.web.basicerrorController.Error (javax.servlet.http.httpServletrequest) "}}1) /Fehler repräsentiert den Zuordnungspfad von SpringMVC
2) /Bean repräsentiert die Klasse, die für die Prozessor Mapper Mapping verwendet wird
3) /Methode repräsentiert die Methode in der Mapping -Klasse
(6) Infos werden verwendet, um benutzerdefinierte Konfigurationsinformationen in Application.yml zu erhalten
5. Konfiguration von Metriken
Der von den Metriken bereitgestellte Berichtsinhalte wird dynamisch geändert und enthält einige Snapshot -Informationen. wie Speicherverbrauch, HTTP -Anforderungszählung, externe Ressourcenindikatorstatistik usw.
(1) /Metriken geben verschiedene wichtige Metriken zurück, die derzeit angewendet werden. Es gibt den folgenden Inhalt
1) Systeminformationen: Prozessoren-Anzahl der Prozessoren
Instance.Uptime ------ Laufzeit
Systemload. Durchschnitt -System -System -Lastdurchschnitt usw.
2), Männer.*: Systemspeicher Zusammenfassung Informationen
3), Heap.*: Heap -Speicherverbrauch
4), nicht heap.
5) Threads.*: Fadenverwendung
6) Klassen.*: Klassenlade- und Entladensituation
7), gc.*: Details des Müllsammlers
8), httpSession.*: Der Malstatus von Behältern wie Tomcat
9), Magage.*: Gibt einen Zuordnungswert wie Verzögerungszeit usw. zurück.
10), Conter.*: Als Zähler wird die Zunahme und Abnahmemenge aufgezeichnet
(2) /Gesundheit: Verschiedene Gesundheitsindikatoren
Einige Informationen über den Speicher finden Sie unten.
"Diskspace": {"Status": "Up", "Total": 21475880960, "Free": 8916258816, "Schwelle": 10485760}(3) /Dump: Wird verwendet, um Threadinformationen im Programm aufzudecken
Threadname - Der freiliegende Threadname
ThreadID -Exponierte Thread -ID usw.
(4) /Trace: Wird verwendet, um grundlegende HTTP -Informationen zu verfolgen
6. Konfiguration der Betriebssteuerklasse
(1) /ShutDowm wird verwendet
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.