Heim > Java > javaLernprogramm > Ein Anfängerleitfaden zur Verwendung des Federmanschettenaktuators

Ein Anfängerleitfaden zur Verwendung des Federmanschettenaktuators

WBOY
Freigeben: 2024-08-02 10:00:24
Original
804 Leute haben es durchsucht

A Beginners Guide to Using Spring Boot Actuator

Spring Boot Actuator ist ein Unterprojekt von Spring Boot, das produktionsbereite Funktionen bereitstellt, die Ihnen bei der Überwachung und Verwaltung Ihrer Anwendung helfen. Es bietet eine Reihe integrierter Endpunkte, mit denen Sie Einblicke in den Zustand, die Metriken und die Umgebung Ihrer Anwendung gewinnen und diese dynamisch steuern können.

Was ist ein Spring Boot Actuator?

Spring Boot Actuator bietet mehrere sofort einsatzbereite Endpunkte, die zur Überwachung und Interaktion mit Ihrer Anwendung verwendet werden können. Auf diese Endpunkte kann über HTTP, JMX oder mit Spring Boot Admin zugegriffen werden.

Hauptmerkmale des Federmanschettenaktuators

  1. Gesundheitsprüfungen: Überwachen Sie den Zustand Ihrer Anwendung und ihrer Abhängigkeiten.
  2. Metriken: Sammeln Sie verschiedene Metriken wie Speichernutzung, Speicherbereinigung, Webanfragedetails usw.
  3. Umgebungsinformationen: Greifen Sie auf die Umgebungseigenschaften der Anwendung zu.
  4. Anwendungsinformationen: Rufen Sie Informationen über den Build der Anwendung ab, z. B. Version und Name.
  5. Dynamische Protokollebenen: Ändern Sie die Protokollebenen, ohne die Anwendung neu zu starten.
  6. HTTP-Ablaufverfolgung: Verfolgen Sie HTTP-Anfragen.

Einrichten des Spring Boot-Aktuators

1. Aktuatorabhängigkeit hinzufügen

Um Actuator in Ihrer Spring Boot-Anwendung zu verwenden, müssen Sie die Actuator-Abhängigkeit zu Ihrer pom.xml-Datei hinzufügen:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
Nach dem Login kopieren

Wenn Sie Gradle verwenden, fügen Sie Folgendes zu Ihrer build.gradle-Datei hinzu:

implementation 'org.springframework.boot:spring-boot-starter-actuator'
Nach dem Login kopieren

2. Aktorendpunkte aktivieren

Standardmäßig sind nur wenige Endpunkte aktiviert. Sie können zusätzliche Endpunkte in Ihrer application.yml-Datei aktivieren:

management:
  endpoints:
    web:
      exposure:
        include: "*"  # This exposes all available endpoints
  endpoint:
    health:
      show-details: always  # Show detailed health information
Nach dem Login kopieren

Verwenden von Aktuator-Endpunkten

Sobald Actuator eingerichtet ist, können Sie auf die verschiedenen von ihm bereitgestellten Endpunkte zugreifen. Hier sind einige häufig verwendete Endpunkte:

1. Gesundheitsendpunkt

Der /actuator/health-Endpunkt liefert Informationen über den Zustand Ihrer Anwendung:

GET http://localhost:8080/actuator/health
Nach dem Login kopieren

Beispielantwort:

{
  "status": "UP",
  "components": {
    "db": {
      "status": "UP",
      "details": {
        "database": "H2",
        "result": 1
      }
    },
    "diskSpace": {
      "status": "UP",
      "details": {
        "total": 499963174912,
        "free": 16989374464,
        "threshold": 10485760,
        "exists": true
      }
    }
  }
}
Nach dem Login kopieren

2. Metrik-Endpunkt

Der Endpunkt /actuator/metrics stellt verschiedene Metriken im Zusammenhang mit Ihrer Anwendung bereit:

GET http://localhost:8080/actuator/metrics
Nach dem Login kopieren

Beispielantwort:

{
  "names": [
    "jvm.memory.used",
    "jvm.gc.pause",
    "system.cpu.usage",
    "system.memory.usage",
    "http.server.requests"
  ]
}
Nach dem Login kopieren

So erhalten Sie Details zu einer bestimmten Metrik:

GET http://localhost:8080/actuator/metrics/jvm.memory.used
Nach dem Login kopieren

Beispielantwort:

{
  "name": "jvm.memory.used",
  "description": "The amount of used memory",
  "baseUnit": "bytes",
  "measurements": [
    {
      "statistic": "VALUE",
      "value": 5.1234567E7
    }
  ],
  "availableTags": [
    {
      "tag": "area",
      "values": [
        "heap",
        "nonheap"
      ]
    },
    {
      "tag": "id",
      "values": [
        "PS Eden Space",
        "PS Survivor Space",
        "PS Old Gen",
        "Metaspace",
        "Compressed Class Space"
      ]
    }
  ]
}
Nach dem Login kopieren

