---
title: 'Actuator in Spring Boot'
url: 'https://www.tutego.de/blog/javainsel/2018/05/actuator-2-spring-boot'
markdown: 'https://www.tutego.de/blog/javainsel/2018/05/actuator-2-spring-boot.md'
date: '2018-05-02'
description: 'Gesundheitzustand über den Actuator Das Actuator-Modul von Spring Boot stellt HTTP-Endpunkte bereit, die Auskunft über den Zustand der Anwendung geben und es erlauben, die Anwendung zu beeinflussen. Eigene Informationen über den „Gesundheitzustand“ lassen sich einbauen. Die Informationen werden übe…'
taxonomy:
  category:
    - Spring
---

# Actuator in Spring Boot

![Illustration einer tropischen Insel mit Palmen und einem hohen Berg](https://www.tutego.de/blog/javainsel/user/themes/tutego/images/insel-cover.jpg)# Java Blog für Programmierer

[Java Blog für Programmierer](https://www.tutego.de/blog/javainsel/)

## Actuator in Spring Boot

02.05.2018 · [Christian Ullenboom](https://www.tutego.de/blog/javainsel/author/admin/)

### Gesundheitzustand über den Actuator

Das Actuator-Modul von Spring Boot stellt HTTP-Endpunkte bereit, die Auskunft über den Zustand der Anwendung geben und es erlauben, die Anwendung zu beeinflussen.

Eigene Informationen über den „Gesundheitzustand“ lassen sich einbauen.

Die Informationen werden über REST veröffentlicht, können aber auch über JMX abgerufen werden.

Achtung: Actuator 1 und Actuator 2 unterscheiden sich deutlich!

### Actuator in der POM

Einbinden wie üblich über die POM:

```xml

  org.springframework.boot
  spring-boot-starter-actuator

```

Da ganze funktioniert nur im Web-Modus, also muss `org.springframework.boot:spring-boot-starter-web` auch in der POM-Datei sein.

Starte man nun die Anwendung, kann man im Log die neuen Endpunkte sehen.

### Aktivierung der Endpunkte

Damit ein Actuator Endpunkt über HTPP verfügbar ist, muss er **enabled** und **exposed** sein.

- Die meisten Endpunkte sind standardmäßig deaktiviert.
- Man kann nur *actuator/health* und *actuator/health* nutzen, und selbst da ist wenig Info vorhanden.

Um mehr Endpunkte freizuschalten setze man die die *application.properties*:

```properties
management.endpoints.web.exposure.include=*
```

Der Wildcard `*` aktiviert alle, alternativ zählt man kommasepariert auf.

Welche Endpunkte es gibt dokumentiert .

### Auswahl einiger Spring Boot Endpunkte

Die Endpunkte liegen alle eine Ebene unter :

*/beans*Alle Spring-Beans*/env*Das Environment-Properties*/health*„health information“*/info*Applikationsinformationen*/loggers*Welche Log-Level für welche Pakete gelten*/metrics*Metriken über die aktuelle Anwendung, es muss eine weitere ID folgen, etwa \*metrics/http.server.requests\**/threaddump*`Thread`-DumpZum Beispiel: .

Die genaue JSON-Struktur erklärt .

### Management Endpoint `URL`

Natürlich lassen sich Dinge wie

- Server-Port
- `URL`-Basispfad
- freigeschaltete Endpunkte
- SSL-Verschlüsselung

konfigurieren.

Siehe dazu die Referenz-Dokumentation

### Bin ich gesund?

Unter */health* finden sich Informationen über den „Gesundheitszustand“ der Anwendung.

Der Status kann `UP` oder `DOWN` sein. Standardmäßig gibt es nur `status`

### Authentifizierung

Bei einer nicht-authentifizierten Verbindung bekommt man nicht mehr zu sehen als den Status.

Um das zu ändern, müssen wir 1. in die POM mit aufnehmen:

```xml

  org.springframework.boot
  spring-boot-starter-security

```

Dann 2. in *application.properties* (zum Testen!):

```properties
management.endpoint.health.show-details=always
spring.security.user.name=user
spring.security.user.password=pass
```

Nach dem Neustart der Anwendung und Neuladen der Webseite erfolgt eine BASIC-Authentifizierung. Geben wir `user`/`pass` ein, sehen wir alles.

Kategorien: [Spring](https://www.tutego.de/blog/javainsel/category/spring/)

[← Alle Beiträge](https://www.tutego.de/blog/javainsel/)

---

## Navigation

- Next: [Autor für MySQL-Administrationshandbuch gesucht](https://www.tutego.de/blog/javainsel/2018/05/autor-fuer-mysql-administrationshandbuch-gesucht.md)
