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

Dokončeno

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:

Screenshot that shows the authentication dialog box for the admin console.

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

Screenshot that shows the main page of the admin console.

Vytvořený zdroj dat můžete potvrdit z zdrojů dat subsystémů>konfigurace>a zdrojů dat ovladačů.>

Screenshot that shows the list of data sources on the admin console.

Koncové body RESTful aplikace můžete také potvrdit z modulu runtime>System>JAX-RS>Vaší aplikace.

Screenshot that shows RESTful endpoints on the admin console.

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.