Cvičení – přístup k nástrojům pro správu EAP JBoss a protokolům aplikací

Dokončeno

V tomto cvičení získáte přístup k nástrojům pro správu JBoss a streamujete protokoly aplikace.

Nastavení proměnných prostředí

Pro toto cvičení potřebujete některé proměnné prostředí z předchozích cvičení. Pokud používáte stejné okno Bash, měly by tyto proměnné stále existovat. Pokud už proměnné nejsou k dispozici, vytvořte je pomocí následujících příkazů. Nezapomeňte nahradit <zástupné symboly ...> vlastními hodnotami a použít stejné hodnoty, které jste použili dříve.

export RESOURCE_GROUP_NAME=<resource-group>
export WEB_APP_NAME=<app-name>

Vytvoření tunelu TCP

Pokud chcete získat přístup ke vzdálenému serveru, vytvořte tunel TCP mezi vzdáleným serverem a místním počítačem pomocí následujícího příkazu:

az webapp create-remote-connection \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name ${WEB_APP_NAME}

Výstup obsahuje číslo portu tunelu TCP, uživatelské jméno a heslo. Nezapomeňte si tyto informace uložit pro pozdější použití.

Přihlášení pomocí SSH a tunelu TCP

Pokud se chcete přihlásit k serveru pomocí SSH a tunelu TCP, postupujte následovně:

  1. Otevřete nový příkazový terminál.

  2. Přihlaste se k serveru pomocí následujících příkazů. Zástupný symbol nahraďte <port-number> číslem portu, které jste získali v předchozí části.

    export PORT_NUMBER=<port-number>
    ssh root@127.0.0.1 -L 9990:localhost:9990 -p $PORT_NUMBER
    

    Spropitné

    Pokud chcete získat přístup k webové konzole pro správu EAP JBoss, zadejte možnost -L 9990:localhost:9990. Pak přejděte do webové konzoly JBoss na adrese http://localhost:9990/console. Pokud se nepotřebujete přihlásit k webové konzole JBoss, můžete tuto možnost odebrat -L .

    Následující výstup je typický:

    ssh root@127.0.0.1 -L 9990:localhost:9990 -p 65171
    root@127.0.0.1's password:
    Last login: Tue Feb 25 07:44:49 2025 from 169.254.129.2
       _|_|
     _|    _|  _|_|_|_|  _|    _|  _|  _|_|    _|_|
     _|_|_|_|      _|    _|    _|  _|_|      _|_|_|_|
     _|    _|    _|      _|    _|  _|        _|
     _|    _|  _|_|_|_|    _|_|_|  _|          _|_|_|
    
         J A V A   O N   A P P   S E R V I C E
    
    Documentation: https://aka.ms/appservice
    
    **NOTE**: No files or system changes outside of /home will persist beyond your application's current session. /home is your application's persistent storage and is shared across all the server instances.
    

Spuštění nástroje JBoss CLI

Po přihlášení ke vzdálenému serveru můžete pomocí následujícího postupu spustit nástroj rozhraní příkazového řádku pro správu JBoss EAP , /opt/eap/bin/jboss-cli.sh:

  1. Pomocí následujícího příkazu se připojte k protokolu EAP JBoss:

    /opt/eap/bin/jboss-cli.sh --connect
    

    Následující výstup je typický:

    OpenJDK 64-Bit Server VM warning: Options -Xverify:none and -noverify were deprecated in JDK 13 and will likely be removed in a future release.
    
  2. Po připojení k serveru JBoss EAP pomocí následujícího příkazu na příkazovém řádku JBoss získejte informace o serveru JBoss:

    product-info
    

    Následující výstup je typický:

    {
        "outcome" => "success",
        "result" => [{"summary" => {
            "host-name" => "jakartaee-aaaabbbb",
            "instance-identifier" => "aaaaaaaa-1111-bbbb-2222-cccccccccccc",
            "product-name" => "JBoss EAP",
            "product-version" => "8.0 Update 4.1",
            "product-community-identifier" => "Product",
            "product-home" => "/opt/eap",
            "standalone-or-domain-identifier" => "STANDALONE_SERVER",
            "host-operating-system" => "Ubuntu 22.04.5 LTS",
            "host-cpu" => {
                "host-cpu-arch" => "amd64",
                "host-core-count" => 2
            },
            "jvm" => {
                "name" => "OpenJDK 64-Bit Server VM",
                "java-version" => "17",
                "jvm-version" => "17.0.13",
                "jvm-vendor" => "Microsoft",
                "java-home" => "/usr/lib/jvm/msopenjdk-17-amd64"
            }
        }}]
    }
    
  3. Pomocí následujícího příkazu zobrazte seznam všech nasazených aplikací:

    ls deployment
    

    Následující výstup je typický:

    ROOT.war
    
  4. Otestujte připojení k databázi pomocí následujícího příkazu:

    /subsystem=datasources/data-source="JPAWorldDataSourceDS":test-connection-in-pool
    

    Následující výstup je typický:

    {
        "outcome" => "success",
        "result" => [true]
    }
    
  5. Ukončete rozhraní příkazového řádku JBoss EAP pomocí následujícího příkazu:

    exit
    

