A tavaszi rendszerindítási alkalmazások önálló üzemeltetése

1. Bemutatkozás

A Spring Boot számos nagyszerű tulajdonságának egyike a beépített működtető elemek összessége. Ezek a működtetők egyszerű módot kínálnak a Spring Boot alkalmazás szinte minden aspektusának figyelemmel kísérésére és vezérlésére.

Ebben az oktatóanyagban a metrikus működtető segítségével megvizsgáljuk, hogyan hozhatunk létre egy önállóan felügyelt megoldást a Spring Boot alkalmazásokhoz.

2. Metrikus adatbázis

A Spring Boot alkalmazások megfigyelésének első része a metrikák adatbázisának kiválasztása. Alapértelmezés szerint a Spring Boot minden alkalmazásban beállítja a mikrométer metrikák nyilvántartását.

Ez az alapértelmezett megvalósítás összegyűjti az alkalmazás előre definiált mutatóit, például a memória és a CPU használatát, a HTTP kéréseket és még néhányat. De ezeket a mutatókat csak a memória tárolja, ami azt jelenti, hogy az alkalmazás újraindításakor elvesznek.

Az önállóan felügyelt megfigyelési megoldás létrehozásához először ki kell választanunk egy metrikus adatbázist, amely a Spring Boot alkalmazáson kívül él. A következő szakaszok csak néhányat tartalmaznak a rendelkezésre álló saját tárhelyű lehetőségekről.

Vegye figyelembe, hogy bármikor, amikor a Tavaszi indítás egy másik metrikabázist észlel az osztályúton, automatikusan letiltja a memóriában lévő nyilvántartást.

2.1. InfluxDB

Az InfluxDB egy nyílt forráskódú idősoros adatbázis. Az InfluxDB használatának megkezdésének leggyorsabb módja a helyi futtatása Docker-tárolóként:

dokkoló futtatása -p 8086: 8086 -v / tmp: / var / lib / influxdb influxdb

Vegye figyelembe, hogy ez a mutatókat a helyi szinten tárolja / tmp partíció. Ez kiváló a fejlesztéshez és a teszteléshez, de nem lenne jó választás a termelési környezetek számára.

Miután az InfluxDB fut, úgy konfigurálhatjuk a Spring Boot alkalmazást, hogy a megfelelő mikrométer-függőség hozzáadásával metrikákat tegyen közzé:

 io.mikrométer mikrométer-regisztráció-beáramlás 

Ezenkívül hozzá kell adnunk egy új bejegyzést a alkalmazás.tulajdonságok fájl:

management.metrics.export.influx.uri = // localhost: 8086

A dobozból ki van kapcsolva az adatbázis neve mydb, míg a felhasználónév és a jelszó nincs beállítva.

Az alapértelmezett értékeket azonban felülírhatjuk dedikált tulajdonságokkal:

management.metrics.export.influx.db = customDbName management.metrics.export.influx.user-name = myUserName management.metrics.export.influx.password = mySecret

Az InfluxDB nem nyújt natív vizualizációs eszközt. Ez azonban egy külön, Chronograph nevű eszközt biztosít, amely jól működik az InfluxDB adatok megjelenítéséhez.

2.2. Prométheusz

A Prometheus egy nyílt forráskódú figyelő és riasztó eszközkészlet, amelyet eredetileg a SoundCloudon építettek. Kicsit eltérően működik, mint az InfluxDB.

Ahelyett, hogy konfigurálnánk alkalmazásunkat metrikák közzétételére a Prometheusban, úgy konfiguráljuk a Prometheust, hogy rendszeresen lekérdezze az alkalmazásunkat.

Először konfiguráljuk a Spring Boot alkalmazást egy új Prometheus működtető végpont feltárására. Ezt úgy végezzük, hogy belefoglaljuk a mikrométer-regiszter-prometheus függőséget:

 io.mikrométer mikrométer-regisztráció-prometheus 

Ez egy új működtető végpontot hoz létre, amely metrikus adatokat állít elő a Prometheus által érthető speciális formátumban.

Ezután be kell állítanunk a Prometheust az alkalmazásunk lekérdezéséhez a kívánt konfigurációnk a prometheus.yml fájl.

