Java >> Java Tutorial >  >> Java

Überwachen Sie Ihren Microservice mit Micrometer

Spring Boot hat das Erstellen einer Webanwendung viel einfacher gemacht. Es wurden auch viele andere wichtige Bibliotheken hinzugefügt, die Unternehmensanwendungen auf unterschiedliche Weise unterstützen. Mit der Verlagerung von Unternehmensanwendungen in die Cloud hat Spring Boot die Bereitstellung von Spring-Anwendungen in der Cloud mit kontinuierlicher Integration vereinfacht.

In diesem Beitrag werde ich zeigen, wie wir eine Federmikrometerbibliothek verwenden können, um Analysen zu Ihrem Code zu sammeln. Dadurch können diese Analysen an verschiedene Anbieterdatenbanken übertragen werden, um auf Metriken basierende Dashboards zu erstellen. Ich habe gezeigt, wie man Spring-Boot-Actuator verwendet, um einige Metrikdaten zu sammeln.

Wie Spring definiert, ist Micrometer eine dimensional-erste Metrik-Sammlungsfassade. In einfachen Worten, es ähnelt SLF4J , außer Metriken.

Micrometer für Microservice konfigurieren

Um zunächst einen Mikrometer zu verwenden, habe ich einen einfachen Microservice mit REST-APIs erstellt, der mit Spring Boot 2 erstellt wurde. Am wichtigsten ist, dass Spring Boot die Abwärtskompatibilität für Spring 1.x hinzugefügt hat.

Sie können Micrometer in Ihrem auf Spring Boot 2.X basierenden Microservice konfigurieren, indem Sie die folgende Abhängigkeit in Ihrer Build-Datei hinzufügen

runtime('io.micrometer:micrometer-registry-prometheus:1.0.4')

Metriken hinzufügen

Wir werden verschiedene Metriken besprechen, die wir durch das Mikrometer hinzufügen können. Abmessungen und Namen identifizieren einen Zähler. Sie können Meter für verschiedene Arten von Metriken verwenden.

Zähler

Zähler sind eine kumulative Metrik. Diese werden hauptsächlich verwendet, um die Anzahl der Anfragen, die Anzahl der Fehler und die Anzahl der abgeschlossenen Aufgaben zu zählen.

Anzeigen

Ein Messgerät stellt einen einzelnen Wert dar, der steigen und fallen kann. Die gauge misst die Speichernutzung.

Timer

Timer messen die Rate, mit der wir einen bestimmten Code oder eine bestimmte Methode aufrufen. Anschließend können wir auch Latenzen herausfinden, wenn die Ausführung des Codes abgeschlossen ist.

Wir sprachen über verschiedene Metriken und wie wir Mikrometer konfigurieren können. Jetzt zeigen wir, wie Sie diese Bibliothek verwenden, um ein Überwachungssystem zu konfigurieren. Federmikrometer unterstützt die Nummer des Überwachungssystems. In diesem Beitrag werde ich zeigen, wie man das Prometheus-Überwachungssystem verwendet.

Was ist Prometheus?

Prometheus ist eine dimensionale In-Memory-Zeitreihendatenbank mit einer integrierten Benutzeroberfläche, einer benutzerdefinierten Abfragesprache und mathematischen Operationen. Um mehr zu erfahren, können Sie hier vorbeischauen.

In der Zwischenzeit können wir Prometheus in unserem Microservice hinzufügen, indem wir die folgende Abhängigkeit in der Gradle-Datei hinzufügen

compile('org.springframework.boot:spring-boot-starter-actuator:2.0.3.RELEASE')
runtime('io.micrometer:micrometer-registry-prometheus:1.0.4')

Um beispielsweise zu verstehen, wo Prometheus in der gesamten Architektur liegt, schauen Sie sich das Folgende an

Spring Boot-Microservice -> Spring Micrometer -> Prometheus

Sobald die obigen Abhängigkeiten hinzugefügt wurden, konfiguriert Spring Boot automatisch PrometheusMeterRegistry und CollectorRegistry zum Sammeln und Exportieren von Metrikdaten in einem geeigneten Format, das Prometheus auslesen kann.

Zum Aktivieren von Prometheus-Endpunkten

Auf ähnliche Weise aktivieren Sie Prometheus- und Aktuator-Endpunkte. Fügen Sie folgende Eigenschaften in application.properties hinzu Datei

management.security.enabled = false
management.endpoints.web.exposure.include=health,info,prometheus

Wenn wir nun unseren Webserver starten, um zu sehen, wie diese Endpunkte aussehen, können wir dies überprüfen, indem wir zu den Endpunkten http://localhost:8080/actuator/info gehen , http://localhost:8080/actuator/health und http://localhost:8080/actuator/prometheus . Der Prometheus-Endpunkt sieht wie folgt aus:

Prometheus

Schlussfolgerung

In diesem Beitrag haben wir gezeigt, wie man Spring Micrometer verwendet um Metrikdaten zu erfassen und mit Prometheus zu konfigurieren. Im nächsten Post werde ich zeigen, wie man diese Daten in einem für Menschen lesbaren Format in einer netten Benutzeroberfläche mit Prometheus anzeigt.

Referenzen

  1. Produktionsbereite Metriken – Metriken
  2. Federmikrometer – Federmikrometer


Java-Tag