Přístup k webové konzole pro správu EAP JBoss

Dále přejděte do webové konzoly pro správu JBoss pomocí následujícího postupu:

  1. Pomocí následujícího příkazu vytvořte uživatele a heslo správce pro ověřování:

    /opt/eap/bin/add-user.sh -u admin -p admin -r ManagementRealm
    

    Následující výstup je typický:

    Picked up JAVA_TOOL_OPTIONS: -Xmx5480M -Djava.net.preferIPv4Stack=true
    Updated user 'admin' to file '/opt/eap/standalone/configuration/mgmt-users.properties'
    Updated user 'admin' to file '/opt/eap/domain/configuration/mgmt-users.properties'
    
  2. Přistupte k webové konzoli z webového prohlížeče ve vašem lokálním prostředí pomocí http://127.0.0.1:9990/console.

  3. V dialogovém okně ověřování se přihlaste pomocí dříve vytvořeného uživatelského jména a hesla.

    Snímek obrazovky s dialogovým oknem ověřování konzoly pro správu

    Po přihlášení k webové konzole se zobrazí následující obrazovka:

    Snímek obrazovky hlavní stránky konzoly pro správu

  4. Potvrďte, že jste zdroj dat vytvořili výběrem KonfiguraceSubsystémyZdrojů dat & OvladačůZdrojů dat.

    Snímek obrazovky se seznamem zdrojů dat v konzole pro správu

  5. Koncové body RESTful vaší aplikace můžete také potvrdit tím, že vyberete běhové prostředí><vašeho systému>>JAX-RS><vaší aplikace>.

    Snímek obrazovky s koncovými body RESTful v konzole pro správu

    Varování

    Pokud ke vzdálenému serveru přistupujete přímo pomocí příkazu rozhraní příkazového řádku JBoss nebo webové konzoly a přidáte nebo aktualizujete konfiguraci, konfigurace se vymaže a odstraní po restartování instance služby Azure App Service. Pokud chcete zachovat konfiguraci, použijte spouštěcí skript, například skript createMySQLDataSource.sh použitý v předchozí lekci.

Otevření streamu protokolu

K protokolům se dostanete pomocí následujícího příkazu:

az webapp log tail \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name ${WEB_APP_NAME}

Následující výstup je typický:

