練習 - 存取 JBoss EAP 管理工具和應用程式記錄檔
在此練習中,您將會存取 JBoss 管理工具並串流應用程式記錄。
建立 TCP 通道
若要存取遠端伺服器,您必須在遠端伺服器與本機電腦之間建立 TCP 通道。 執行以下命令:
az webapp create-remote-connection -n ${WEBAPP_NAME} -g ${RESOURCEGROUP_NAME}
該命令會傳回下列結果:
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
您可以從命令結果取得下列資訊:
必要資訊 | 值 |
---|---|
Opening tunnel on port |
PORT_NUMBER (例如 59445 ) |
username |
root |
password |
Docker! |
記下密碼和連接埠號碼。 下一節會使用這兩個值。
使用 SSH 和 TCP 通道登入
您現在必須使用 ssh
命令來登入伺服器。 開啟命令終端機,然後執行下列命令:
export PORT_NUMBER=<the port number from above>
ssh root@127.0.0.1 -L 9990:localhost:9990 -p $PORT_NUMBER
提示
如果您想要存取 JBoss EAP 管理 Web 主控台,請指定 -L 9990:localhost:9990
選項。 然後存取 http://localhost:9990/console
JBoss Web 主控台。 如果您不需要登入 JBoss web 主控台,可以移除 "-L" 選項。
登入伺服器時,會看到下列訊息。
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.
執行 JBoss CLI 命令
登入遠端伺服器之後,就可以執行 JBoss EAP 系統管理員 CLI 工具為 jboss-cli.sh
。 CLI 命令位於 /opt/eap/bin/
目錄中。
使用下列命令連線到 JBoss EAP:
/opt/eap/bin/jboss-cli.sh --connect
Picked up JAVA_TOOL_OPTIONS: -Xmx2402M -Djava.net.preferIPv4Stack=true
連線到 JBoss EAP 伺服器之後,請執行 JBoss CLI 命令,並取得 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"
}
}}]
您可以從下列命令取得所有已部署的應用程式:
[standalone@localhost:9990 /] ls deployment
ROOT.war
接下來,執行下列命令來測試資料庫連線:
[standalone@localhost:9990 /] /subsystem=datasources/data-source="JPAWorldDataSourceDS":test-connection-in-pool
{
"outcome" => "success",
"result" => [true]
}
從 JBoss EAP CLI 結束。
exit
存取 JBoss EAP 系統管理員 Web 主控台
接下來,讓我們來存取 JBoss 系統管理員 Web 主控台。
首先,建立系統管理員使用者和密碼以進行驗證:
/opt/eap/bin/add-user.sh -u admin -p admin -r ManagementRealm
您應該會看到如下所示的輸出。
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'
現在您可以從本機環境存取 Web 主控台。 使用瀏覽器存取下列 URL:
http://127.0.0.1:9990/console
在 [驗證] 對話方塊中,使用先前建立的使用者名稱和密碼登入:
登入 Web 主控台後,會出現下列畫面:
您可以從設定>子系統>資料來源與驅動程式>資料來源,確認您建立的資料來源。
您也可以從執行階段>系統 >JAX-RS> 您的應用程式,確認應用程式的 RESTful 端點。
警告
如果您透過 JBoss CLI 命令或 Web 主控台直接存取遠端伺服器,並新增或更新設定,則在將 Azure App Service 執行個體重新開機之後,系統會清除並刪除設定。 若要保存設定,請在啟動指令碼中設定。 例如,我們在上一個單元中建立了 createMySQLDataSource.sh
作為啟動指令碼。
開啟記錄串流
接下來登入伺服器,並存取應用程式記錄檔。 您可以透過下列命令來登入本機電腦,以存取記錄:
az webapp log tail --name ${WEBAPP_NAME} --resource-group ${RESOURCEGROUP_NAME}
執行命令之後,您會取得記錄輸出:
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
練習摘要
在此單元中,您已了解如何將 Java EE 8 (Jakarta EE) 應用程式部署至 Azure App Service 上的 JBoss EAP 並加以設定。 然後,您使用了 DataSource
物件將 MySQL 連線到啟動指令碼中的 JBoss EAP。
您也已了解如何使用 TCP 通道,從 CLI 和 GUI 存取遠端伺服器。 最後,您已從本機電腦存取記錄檔。