Övning – Få åtkomst till JBoss EAP-administrationsverktyg och programloggar

Slutförd

I den här övningen får du åtkomst till JBoss-administrationsverktygen och strömmar programloggarna.

Skapa en TCP-tunnel

För att få åtkomst till fjärrservern måste du skapa en TCP-tunnel mellan fjärrservern och den lokala datorn. Kör följande kommando:

az webapp create-remote-connection -n ${WEBAPP_NAME} -g ${RESOURCEGROUP_NAME}

Kommandot returnerar följande resultat:

Verifying if app is running....
App is running. Trying to establish tunnel connection...
Opening tunnel on port: 59445
SSH is available { username: root, password: Docker! }
Ctrl + C to close

Du får följande information från kommandoresultatet:

Nödvändig information Värde
Opening tunnel on port PORT_NUMBER (till exempel 59445)
username root
password Docker!

Anteckna lösenordet och portnumret. Dessa två värden används i nästa avsnitt.

Logga in med hjälp av SSH och TCP-tunneln

Nu måste du logga in på servern med hjälp av ett ssh kommando. Öppna en ny kommandoterminal och kör följande kommando:

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

Tips

Om du vill komma åt JBoss EAP-administratörswebbkonsolen anger du alternativet -L 9990:localhost:9990. Öppna sedan http://localhost:9990/console för JBoss-webbkonsolen. Om du inte behöver logga in på JBoss-webbkonsolen kan du ta bort alternativet "-L".

Följande meddelanden visas när du loggar in på servern.

The authenticity of host '[127.0.0.1]:59445 ([127.0.0.1]:59445)' can't be established.
ECDSA key fingerprint is SHA256:vHsp1b3+7NtnHISvZ6aKS82pww+e5L6CUc9fKaPZGDQ.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '[127.0.0.1]:59445' (ECDSA) to the list of known hosts.
root@127.0.0.1's password:
   _|_|
 _|    _|  _|_|_|_|  _|    _|  _|  _|_|    _|_|
 _|_|_|_|      _|    _|    _|  _|_|      _|_|_|_|
 _|    _|    _|      _|    _|  _|        _|
 _|    _|  _|_|_|_|    _|_|_|  _|          _|_|_|

     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.

Kör JBoss CLI-kommandot

När du har loggat in på fjärrservern kan du köra CLI-verktyget JBoss EAP-administratör som jboss-cli.sh. CLI-kommandot finns i katalogen /opt/eap/bin/.

Anslut till JBoss EAP med hjälp av följande kommando:

/opt/eap/bin/jboss-cli.sh --connect
Picked up JAVA_TOOL_OPTIONS: -Xmx2402M -Djava.net.preferIPv4Stack=true 

När du har anslutit till JBoss EAP-servern kör du JBoss CLI-kommandot och hämtar JBoss-serverinformationen:

[standalone@localhost:9990 /] :product-info
{
    "outcome" => "success",
    "result" => [{"summary" => {
        "host-name" => "295cf7c97684",
        "instance-identifier" => "24bb4e37-ac89-42bc-b87e-d635d37a56f3",
        "product-name" => "JBoss EAP",
        "product-version" => "7.4.2.GA",
        "product-community-identifier" => "Product",
        "product-home" => "/opt/eap",
        "last-update-date" => "4/26/22, 10:29 PM",
        "standalone-or-domain-identifier" => "STANDALONE_SERVER",
        "host-operating-system" => "Ubuntu 20.04.4 LTS",
        "host-cpu" => {
            "host-cpu-arch" => "amd64",
            "host-core-count" => 2
        },
        "jvm" => {
            "name" => "OpenJDK 64-Bit Server VM",
            "java-version" => "11",
            "jvm-version" => "11.0.14.1",
            "jvm-vendor" => "Microsoft",
            "java-home" => "/usr/lib/jvm/msopenjdk-11-amd64"
        }
    }}]

Du kan hämta alla distribuerade program från följande kommando:

[standalone@localhost:9990 /] ls deployment
ROOT.war

Testa sedan databasanslutningen genom att köra följande kommando:

[standalone@localhost:9990 /] /subsystem=datasources/data-source="JPAWorldDataSourceDS":test-connection-in-pool
{
    "outcome" => "success",
    "result" => [true]
}

Avsluta från JBoss EAP CLI.

exit

Få åtkomst till JBoss EAP-administratörswebbkonsolen

Nu ska vi komma åt JBoss-administratörswebbkonsolen.

Skapa först en administratörsanvändare och ett lösenord för autentisering:

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

Du bör se utdata som liknar följande.

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'

Nu kan du komma åt webbkonsolen från din lokala miljö. Genom att använda en webbläsare får du åtkomst till följande URL:

http://127.0.0.1:9990/console

I dialogrutan autentisering loggar du in med det tidigare skapade användarnamnet och lösenordet:

Skärmbild som visar dialogrutan autentisering för administratörskonsolen.

När du har loggat in på webbkonsolen visas följande skärm:

Skärmbild som visar huvudsidan i administratörskonsolen.

Du kan bekräfta din skapade datakälla från Configuration>Undersystem>Datasources & Drivers>Datasources.

Skärmbild som visar listan över datakällor i administratörskonsolen.

Du kan också bekräfta RESTful-slutpunkterna för ditt program från Runtime>System>JAX-RS>Your Application.

Skärmbild som visar RESTful-slutpunkter i administratörskonsolen.

Varning

Om du kommer åt fjärrservern direkt via JBoss CLI-kommandot eller webbkonsolen och lägger till eller uppdaterar en konfiguration rensas konfigurationen och tas bort när Azure App Service-instansen har startats om. Om du vill spara konfigurationen konfigurerar du detta i ett startskript. Vi skapade till exempel createMySQLDataSource.sh som ett startskript i en tidigare lektion.

Öppna en loggström

Nu ska vi logga in på servern och komma åt programloggarna. Du kan komma åt loggarna genom att logga in på den lokala datorn via följande kommando:

az webapp log tail --name ${WEBAPP_NAME} --resource-group ${RESOURCEGROUP_NAME}

När du har kört kommandot får du loggutdata:

az webapp log tail  -n jakartaee-app-on-jboss-1606464084546 \
  -g jakartaee-app-on-jboss-1606464084546-rg

2020-12-09T02:23:24.412067731Z: [INFO]  02:23:24,411 INFO  [org.wildfly.extension.undertow] (ServerService Thread Pool -- 82) WFLYUT0021: Registered web context: '/' for server 'default-server'
2020-12-09T02:23:24.455340165Z: [INFO]  02:23:24,453 INFO  [org.jboss.as.server] (Controller Boot Thread) WFLYSRV0010: Deployed "ROOT.war" (runtime-name : "ROOT.war")
2020-12-09T02:23:24.464834646Z: [INFO]  02:23:24,456 INFO  [org.jboss.as.server] (ServerService Thread Pool -- 45) WFLYSRV0010: Deployed "activemq-rar.rar" (runtime-name : "activemq-rar.rar")
2020-12-09T02:23:24.674103836Z: [INFO]  02:23:24,673 INFO  [org.jboss.as.server] (Controller Boot Thread) WFLYSRV0212: Resuming server
2020-12-09T02:23:24.676640538Z: [INFO]  02:23:24,675 INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0025: JBoss EAP 7.2.9.GA (WildFly Core 6.0.30.Final-redhat-00001) started in 25914ms - Started 537 of 709 services (345 services are lazy, passive or on-demand)
2020-12-09T02:23:24.680203180Z: [INFO]  02:23:24,679 INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0060: Http management interface listening on http://127.0.0.1:9990/management
2020-12-09T02:23:24.680950010Z: [INFO]  02:23:24,680 INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0051: Admin console listening on http://127.0.0.1:9990

Övningssammanfattning

I den här lektionen har du lärt dig hur du konfigurerar och distribuerar ett Java EE 8-program (Jakarta EE) till JBoss EAP i Azure App Service. Sedan använde du ett DataSource-objekt för att ansluta MySQL till JBoss EAP i ett startskript.

Du har också lärt dig hur du kommer åt fjärrservern från både CLI och GUI med hjälp av en TCP-tunnel. Slutligen kom du åt loggfilen från en lokal dator.