2025-02-25T06:58:11.5107300Z Waiting for main process to exit. GLOBAL_PID_MAIN=123
2025-02-25T06:58:11.5109525Z Waiting for GLOBAL_PID_MAIN == 123
2025-02-25T06:58:12.7891598Z 2025-02-25 06:58:12,786 WARN  [org.apache.activemq.artemis.core.server.impl.FileLockNodeManager] (Thread-2 (ActiveMQ-scheduled-threads)) Lost the lock according to the monitor, notifying listeners
2025-02-25T06:58:14.3783443Z 2025-02-25 06:58:14,377 INFO  [org.jboss.as.jpa] (MSC service thread 1-2) WFLYJPA0002: Read persistence.xml for JPAWorldDatasourcePU
2025-02-25T06:58:14.7548991Z 2025-02-25 06:58:14,752 INFO  [org.jipijapa] (MSC service thread 1-3) JIPIORMV6020260: Second level cache enabled for ROOT.war#JPAWorldDatasourcePU
2025-02-25T06:58:14.7971763Z 2025-02-25 06:58:14,796 WARN  [org.apache.activemq.artemis.core.server.impl.FileLockNodeManager] (Thread-2 (ActiveMQ-scheduled-threads)) Lost the lock according to the monitor, notifying listeners
2025-02-25T06:58:14.9371057Z 2025-02-25 06:58:14,924 INFO  [org.jboss.weld.deployer] (MSC service thread 1-4) WFLYWELD0003: Processing weld deployment ROOT.war
2025-02-25T06:58:15.2875956Z 2025-02-25 06:58:15,280 INFO  [org.hibernate.validator.internal.util.Version] (MSC service thread 1-4) HV000001: Hibernate Validator 8.0.1.Final-redhat-00001
2025-02-25T06:58:16.0075988Z 2025-02-25 06:58:16,003 INFO  [org.infinispan.CONTAINER] (ServerService Thread Pool -- 78) ISPN000556: Starting user marshaller 'org.wildfly.clustering.infinispan.marshalling.jboss.JBossMarshaller'
2025-02-25T06:58:16.0534913Z 2025-02-25 06:58:16,048 INFO  [org.jipijapa] (MSC service thread 1-1) JIPIORMV6020260: Second level cache enabled for ROOT.war#JPAWorldDatasourcePU
2025-02-25T06:58:16.1970192Z 2025-02-25 06:58:16,192 INFO  [org.jboss.as.connector.deployers.jdbc] (MSC service thread 1-1) WFLYJCA0005: Deploying non-JDBC-compliant driver class com.mysql.cj.jdbc.Driver (version 9.2)
2025-02-25T06:58:16.2695781Z 2025-02-25 06:58:16,265 INFO  [org.jboss.weld.Version] (MSC service thread 1-1) WELD-000900: 5.1.2 (redhat)
2025-02-25T06:58:16.4228682Z 2025-02-25 06:58:16,421 INFO  [org.jboss.as.connector.deployers.jdbc] (MSC service thread 1-3) WFLYJCA0018: Started Driver service with driver-name = ROOT.war_com.mysql.cj.jdbc.Driver_9_2
2025-02-25T06:58:16.4261069Z 2025-02-25 06:58:16,425 INFO  [org.jboss.as.connector.subsystems.datasources.AbstractDataSourceService$AS7DataSourceDeployer] (MSC service thread 1-3) IJ020018: Enabling <validate-on-match> for java:jboss/datasources/JPAWorldDataSource
2025-02-25T06:58:16.4349571Z 2025-02-25 06:58:16,428 INFO  [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-3) WFLYJCA0001: Bound data source [java:jboss/datasources/JPAWorldDataSource]
2025-02-25T06:58:16.7892296Z 2025-02-25 06:58:16,787 INFO  [org.jboss.as.jpa] (ServerService Thread Pool -- 78) WFLYJPA0010: Starting Persistence Unit (phase 1 of 2) Service 'ROOT.war#JPAWorldDatasourcePU'
2025-02-25T06:58:16.8070373Z 2025-02-25 06:58:16,805 INFO  [org.hibernate.jpa.internal.util.LogHelper] (ServerService Thread Pool -- 78) HHH000204: Processing PersistenceUnitInfo [name: JPAWorldDatasourcePU]

Souhrn cvičení

V této lekci jste se dozvěděli, jak nakonfigurovat a nasadit aplikaci Jakarta EE 10 do JBoss EAP ve službě Azure App Service. Pak jste použili objekt DataSource pro připojení MySQL k protokolu JBoss EAP ve spouštěcím skriptu.

Také jste zjistili, jak získat přístup ke vzdálenému serveru z rozhraní příkazového řádku i grafického uživatelského rozhraní (GUI) pomocí tunelu TCP. Nakonec jste k souboru protokolu přistupovali z místního počítače.