Cvičení – přístup k nástrojům pro správu EAP JBoss a protokolům aplikací
V tomto cvičení budete přistupovat k nástrojům pro správu JBoss a streamovat protokoly aplikace.
Vytvoření tunelu TCP
Pokud chcete získat přístup ke vzdálenému serveru, musíte vytvořit tunel TCP mezi vzdáleným serverem a místním počítačem. Spusťte následující příkaz:
az webapp create-remote-connection -n ${WEBAPP_NAME} -g ${RESOURCEGROUP_NAME}
Příkaz vrátí následující výsledek:
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
Z výsledku příkazu získáte následující informace:
Požadované informace | Hodnota |
---|---|
Opening tunnel on port |
PORT_NUMBER (například 59445 ) |
username |
root |
password |
Docker! |
Poznamenejte si heslo a číslo portu. Tyto dvě hodnoty se používají v další části.
Přihlášení pomocí SSH a tunelu TCP
Teď se musíte přihlásit k serveru pomocí ssh
příkazu. Otevřete nový příkazový terminál a spusťte následující příkaz:
export PORT_NUMBER=<the port number from above>
ssh root@127.0.0.1 -L 9990:localhost:9990 -p $PORT_NUMBER
Tip
Pokud chcete získat přístup k webové konzole pro správu JBoss EAP, zadejte -L 9990:localhost:9990
možnost. Pak přejděte k http://localhost:9990/console
webové konzole JBoss. Pokud se nepotřebujete přihlásit k webové konzole JBoss, můžete odebrat možnost -L.
Při přihlášení k serveru se zobrazí následující zprávy.
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.
Spuštění příkazu rozhraní příkazového řádku JBoss
Po přihlášení ke vzdálenému serveru můžete spustit nástroj CLI pro správu EAP JBoss jako jboss-cli.sh
. Příkaz rozhraní příkazového /opt/eap/bin/
řádku je v adresáři.
Připojení do EAP JBoss pomocí následujícího příkazu:
/opt/eap/bin/jboss-cli.sh --connect
Picked up JAVA_TOOL_OPTIONS: -Xmx2402M -Djava.net.preferIPv4Stack=true
Po připojení k serveru JBoss EAP spusťte příkaz rozhraní příkazového řádku JBoss a získejte informace o serveru 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"
}
}}]
Všechny nasazené aplikace můžete získat z následujícího příkazu:
[standalone@localhost:9990 /] ls deployment
ROOT.war
Potom otestujte připojení k databázi spuštěním následujícího příkazu:
[standalone@localhost:9990 /] /subsystem=datasources/data-source="JPAWorldDataSourceDS":test-connection-in-pool
{
"outcome" => "success",
"result" => [true]
}
Ukončete rozhraní příkazového řádku JBoss EAP.
exit
Přístup k webové konzole pro správu EAP JBoss
Teď se podíváme na webovou konzolu pro správu JBoss.
Nejprve vytvořte uživatele a heslo správce pro ověřování:
/opt/eap/bin/add-user.sh -u admin -p admin -r ManagementRealm
Zobrazený výstup by měl vypadat přibližně takto:
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'
Teď máte přístup k webové konzole z místního prostředí. V prohlížeči přejděte k následující adrese URL:
http://127.0.0.1:9990/console
V dialogovém okně ověřování se přihlaste pomocí dříve vytvořeného uživatelského jména a hesla:
Po přihlášení k webové konzole se zobrazí následující obrazovka:
Vytvořený zdroj dat můžete potvrdit z zdrojů dat subsystémů>konfigurace>a zdrojů dat ovladačů.>
Koncové body RESTful aplikace můžete také potvrdit z modulu runtime>System>JAX-RS>Vaší aplikace.
Upozorňující
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 Aplikace Azure Service. Chcete-li zachovat konfiguraci, nakonfigurujte ji ve spouštěcím skriptu. Například jsme vytvořili createMySQLDataSource.sh
jako spouštěcí skript v předchozí lekci.
Otevření streamu protokolu
Teď se přihlásíme k serveru a dostaneme se k protokolům aplikace. K protokolům se dostanete tak, že se přihlásíte k místnímu počítači pomocí následujícího příkazu:
az webapp log tail --name ${WEBAPP_NAME} --resource-group ${RESOURCEGROUP_NAME}
Po spuštění příkazu získáte výstup protokolu:
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
Shrnutí cvičení
V této lekci jste se dozvěděli, jak nakonfigurovat a nasadit aplikaci Java EE 8 (Jakarta EE) do JBoss EAP ve službě Aplikace Azure Service. Pak jste použili DataSource
objekt pro připojení MySQL k protokolu JBoss EAP ve spouštěcím skriptu.
Také jste zjistili, jak přistupovat ke vzdálenému serveru z rozhraní příkazového řádku i grafického uživatelského rozhraní pomocí tunelu TCP. Nakonec jste k souboru protokolu přistupovali z místního počítače.