Megosztás a következőn keresztül:


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álhat egy klasszikus Java-alkalmazást úgy, hogy naplókat küldjön a Logz.io szolgáltatásnak a betöltéshez és elemzéshez. Logz.io teljes körű monitorozási megoldást biztosít az Elasticsearch/Logstash/Kibana (ELK) és a Grafana alapján.

Az oktatóanyag feltételezi, hogy Log4J-t vagy Logbacket használ. Ezek a kódtárak a két leggyakrabban használt Java-naplózáshoz, ezért az oktatóanyagnak működnie kell az Azure-ban futó alkalmazások többségénél. Ha már az Elastic stacket használja a Java-alkalmazás figyeléséhez, ez az oktatóanyag bemutatja, hogyan konfigurálhatja újra a rendszerét a Logz.io végpont eléréséhez.

Ebben az oktatóanyagban a következőket sajátíthatja el:

  • Naplók küldése a Logz.io-ra egy meglévő Java-alkalmazásból.
  • Diagnosztikai naplók és metrikák küldése az Azure-szolgáltatásokból a Logz.io.

Előfeltételek

  • Java Developer Kit, 11-es vagy újabb verzió
  • Egy Logz.io-fiók az Azure Marketplace
  • Meglévő Java-alkalmazás, amely Log4J-t vagy Logbacket használ

Java-alkalmazásnaplók küldése a Logz.io-ra

Először megtanulhatja, hogyan konfigurálhatja a Java-alkalmazást egy olyan jogkivonattal, amely hozzáférést biztosít a Logz.io-fiókjához.

A Logz.io hozzáférési jogkivonat lekérése

A jogkivonat lekéréséhez jelentkezzen be Logz.io fiókjába, válassza a fogaskerék ikont a bal alsó sarokban, majd válassza a Beállítások>A jogkivonatok kezelése lehetőséget, és válassza a Adatszállítási jogkivonatok lapot. Másolja ki a alapértelmezett hozzáférési jogkivonatot és a figyelő URL-címét, hogy később használhassa őket.

A Logz.io-kódtár telepítése és konfigurálása a Log4J-hez vagy a Logbackhez

A Logz.io Java-kódtár elérhető a Maven Centralon, így függőségként hozzáadhatja az alkalmazás konfigurációjához. Ellenőrizze a Verziószámot a Maven Centralon, és használja a legújabb verziót az alábbi konfigurációs beállítások között.

Ha Mavent használ, adja hozzá a következő függőséget a pom.xml fájlhoz:

Log4J:

<dependency>
    <groupId>io.logz.log4j2</groupId>
    <artifactId>logzio-log4j2-appender</artifactId>
    <version>2.0.0</version>
</dependency>

kijelentkezés:

<dependency>
    <groupId>io.logz.logback</groupId>
    <artifactId>logzio-logback-appender</artifactId>
    <version>2.0.0</version>
</dependency>

Ha Gradle-t használ, adja hozzá a következő függőséget a buildszkripthez:

Log4J:

implementation 'io.logz.log4j:logzio-log4j-appender:2.0.0'

kijelentkezés:

implementation 'io.logz.logback:logzio-logback-appender:2.0.0'

Ezután frissítse a Log4J vagy a Logback konfigurációs fájlját:

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>

kijelentkezés:

<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 tokenre, a <your-logz-io-listener-host> helyőrzőt pedig a régió hallgató gazdagépére – például listener.logz.io. A fiók régiójának megkereséséről további információt Fiókrégiócímű témakörben talál.

A logzioType elem az Elasticsearch egy logikai mezőjére hivatkozik, amely különböző dokumentumok egymástól való elválasztására szolgál. Fontos, hogy ezt a paramétert megfelelően konfigurálja, hogy a lehető legtöbbet hozhassa ki a Logz.io.

A Logz.io "típus" a napló formátumát jelenti – például: Apache, NGinx, MySQL –, és nem a forrást, például: server1, server2, server3. Ebben az oktatóanyagban azért hívjuk meg a típust java, mert Java-alkalmazásokat konfigurálunk, és elvárjuk, hogy ezek az alkalmazások mind ugyanazt a formátumot kapjanak.

A speciális használat érdekében a Java-alkalmazásokat különböző típusokba csoportosíthatja, amelyek mindegyike saját naplóformátummal rendelkezik (a Log4J és a Logback használatával konfigurálható). Lehet például egy spring-boot-monolith és egy spring-boot-microservice típus.

A konfiguráció és a naplóelemzés tesztelése a Logz.io

A Logz.io kódtár konfigurálása után az alkalmazásnak most már közvetlenül is el kell küldenie 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 lapot, majd válassza a futtatáslehetőséget. A következőhöz hasonló üzenetet kell látnia, amely közli, 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 használja a naplók létrehozásához. A naplóknak közvetlenül a képernyőn kell megjelennie. A Spring Boot-alkalmazások első indítási üzenetei például a következők:

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 Logz.io feldolgozza a naplókat, élvezheti a platform összes szolgáltatását.

