Alıştırma - JBoss EAP yönetim araçlarına ve uygulama günlüklerine erişme
Bu alıştırmada JBoss yönetim araçlarına erişip uygulama günlüklerini akışla aktaracaksınız.
TCP tüneli oluşturma
Uzak sunucuya erişmek için uzak sunucunuzla yerel makineniz arasında bir TCP tüneli oluşturmanız gerekir. Şu komutu çalıştırın:
az webapp create-remote-connection -n ${WEBAPP_NAME} -g ${RESOURCEGROUP_NAME}
Komut aşağıdaki sonucu döndürür:
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
Komut sonucundan aşağıdaki bilgileri alırsınız:
Gerekli bilgiler | Değer |
---|---|
Opening tunnel on port |
PORT_NUMBER (örnek, 59445 ) |
username |
root |
password |
Docker! |
Parolayı ve bağlantı noktası numarasını not alın. Bu iki değer sonraki bölümde kullanılır.
SSH ve TCP tüneli kullanarak oturum açma
Şimdi bir ssh
komut kullanarak sunucuda oturum açmanız gerekir. Yeni bir komut terminali açın ve aşağıdaki komutu çalıştırın:
export PORT_NUMBER=<the port number from above>
ssh root@127.0.0.1 -L 9990:localhost:9990 -p $PORT_NUMBER
Bahşiş
JBoss EAP yönetici web konsoluna erişmek istiyorsanız seçeneğini belirtin -L 9990:localhost:9990
. Ardından JBoss web konsoluna erişim http://localhost:9990/console
. JBoss web konsolunda oturum açmanız gerekmiyorsa "-L" seçeneğini kaldırabilirsiniz.
Sunucuda oturum açtığınızda aşağıdaki iletileri görürsünüz.
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 komutunu çalıştırma
Uzak sunucuda oturum açtığınızda JBoss EAP yönetici CLI aracını olarak jboss-cli.sh
çalıştırabilirsiniz. CLI komutu dizinindedir /opt/eap/bin/
.
Aşağıdaki komutu kullanarak JBoss EAP'ye Bağlan:
/opt/eap/bin/jboss-cli.sh --connect
Picked up JAVA_TOOL_OPTIONS: -Xmx2402M -Djava.net.preferIPv4Stack=true
JBoss EAP Sunucusuna bağlandıktan sonra JBoss CLI komutunu çalıştırın ve JBoss sunucu bilgilerini alın:
[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"
}
}}]
Dağıtılan tüm uygulamaları aşağıdaki komuttan alabilirsiniz:
[standalone@localhost:9990 /] ls deployment
ROOT.war
Ardından, aşağıdaki komutu çalıştırarak veritabanı bağlantısını test edin:
[standalone@localhost:9990 /] /subsystem=datasources/data-source="JPAWorldDataSourceDS":test-connection-in-pool
{
"outcome" => "success",
"result" => [true]
}
JBoss EAP CLI'dan çıkın.
exit
JBoss EAP yönetici web konsoluna erişme
Şimdi JBoss yönetici web konsoluna erişelim.
İlk olarak, kimlik doğrulaması için bir yönetici kullanıcı ve parola oluşturun:
/opt/eap/bin/add-user.sh -u admin -p admin -r ManagementRealm
Aşağıdakine benzer bir çıktı görmeniz gerekir.
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'
Artık web konsoluna yerel ortamınızdan erişebilirsiniz. Tarayıcı kullanarak aşağıdaki URL'ye erişin:
http://127.0.0.1:9990/console
Kimlik doğrulaması iletişim kutusunda, önceden oluşturulmuş kullanıcı adı ve parolayla oturum açın:
Web konsolunda oturum açtığınızda aşağıdaki ekran görüntülenir:
Oluşturduğunuz veri kaynağını Yapılandırma>Alt Sistemleri>Veri Kaynakları ve Sürücüler>Veri Kaynakları'ndan onaylayabilirsiniz.
Ayrıca Uygulamanızın RESTful uç noktalarını Çalışma Zamanı>Sistemi>JAX-RS>Uygulamanız'dan da onaylayabilirsiniz.
Uyarı
JBoss CLI komutu veya web konsolu aracılığıyla uzak sunucuya doğrudan erişip bir yapılandırma ekler veya güncelleştirirseniz, Azure Uygulaması Hizmeti örneği yeniden başlatıldıktan sonra yapılandırma temizlenir ve silinir. Yapılandırmayı kalıcı hale getirmek için bunu bir başlangıç betiğinde yapılandırın. Örneğin, önceki bir ünitede createMySQLDataSource.sh
başlangıç betiği olarak öğesini oluşturduk.
Günlük akışını açma
Şimdi sunucuda oturum açalım ve uygulama günlüklerine erişelim. Aşağıdaki komutla yerel makinenizde oturum açarak günlüklere erişebilirsiniz:
az webapp log tail --name ${WEBAPP_NAME} --resource-group ${RESOURCEGROUP_NAME}
Komutu çalıştırdıktan sonra günlük çıkışınızı alırsınız:
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
Alıştırma özeti
Bu ünitede bir Java EE 8 (Jakarta EE) uygulamasını yapılandırmayı ve Azure Uygulaması Hizmeti'nde JBoss EAP'ye dağıtmayı öğrendiniz. Ardından, başlangıç betiğinde MySQL'i JBoss EAP'ye bağlamak için bir nesne kullandınız DataSource
.
Ayrıca BIR TCP tüneli kullanarak hem CLI'dan hem de GUI'den uzak sunucuya erişmeyi öğrendiniz. Son olarak, günlük dosyasına yerel bir makineden erişmişsinizdir.