Övning – Få åtkomst till JBoss EAP-administrationsverktyg och programloggar
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:
När du har loggat in på webbkonsolen visas följande skärm:
Du kan bekräfta din skapade datakälla från Configuration>Undersystem>Datasources & Drivers>Datasources.
Du kan också bekräfta RESTful-slutpunkterna för ditt program från Runtime>System>JAX-RS>Your Application.
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.