Azure-szolgáltatások adatainak küldése Logz.io

Ezután megtudhatja, hogyan küldhet naplókat és metrikákat az Azure-erőforrásokból a Logz.io.

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 kész Azure-telepítési sablonon alapul, amely beállítja 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 megfelelő engedélyt és kapcsolatot. Az automatizált üzembe helyezés által beállított erőforrások képesek egyetlen Azure-régió adatait gyűjteni, és ezeket az adatokat továbbítani a Logz.io-hoz.

Keresse meg a Üzembe helyezés az Azure-ban gombot a repo olvasmányának első lépésében.

Amikor a Telepítés az Azurelehetőséget választja, megjelenik a Egyéni telepítés oldal az Azure Portálon, az előre kitöltött mezőket tartalmazó listával.

A legtöbb mezőt as-is hagyhatja, de mindenképpen adja meg a következő beállításokat:

  • erőforráscsoport: Válasszon ki egy meglévő csoportot, vagy hozzon létre egy újat.
  • Logzio-naplók/metrikák gazdagépének: Adja meg a Logz.io figyelő URL-címét. Ha nem biztos benne, hogy mi ez az URL-cím, ellenőrizze a bejelentkezési URL-címet. Ha app.logz.io, használja a listener.logz.io (ez az alapértelmezett beállítás). Ha app-eu.logz.iovan, akkor használja a listener-eu.logz.io.
  • 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 tokent a fiókoldalon találja meg a Logz.io felhasználói felületén.

Fogadja el az oldal alján található feltételeket, és válassza a Vásárláslehetőséget. Az Azure ezután üzembe helyezi a sablont, ami eltarthat egy-két percig. Végül a portál tetején megjelenik a "Sikeres üzembe helyezés" üzenet.

A megadott erőforráscsoportot felkeresve áttekintheti az üzembe helyezett erőforrásokat.

Ha tudni szeretné, hogyan konfigurálhatja a logzio-azure-serverless az adatok Azure Blob Storage-ba való biztonsági mentésére, tekintse meg Azure-tevékenységnaplók.

Azure-naplók és metrikák továbbítása a Logz.io-ra

Most, hogy üzembe helyezte az integrációs sablont, konfigurálnia kell az Azure-t, hogy diagnosztikai adatokat streameljen az imént üzembe helyezett Eseményközpontba. Amikor adatok érkeznek az Event Hubba, a függvényalkalmazás továbbítja az adatokat Logz.io.

  1. Írja be a keresősávba Diagnosztikai, majd válassza Diagnosztikai beállításoklehetőséget.

  2. Válasszon egy erőforrást az erőforrások listájából, majd válassza a Diagnosztikai beállítás hozzáadása lehetőséget az erőforrás Diagnosztikai beállítások paneljének megnyitásához.

    Diagnosztikai beállítások panel

  3. Adja meg a diagnosztikai beállításokat Név.

  4. Válassza az Adatfolyam küldése eseményközpontbaopciót, majd válassza a Konfigurálás opciót az Eseményközpont kiválasztása panel megnyitásához.

  5. Válassza ki az Event Hubot:

    • Event Hub-névtér kiválasztása: Válassza ki az Logzio (példáulLogzioNS6nvkqdcci10p) kezdő névteret.
    • Válassza ki az eseményközpont nevét: A naplókhoz válassza a insights-operational-logs, a metrikákhoz pedig az insights-operational-metricslehetőséget.
    • Event Hub-házirend nevének kiválasztása: Válassza LogzioSharedAccessKey.
  6. Válassza OK lehetőséget a Diagnosztikai beállítások panelre való visszatéréshez.

  7. A Napló szakaszban jelölje ki a streamelni kívánt adatokat, majd válassza a Mentéslehetőséget.

A kijelölt adatok mostantól az Eseményközpontba streamelnek.

Az adatok vizualizációja

Ezután adjon egy kis időt az adatoknak, hogy eljussanak a rendszeréből a Logz.io-ra, majd nyissa meg a Kibana-t. Látni fogja, hogy a eventhubtípusú adatok feltöltik az irányítópultjait. További információ az irányítópultok létrehozásáról: Kibana – Irányítópult létrehozása.

Innen lekérdezheti a Felfedezés lapon szereplő adatokat, vagy létrehozhat Kibana-objektumokat az adatok vizualizációjához a Vizualizáció lapon.

Erőforrások törlése

Ha végzett az oktatóanyagban létrehozott Azure-erőforrásokkal, az alábbi paranccsal törölheti őket:

az group delete --name <resource group>

Következő lépések

Ebben az oktatóanyagban megtanulta, hogyan konfigurálhatja a Java-alkalmazást és az Azure-szolgáltatásokat naplók és metrikák Logz.io való küldésére.

A következő lépésben további információ arról, hogyan monitorozhatja az alkalmazást az Event Hub használatával: