© Excellent backgrounds/Shutterstock.com
Java Magazin
Spring-Boot-Anwendungen überwachen

Der Admin hats im Blick

Mit Spring Boot ist es ganz einfach und rasend schnell möglich, neue Anwendungen zu erstellen und in Produktion zu bringen. Und dann? Oft werden die Monitoringtools von einem anderen Team betreut, und bis sie richtig konfiguriert sind, vergehen oft Wochen. Hier bietet Spring Boot Admin Abhilfe.

Johannes Edmeier


Als Entwickler übernehmen wir nach dem Credo „You build it, you run it!“ immer häufiger die Verantwortung für einen stabilen produktiven Betrieb. Was heißt das für uns? Wir müssen jederzeit auf einen Blick wissen, ob es unseren Anwendungen gut geht. Im Ernstfall brauchen wir schnellen Zugriff auf Detailinformationen und auch die Möglichkeit, das Verhalten der Anwendung zu beeinflussen. 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. Integriert man Spring Boot Actuator in die eigene Anwendung, wird automatisch ein /health-Endpunkt aktiviert, der HealthIndicatoren verwendet, um Auskunft über die aktuelle Lauffähigkeit zu geben. Hier bringt Spring Boot eine Reihe Implementierungen für Datenbanken, JavaMailSender oder LDAP mit, die automatisch konfiguriert werden. Neben dem / health-Endpunkt gibt es noch viele weitere, z. B. für Metriken und Loglevelmanagement.

Was Spring Boot fehlt, ist eine komfortable Oberfläche, um diese HTTP-Endpunkte zu bedienen, aber auch Alarmierungen, wenn die Anwendung klemmt. Mit Spring Boot Admin steht eine Monitoringlösung bereit, die sich ohne aufwendige Konfiguration mit Spring-Boot-Anwendungen versteht und die ohne Anpassungen in der Konfiguration neue Anwendungen in das Monitoring aufnehmen kann.

Bevor wir uns dem Aufsetzen des Monitoringservers widmen, benötigen wir eine Anwendung, die wir überwachen können. Daher stellen wir uns flugs eine Anwendung auf http://start.spring.io zusammen. Spring Boot Admin benötigt Zugriff auf die Spring-Boot-Actuator-Endpunkte per HTTP, also wählen wir Web und Actuator aus. Danach fügen wir einen einfachen RestController hinzu (Listing 1). Und schon haben wir unser ClientApplication, kurz Client.

Listing 1: ClientApplication.java@RestController@SpringBootApplicationpublic class ClientApplication { public static void main(String[] args) { SpringApplication.run(ClientApplication.class, args); } @GetMapping("/") public String hello() { return "Hello World!" }}

Ab Spring Boot Version 1.5 sind die Spring-Boot-Actuator-Endpunkte standardmäßig mit HTTP-Security versehen. Diese werden wir vorerst mit managament.security.enabled=false in der application.properties deaktivieren. Um Sicherheit kümmern wir uns später noch. Alle Anwendungen, die mit Spring Boot Admin Server verwaltet werden sollen, müssen diesem bekannt sein. In unserem Beispiel wird sich der Client selbst registrier...

Java Magazin
Spring-Boot-Anwendungen überwachen

Der Admin hats im Blick

Mit Spring Boot ist es ganz einfach und rasend schnell möglich, neue Anwendungen zu erstellen und in Produktion zu bringen. Und dann? Oft werden die Monitoringtools von einem anderen Team betreut, und bis sie richtig konfiguriert sind, vergehen oft Wochen. Hier bietet Spring Boot Admin Abhilfe.

Johannes Edmeier


Als Entwickler übernehmen wir nach dem Credo „You build it, you run it!“ immer häufiger die Verantwortung für einen stabilen produktiven Betrieb. Was heißt das für uns? Wir müssen jederzeit auf einen Blick wissen, ob es unseren Anwendungen gut geht. Im Ernstfall brauchen wir schnellen Zugriff auf Detailinformationen und auch die Möglichkeit, das Verhalten der Anwendung zu beeinflussen. 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. Integriert man Spring Boot Actuator in die eigene Anwendung, wird automatisch ein /health-Endpunkt aktiviert, der HealthIndicatoren verwendet, um Auskunft über die aktuelle Lauffähigkeit zu geben. Hier bringt Spring Boot eine Reihe Implementierungen für Datenbanken, JavaMailSender oder LDAP mit, die automatisch konfiguriert werden. Neben dem / health-Endpunkt gibt es noch viele weitere, z. B. für Metriken und Loglevelmanagement.

Was Spring Boot fehlt, ist eine komfortable Oberfläche, um diese HTTP-Endpunkte zu bedienen, aber auch Alarmierungen, wenn die Anwendung klemmt. Mit Spring Boot Admin steht eine Monitoringlösung bereit, die sich ohne aufwendige Konfiguration mit Spring-Boot-Anwendungen versteht und die ohne Anpassungen in der Konfiguration neue Anwendungen in das Monitoring aufnehmen kann.

Bevor wir uns dem Aufsetzen des Monitoringservers widmen, benötigen wir eine Anwendung, die wir überwachen können. Daher stellen wir uns flugs eine Anwendung auf http://start.spring.io zusammen. Spring Boot Admin benötigt Zugriff auf die Spring-Boot-Actuator-Endpunkte per HTTP, also wählen wir Web und Actuator aus. Danach fügen wir einen einfachen RestController hinzu (Listing 1). Und schon haben wir unser ClientApplication, kurz Client.

Listing 1: ClientApplication.java@RestController@SpringBootApplicationpublic class ClientApplication { public static void main(String[] args) { SpringApplication.run(ClientApplication.class, args); } @GetMapping("/") public String hello() { return "Hello World!" }}

Ab Spring Boot Version 1.5 sind die Spring-Boot-Actuator-Endpunkte standardmäßig mit HTTP-Security versehen. Diese werden wir vorerst mit managament.security.enabled=false in der application.properties deaktivieren. Um Sicherheit kümmern wir uns später noch. Alle Anwendungen, die mit Spring Boot Admin Server verwaltet werden sollen, müssen diesem bekannt sein. In unserem Beispiel wird sich der Client selbst registrier...

Neugierig geworden?


    
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang