Oktatóanyag: Bevezetés az Azure-ban futó Java-alkalmazások Logz.io használatával történő monitorozásba és naplózásba
Ez az oktatóanyag bemutatja, hogyan konfigurálhatja a klasszikus Java-alkalmazásokat úgy, hogy naplókat küldjenek a Logz.io szolgáltatásnak adatfeldolgozáshoz és elemzéshez. A Logz.io egy teljes körű, az Elasticsearch, a Logstash, a Kibana (ELK) és Grafana szolgáltatásokon alapuló monitorozási megoldást kínál.
Az oktatóanyag feltételezi, hogy Log4J-t vagy Logbacket használ. Ezt a két kódtárat használják a legszélesebb körben a Javában való naplózáshoz, ezért az oktatóanyagnak a legtöbb Azure-on futó alkalmazás esetében működnie kell. Ha az Elastic Stacket használja a Java-alkalmazás monitorozásához, ez az oktatóanyag bemutatja, hogyan konfigurálhatja újra úgy, hogy a Logz.io-végpontot célozza meg.
Az oktatóanyag segítségével megtanulhatja a következőket:
- Naplókat küldhet egy meglévő Java-alkalmazásból a Logz.io-ba.
- Diagnosztikai naplókat és metrikákat küldhet az Azure-szolgáltatásokból a Logz.io-ba.
Előfeltételek
- Java Developer Kit, 11-es vagy újabb verzió
- Egy Logz.io-fiók az Azure Marketplace-ről
- Meglévő Java-alkalmazás, amely Log4J-t vagy Logbacket használ
Java-alkalmazásnaplók küldése a Logz.io-ba
Először megismeri, hogyan konfigurálhatja Java-alkalmazását egy olyan jogkivonattal, amely hozzáférést biztosít a Logz.io-fiókjához.
Logz.io hozzáférési jogkivonat beszerzése
A jogkivonat lekéréséhez jelentkezzen be a Logz.io fiókjába, válassza a fogaskerék ikont a bal alsó sarokban, majd válassza a Gépház > Jogkivonatok kezelése és az Adatszállítási jogkivonatok fület. Másolja ki az alapértelmezett hozzáférési jogkivonatot és a figyelő URL-címét, hogy később is használni tudja őket.
Logz.io-kódtár telepítése és konfigurálása Log4J-hez vagy Logbackhez
A Logz.io-beli Java-kódtár elérhető a Maven Centralon, így hozzáadhatja függőségként az alkalmazáskonfigurációhoz. A Maven Centralon ellenőrizze a verziószámot, és a legújabb verziót használja az alábbi konfigurációs beállításokban.
Ha Mavent használ, adja hozzá az alábbi függőségeket a pom.xml
fájlhoz:
Log4J:
<dependency>
<groupId>io.logz.log4j2</groupId>
<artifactId>logzio-log4j2-appender</artifactId>
<version>2.0.0</version>
</dependency>
Logback:
<dependency>
<groupId>io.logz.logback</groupId>
<artifactId>logzio-logback-appender</artifactId>
<version>2.0.0</version>
</dependency>
Ha Gradle-t használ, adja hozzá az alábbi függőségeket a buildszkripthez:
Log4J:
implementation 'io.logz.log4j:logzio-log4j-appender:2.0.0'
Logback:
implementation 'io.logz.logback:logzio-logback-appender:2.0.0'
Ezután frissítse a Log4J-et vagy Logbacket a konfigurációs fájlból:
Log4J:
<Appenders>
<LogzioAppender name="Logzio">
<logzioToken><your-logz-io-token></logzioToken>
<logzioType>java</logzioType>
<logzioUrl>https://<your-logz-io-listener-host>:8071</logzioUrl>
</LogzioAppender>
</Appenders>
<Loggers>
<Root level="info">
<AppenderRef ref="Logzio"/>
</Root>
</Loggers>
Logback:
<configuration>
<!-- Use shutdownHook so that we can close gracefully and finish the log drain -->
<shutdownHook class="ch.qos.logback.core.hook.DelayingShutdownHook"/>
<appender name="LogzioLogbackAppender" class="io.logz.logback.LogzioLogbackAppender">
<token><your-logz-io-token></token>
<logzioUrl>https://<your-logz-io-listener-host>:8071</logzioUrl>
<logzioType>java</logzioType>
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>INFO</level>
</filter>
</appender>
<root level="debug">
<appender-ref ref="LogzioLogbackAppender"/>
</root>
</configuration>
Cserélje le a <your-logz-io-token>
helyőrzőt a hozzáférési jogkivonattal, a <your-logz-io-listener-host>
helyőrzőt pedig a régió figyelőjének gazdagépére (például: listener.logz.io). A fiók régiójának megállapításával kapcsolatos további információkért tekintse meg az Account region (Fiók régiója) szakaszt.
A logzioType
elem egy Elasticsearch-beli logikai mezőre hivatkozik, amely a különböző dokumentumok egymástól való szétválasztására szolgál. A paraméter megfelelő konfigurálása kiemelten fontos annak érdekében, hogy kihozhassa a legtöbbet a Logz.io-ból.
A Logz.io "Típus" a napló formátuma (például: Apache, NGinx, MySQL), és nem a forrás (például: server1, server2, server3). Ebben az oktatóanyagban a java
típust hívjuk meg, mivel Java-alkalmazásokat konfigurálunk, és azt szeretnénk, hogy ezek az alkalmazások azonos formátummal rendelkezzenek.
Speciális használat esetén különböző típusonként csoportosíthatja a Java-alkalmazásait, amelyek mindegyike saját jellemző (Log4J-vel és Logbackkel konfigurálható) naplóformátummal rendelkezik. Rendelkezhet például egy „spring-boot-monolith” típussal és egy „spring-boot-microservice” típussal.
A konfiguráció és a naplóelemzés tesztelése a Logz.io-ban
A Logz.io-kódtár konfigurálása után az alkalmazás közvetlenül a kódtárba küldi a naplókat. Annak ellenőrzéséhez, hogy minden megfelelően működik-e, lépjen a Logz.io konzolra, válassza a Naplók > élő farok lapját, majd válassza a Futtatás lehetőséget. Az alábbihoz hasonló üzenet jelenik meg, amely arról tájékoztatja, hogy a kapcsolat működik:
Requesting Live Tail access...
Access granted. Opening connection...
Connected. Tailing...
Ezután indítsa el az alkalmazást, vagy a használatával hozzon létre néhány naplót. A naplók közvetlenül a képernyőn jelennek meg. Itt láthatja például a Spring Boot-alkalmazás első indítási üzeneteit:
2019-09-19 12:54:40.685Z Starting JavaApp on javaapp-default-9-5cfcb8797f-dfp46 with PID 1 (/workspace/BOOT-INF/classes started by cnb in /workspace)
2019-09-19 12:54:40.686Z The following profiles are active: prod
2019-09-19 12:54:42.052Z Bootstrapping Spring Data repositories in DEFAULT mode.
2019-09-19 12:54:42.169Z Finished Spring Data repository scanning in 103ms. Found 6 repository interfaces.
2019-09-19 12:54:43.426Z Bean 'spring.task.execution-org.springframework.boot.autoconfigure.task.TaskExecutionProperties' of type [org.springframework.boot.autoconfigure.task.TaskExecutionProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
Most, hogy a naplókat a Logz.io dolgozza fel, kihasználhatja a platform összes szolgáltatásának előnyeit.
Azure-szolgáltatások adatainak küldése a Logz.io-ba
Ezután megismeri, hogyan küldhet naplókat és metrikákat az Azure-erőforrásokból a Logz.io-ba.
A sablon üzembe helyezése
Az első lépés a Logz.io – Azure-integrációs sablon üzembe helyezése. Az integráció egy használatra kész Azure-beli üzembehelyezési sablonon alapul, amely telepíti a folyamat összes szükséges építőelemét. A sablon létrehoz egy Event Hub-névteret, egy eseményközpontot, két tárolóblobot, valamint az összes szükséges és megfelelő engedélyt és kapcsolatot. Az automatikus üzembe helyezés által telepített erőforrások egyetlen Azure-régió adatait képesek összegyűjteni és azokat a Logz.io-ba elküldeni.
Keresse meg az adattár readme fájljának első lépésében szereplő Deploy to Azure (Üzembe helyezés az Azure-ban) gombot.
A Deploy to Azure (Üzembe helyezés az Azure-ban) lehetőség kiválasztásakor megjelenik a Custom Deployment (Egyéni üzembe helyezés) oldal az Azure Portalon egy előre kitöltött mezőket tartalmazó listával.
A legtöbb mezőt nem kell módosítania, azonban az alábbi beállításokat mindenképp adja meg:
- Erőforráscsoport: Válasszon ki egy meglévő csoportot, vagy hozzon létre egy újat.
- Logzio-naplók/metrikák gazdagépe: Adja meg a Logz.io figyelő URL-címét. Ha nem biztos az URL-címben, tekintse meg a bejelentkezési URL-címet. Ha ez az app.logz.io, használja a listener.logz.io URL-címet (ez az alapértelmezett beállítás). Ha ez az app-eu.logz.io, használja a listener-eu.logz.io címet.
- Logzio Logs/Metrics Token: Adja meg annak a Logz.io fióknak a jogkivonatát, amelyhez Azure-naplókat vagy metrikákat szeretne szállítani. Ezt a jogkivonatot a Logz.io felhasználói felületének fiókoldalán találja.
A lap alján fogadja le a használati feltételeket, és válassza a Purchase (Vásárlás) lehetőséget. Az Azure üzembe helyezi a sablont, ami egy-két percet vesz igénybe. Végül a portál tetején megjelenik az „Deployment succeeded” (Az üzembe helyezés sikerült) üzenet.
Az üzembe helyezett erőforrások áttekintéséhez megtekintheti a definiált erőforráscsoportot.
Tekintse meg a Ship Azure activity logs (Azure-tevékenységnaplók küldése) szakaszt, ha meg szeretné tudni, hogyan konfigurálhatja a logzio-azure-serverless függvényt az adatok Azure Blob Storage-ba való biztonsági mentéséhez.
Naplók és metrikák streamelése az a Logz.io-ba
Most, hogy üzembe helyezte az integrációs sablont, konfigurálnia kell az Azure-t, hogy a diagnosztikai adatokat az imlnt üzembe helyezett eseményközpontba streamelje. Amikor az adatok beérkeznek az eseményközpontba, a függvényalkalmazás továbbítja az adatokat a Logz.io-ba.
A keresősávba írja be a „Diagnostic” kifejezést, majd válassza Diagnostic settings (Diagnosztikai beállítások) lehetőséget.
Válasszon ki egy erőforrást az erőforráslistából, majd válassza az Add diagnostic setting (Diagnosztikai beállítás hozzáadása) elemet az erőforráshoz tartozó Diagnostics settings (Diagnosztikai beállítások) panel megnyitásához.
Adja meg a diagnosztikai beállítások Name (Név) tulajdonságának értékét.
Válassza a Stream to an event hub (Streamelés eseményközpontba) lehetőséget, majd válassza a Configure (Konfigurálás) lehetőséget a Select Event Hub (Eseményközpont kiválasztása) panel megnyitásához.
Válassza ki az eseményközpontot:
- Válassza ki az eseményközpont névterét: Válassza ki a Logzio -val kezdődő névteret (
LogzioNS6nvkqdcci10p
például). - Eseményközpont nevének kiválasztása: A naplókhoz válassza az insights-operational-logs , a metrikákhoz pedig az insights-operational-metrics elemet.
- Válassza ki az eseményközpont házirendjének nevét: Válassza a LogzioSharedAccessKey lehetőséget.
- Válassza ki az eseményközpont névterét: Válassza ki a Logzio -val kezdődő névteret (
A Diagnostics settings (Diagnosztikai beállítások) panelre való visszatéréshez kattintson az OK gombra.
A Log (Napló) szakaszban válassza ki a streamelni kívánt adatokat, majd kattintson a Save (Mentés) gombra.
A rendszer mostantól az eseményközpontba streameli a kiválasztott adatokat.
Adatok vizualizációja
Várjon egy kis ideig, hogy az adatok a rendszerből a Logz.io-ba kerüljenek, majd nyissa meg a Kibanát. Láthatja, ahogy az (eventhub típusú) adatok feltöltik az irányítópultokat. Az irányítópultok létrehozásáról további információt a Kibana – Irányítópult létrehozása című témakörben talál.
Innen lekérdezhet konkrét adatokat a Discover (Felderítés) lapon, vagy létrehozhat Kibana-objektumokat az adatok Visualize (Vizualizáció) lapon való vizualizálásához.
Clean up resources
Ha végzett az oktatóanyagban létrehozott Azure-erőforrásokkal, az alábbi parancs használatával törölheti őket:
az group delete --name <resource group>
További lépések
Ebben az oktatóanyagban megismerte, hogyan konfigurálhatja a Java-alkalmazást és az Azure-szolgáltatásokat úgy, hogy naplókat és metrikákat küldjenek a Logz.io-ba.
Ezután ismerje meg az eseményközpont alkalmazásmonitorozáshoz való használatát:
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: