Ejercicio: Acceso a las herramientas de administración y los registros de aplicaciones de JBoss EAP
En este ejercicio, accederá a las herramientas de administración de JBoss y transmitirá los registros de aplicaciones.
Creación de un túnel TCP
Para acceder al servidor remoto, debe crear un túnel TCP entre el servidor remoto y la máquina local. Ejecute el siguiente comando:
az webapp create-remote-connection -n ${WEBAPP_NAME} -g ${RESOURCEGROUP_NAME}
El comando devuelve el resultado siguiente:
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
Obtendrá la información siguiente del resultado del comando:
Información necesaria | Value |
---|---|
Opening tunnel on port |
PORT_NUMBER (por ejemplo, 59445 ) |
username |
root |
password |
Docker! |
Anote la contraseña y el número de puerto. Estos dos valores se usan en la sección siguiente.
Inicio de sesión con SSH y el túnel TCP
Ahora debe iniciar sesión en el servidor mediante un comando ssh
. Abra un nuevo terminal de comandos y ejecute el comando siguiente:
export PORT_NUMBER=<the port number from above>
ssh root@127.0.0.1 -L 9990:localhost:9990 -p $PORT_NUMBER
Sugerencia
Si quiere acceder a la consola web de administración de JBoss EAP, especifique la opción -L 9990:localhost:9990
. Después, acceda a http://localhost:9990/console
para la consola web de JBoss. Si no necesita iniciar sesión en la consola web de JBoss, puede quitar la opción "-L".
Al iniciar sesión en el servidor, verá los mensajes siguientes.
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.
Ejecución del comando de la CLI de JBoss
Después de iniciar sesión en el servidor remoto, puede ejecutar la herramienta de la CLI de administración de JBoss EAP como jboss-cli.sh
. El comando de la CLI se encuentra en el directorio /opt/eap/bin/
.
Conéctese a JBoss EAP mediante el comando siguiente:
/opt/eap/bin/jboss-cli.sh --connect
Picked up JAVA_TOOL_OPTIONS: -Xmx2402M -Djava.net.preferIPv4Stack=true
Después de conectarse al servidor de JBoss EAP, ejecute el comando de la CLI de JBoss y obtenga la información del servidor de JBoss:
[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"
}
}}]
Puede obtener todas las aplicaciones implementadas con el comando siguiente:
[standalone@localhost:9990 /] ls deployment
ROOT.war
Después, ejecute el comando siguiente para probar la conexión de base de datos:
[standalone@localhost:9990 /] /subsystem=datasources/data-source="JPAWorldDataSourceDS":test-connection-in-pool
{
"outcome" => "success",
"result" => [true]
}
Salga de la CLI de JBoss EAP.
exit
Acceso a la consola web de administración de JBoss EAP
A continuación, se accederá a la consola web de administración de JBoss.
En primer lugar, cree un usuario administrador y una contraseña para la autenticación:
/opt/eap/bin/add-user.sh -u admin -p admin -r ManagementRealm
Debería ver una salida similar a la siguiente.
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'
Ahora puede acceder a la consola web desde el entorno local. Con un explorador, acceda a la siguiente dirección URL:
http://127.0.0.1:9990/console
En el cuadro de diálogo de autenticación, inicie sesión con el nombre de usuario y la contraseña que ha creado antes:
Después de iniciar sesión en la consola web, aparecerá la pantalla siguiente:
Puede confirmar el origen de datos creado desde Configuration>Subsystems>Datasources & Drivers>Datasources (Configuración > Subsistemas > Orígenes de datos y controladores > Orígenes de datos).
También puede confirmar los puntos de conexión RESTful de la aplicación desde Runtime>System>JAX-RS>Your Application (Entorno de ejecución > Sistema > JAX-RS >La aplicación).
Advertencia
Si accede directamente al servidor remoto mediante el comando de la CLI de JBoss o de la consola web, y agrega o actualiza una configuración, la configuración se borrará y se eliminará después de que se reinicie la instancia de Azure App Service. Para conservar la configuración, configúrela en un script de inicio. Por ejemplo, en una unidad anterior se ha creado createMySQLDataSource.sh
como un script de inicio.
Apertura de un flujo de registro
A continuación, iniciará sesión en el servidor y accederá a los registros de aplicaciones. Para acceder a los registros, inicie sesión en la máquina local con el comando siguiente:
az webapp log tail --name ${WEBAPP_NAME} --resource-group ${RESOURCEGROUP_NAME}
Después de ejecutar el comando, obtendrá la salida del registro:
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
Resumen del ejercicio
En esta unidad, ha aprendido a configurar e implementar una aplicación de Java EE 8 (Jakarta EE) en JBoss EAP en Azure App Service. Después, ha usado un objeto DataSource
para conectar MySQL con JBoss EAP en un script de inicio.
También ha aprendido a acceder al servidor remoto desde la CLI y la GUI mediante un túnel TCP. Por último, ha accedido al archivo de registro desde una máquina local.