Oefening: toegang krijgen tot de JBoss EAP-beheerhulpprogramma's en toepassingslogboeken

Voltooid

In deze oefening opent u de JBoss-beheerhulpprogramma's en streamt u de toepassingslogboeken.

Een TCP-tunnel maken

Voor toegang tot de externe server moet u een TCP-tunnel maken tussen uw externe server en uw lokale computer. Voer de volgende opdracht uit:

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

De opdracht retourneert het volgende resultaat:

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

U krijgt de volgende informatie uit het opdrachtresultaat:

Vereiste informatie Weergegeven als
Opening tunnel on port PORT_NUMBER (bijvoorbeeld, 59445)
username root
password Docker!

Noteer het wachtwoord en het poortnummer. Deze twee waarden worden gebruikt in de volgende sectie.

Aanmelden met behulp van SSH en de TCP-tunnel

U moet zich nu aanmelden bij de server met behulp van een ssh opdracht. Open een nieuwe opdrachtterminal en voer de volgende opdracht uit:

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

Tip

Als u toegang wilt krijgen tot de JBoss EAP-beheerwebconsole, geeft u de -L 9990:localhost:9990 optie op. Vervolgens toegang http://localhost:9990/console tot de JBoss-webconsole. Als u zich niet hoeft aan te melden bij de JBoss-webconsole, kunt u de optie -L verwijderen.

U ziet de volgende berichten wanneer u zich aanmeldt bij de server.

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.

Voer de JBoss CLI-opdracht uit

Nadat u zich hebt aangemeld bij de externe server, kunt u het CLI-hulpprogramma JBoss EAP-beheerder uitvoeren als jboss-cli.sh. De CLI-opdracht bevindt zich in de /opt/eap/bin/ map.

Verbinding maken naar JBoss EAP met behulp van de volgende opdracht:

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

Nadat u verbinding hebt gemaakt met de JBoss EAP-server, voert u de JBoss CLI-opdracht uit en haalt u de JBoss-servergegevens op:

[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"
        }
    }}]

U kunt alle geïmplementeerde toepassingen ophalen met de volgende opdracht:

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

Test vervolgens de databaseverbinding door de volgende opdracht uit te voeren:

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

Verlaat de JBoss EAP CLI.

exit

Toegang tot de JBoss EAP-beheerwebconsole

Nu gaan we toegang krijgen tot de JBoss-beheerwebconsole.

Maak eerst een gebruiker met beheerdersrechten en een wachtwoord voor verificatie:

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

De uitvoer ziet er als volgt uit.

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'

U hebt nu toegang tot de webconsole vanuit uw lokale omgeving. Open met behulp van een browser de volgende URL:

http://127.0.0.1:9990/console

Meld u in het dialoogvenster Verificatie aan met de eerder gemaakte gebruikersnaam en het wachtwoord:

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

Nadat u zich hebt aangemeld bij de webconsole, wordt het volgende scherm weergegeven:

Screenshot that shows the main page of the admin console.

U kunt de gemaakte gegevensbron bevestigen op basis van gegevensbronnen voor configuratiesubsystemen>>en stuurprogrammagegevensbronnen.>

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

U kunt ook de RESTful-eindpunten van uw toepassing bevestigen vanuit Runtime>System>JAX-RS>Uw toepassing.

Screenshot that shows RESTful endpoints on the admin console.

Waarschuwing

Als u rechtstreeks toegang hebt tot de externe server via de JBoss CLI-opdracht of webconsole en een configuratie toevoegt of bijwerkt, wordt de configuratie gewist en verwijderd nadat het Azure-app Service-exemplaar opnieuw is opgestart. Als u de configuratie wilt behouden, configureert u deze in een opstartscript. We hebben bijvoorbeeld het createMySQLDataSource.sh als opstartscript in een vorige les gemaakt.

Een logboekstream openen

Vervolgens gaan we zich aanmelden bij de server en toegang krijgen tot de toepassingslogboeken. U kunt de logboeken openen door u aan te melden bij uw lokale computer via de volgende opdracht:

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

Nadat u de opdracht hebt uitgevoerd, krijgt u de uitvoer van het logboek:

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

Samenvatting van oefening

In deze les hebt u geleerd hoe u een Java EE 8-toepassing (Jakarta EE) configureert en implementeert in JBoss EAP op Azure-app Service. Vervolgens hebt u een DataSource object gebruikt om MySQL te verbinden met JBoss EAP in een opstartscript.

U hebt ook geleerd hoe u toegang krijgt tot de externe server vanuit zowel de CLI als de GUI met behulp van een TCP-tunnel. Ten slotte hebt u het logboekbestand geopend vanaf een lokale computer.