A következő konfiguráció arra utasítja a Prometheust, hogy 5 másodpercenként kérdezze le alkalmazásunkat az új működtető végpont használatával:

scrape_configs: - job_name: 'rugós működtető' metrics_path: '/ actuator / prometheus' scrape_interval: 5s static_configs: - célok: ['127.0.0.1:8080']

Végül elindíthatunk egy helyi Prometheus szervert a Docker használatával. Ez feltételezi, hogy az egyéni konfigurációs fájlunk a helyi fájlban található /etc/prometheus/prometheus.yml:

dokkoló futtatása -d \ --name = prometheus \ -p 9090: 9090 \ -v /etc/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml \ prom / prometheus \ --config.file = / etc / prometheus / prometheus.yml

A Prometheus saját vizualizációs eszközt biztosít az összegyűjtött mutatók megtekintéséhez. Az URL címen érhető el // localhost: 9090 /.

2.3. Grafit

A grafit egy másik nyílt forráskódú idősoros adatbázis. Architektúrája kissé bonyolultabb, mint a többi általunk megtekintett adatbázis, de a Dockerrel egyszerű a példány helyi futtatása:

docker run -d \ --name graphite \ --restart = always \ -p 80:80 \ -p 2003-2004: 2003-2004 \ -p 2023-2024: 2023-2024 \ -p 8125: 8125 / udp \ -p 8126: 8126 \ graphiteapp / graphite-statsd

Ezután konfigurálhatjuk a Tavaszi indítást a metrikák közzétételére a példányunkhoz a mikrométer-regisztráció-grafit függőség hozzáadásával:

 io.mikrométer mikrométer-regiszter-grafit 

Valamint hozzáadjuk a konfigurációs tulajdonságokat a alkalmazás.tulajdonságok:

management.metrics.export.graphite.host = 127.0.0.1 management.metrics.export.graphite.port = 2004

A Prometheushoz hasonlóan a Graphite saját megjelenítési irányítópultot is tartalmaz. Ez az URL címen érhető el //helyi kiszolgáló/.

3. Vizualizációs eszközök

Ha van megoldás a mutatók tárolására a Spring Boot alkalmazáson kívül, a következő döntés az, hogyan akarjuk megjeleníteni az adatokat.

A korábban említett metrikus adatbázisok egy része saját vizualizációs eszközeit tartalmazza. Van egy önálló vizualizációs eszköz, amelyet érdemes megnézni a saját üzemeltetésű felügyeleti megoldásunk számára.

3.1. Grafana

A Grafana egy nyílt forráskódú elemző és figyelő eszköz. Csatlakozhat az összes korábban említett adatbázishoz, valamint sok máshoz.

A Grafana általában jobb konfigurációt és kiváló riasztást nyújt, mint a legtöbb beépített megjelenítő eszköz. Könnyen kibővíthető a beépülő modulok segítségével, és sok előre elkészített műszerfalat lehet importálni, hogy gyorsan létrehozhassuk saját vizualizációinkat.

A Grafana helyi futtatásához elindíthatjuk a Docker használatával:

dokkoló futás -d -p 3000: 3000 grafana / grafana

Most már elérhetjük a Grafana kezdőlapját az URL címen // localhost: 3000 /.

Ezen a ponton konfigurálnunk kell egy vagy több adatforrást. Ez lehet bármelyik korábban tárgyalt metrikai adatbázis, vagy számos más támogatott eszköz.

Az adatforrás konfigurálása után felépíthetünk egy új irányítópultot, vagy importálhatunk olyat, amelyik azt csinálja, amit akarunk.

4. Következtetés

Ebben a cikkben megvizsgáltuk, hogyan hozhatunk létre egy önállóan felügyelt megoldást a Spring Boot alkalmazásokhoz.

Megvizsgáltunk három olyan metrikus adatbázist, amelyet a Spring Boot készségesen támogat, és láttuk, hogyan lehet ezeket futtatni helyben.

Röviden áttekintettük a Grafanát is, amely egy erőteljes vizualizációs eszköz, amely különböző forrásokból származó mutatók adatait képes megjeleníteni.