3. Umgebungsendpunkt

Der /actuator/env-Endpunkt stellt Informationen über die Umgebungseigenschaften bereit:

GET http://localhost:8080/actuator/env
Nach dem Login kopieren

Beispielantwort:

{
  "activeProfiles": [],
  "propertySources": [
    {
      "name": "systemProperties",
      "properties": {
        "java.runtime.name": {
          "value": "Java(TM) SE Runtime Environment"
        },
        "java.vm.version": {
          "value": "25.181-b13"
        }
      }
    },
    {
      "name": "systemEnvironment",
      "properties": {
        "PATH": {
          "value": "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
        },
        "HOME": {
          "value": "/root"
        }
      }
    }
  ]
}
Nach dem Login kopieren

4. Info-Endpunkt

Der /actuator/info-Endpunkt stellt Informationen über die Anwendung bereit:

GET http://localhost:8080/actuator/info
Nach dem Login kopieren

Um die Informationen anzupassen, fügen Sie Eigenschaften in Ihre application.yml ein:

info:
  app:
    name: My Spring Boot Application
    description: This is a sample Spring Boot application
    version: 1.0.0
Nach dem Login kopieren

Aktor-Endpunkte sichern

Standardmäßig sind alle Actuator-Endpunkte ohne Authentifizierung zugänglich. Um diese Endpunkte zu sichern, können Sie Spring Security verwenden. Fügen Sie die Spring Security-Abhängigkeit zu Ihrer pom.xml hinzu:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
</dependency>
Nach dem Login kopieren

Aktualisieren Sie Ihre application.yml, um den Zugriff einzuschränken:

management:
  endpoints:
    web:
      exposure:
        include: "*"  # Expose all endpoints
  endpoint:
    health:
      show-details: always  # Show detailed health information

spring:
  security:
    user:
      name: admin  # Default username
      password: admin  # Default password

# Restrict actuator endpoints to authenticated users
management:
  endpoints:
    web:
      exposure:
        include: "*"
  endpoint:
    health:
      show-details: always
  security:
    enabled: true
    roles: ACTUATOR
Nach dem Login kopieren

Erstellen Sie eine Sicherheitskonfigurationsklasse, um die HTTP-Sicherheit zu konfigurieren:

import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;

@Configuration
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
            .authorizeRequests()
                .antMatchers("/actuator/**").hasRole("ACTUATOR")
                .anyRequest().authenticated()
            .and()
            .httpBasic();
    }
}
Nach dem Login kopieren

Mit dieser Konfiguration können nur authentifizierte Benutzer mit der ACTUATOR-Rolle auf die Actuator-Endpunkte zugreifen.

Anpassen von Aktuator-Endpunkten

Sie können benutzerdefinierte Actuator-Endpunkte erstellen, um zusätzliche Informationen oder spezifische Funktionen für Ihre Anwendung bereitzustellen. Hier ist ein Beispiel für die Erstellung eines benutzerdefinierten Endpunkts:

import org.springframework.boot.actuate.endpoint.annotation.Endpoint;
import org.springframework.boot.actuate.endpoint.annotation.ReadOperation;
import org.springframework.stereotype.Component;

@Endpoint(id = "custom")
@Component
public class CustomEndpoint {

    @ReadOperation
    public String customEndpoint() {
        return "Custom Actuator Endpoint";
    }
}
Nach dem Login kopieren

Greifen Sie auf Ihren benutzerdefinierten Endpunkt zu:

GET http://localhost:8080/actuator/custom
Nach dem Login kopieren

Abschluss

Spring Boot Actuator bietet eine Reihe robuster Tools, die Sie bei der Überwachung und Verwaltung Ihrer Anwendung unterstützen. Durch die Nutzung der integrierten Endpunkte und der Möglichkeit, benutzerdefinierte Endpunkte zu erstellen, können Sie wertvolle Einblicke in die Leistung und den Zustand Ihrer Anwendung gewinnen. Sichern Sie diese Endpunkte mit Spring Security, um sicherzustellen, dass nur autorisierte Benutzer Zugriff haben, und Sie erhalten eine produktionsbereite Anwendung, die einfach zu verwalten und zu überwachen ist.

Actuator ist ein wesentlicher Bestandteil jeder Spring Boot-Anwendung und ermöglicht es Ihnen, den Überblick über die Laufzeitumgebung Ihrer Anwendung zu behalten und schnell auf auftretende Probleme zu reagieren. Beginnen Sie noch heute mit der Verwendung von Spring Boot Actuator, um die Beobachtbarkeit und Betriebsfähigkeit Ihrer Anwendung zu verbessern.

Das obige ist der detaillierte Inhalt vonEin Anfängerleitfaden zur Verwendung des Federmanschettenaktuators. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage