Упражнение. Доступ к средствам администрирования JBoss EAP и журналам приложений
В этом упражнении вы обращаетесь к средствам администрирования JBoss и передаете журналы приложений.
Настройка переменных среды
Для этого упражнения требуются некоторые переменные среды из предыдущих упражнений. Если вы используете то же окно Bash, эти переменные по-прежнему должны существовать. Если переменные больше не доступны, используйте следующие команды, чтобы повторно создать их. Обязательно замените < заполнители ... > собственными значениями и используйте те же самые значения, которые вы использовали ранее.
export RESOURCE_GROUP_NAME=<resource-group>
export WEB_APP_NAME=<app-name>
Создание tcp-туннеля
Чтобы получить доступ к удаленному серверу, создайте tcp-туннель между удаленным сервером и локальным компьютером с помощью следующей команды:
az webapp create-remote-connection \
--resource-group ${RESOURCE_GROUP_NAME} \
--name ${WEB_APP_NAME}
Выходные данные содержат номер порта TCP, имя пользователя и пароль. Не забудьте сохранить эти сведения для последующего использования.
Вход с помощью SSH и tcp-туннеля
Чтобы войти на сервер с помощью SSH и TCP-туннеля, выполните следующие действия.
Откройте новый терминал команд.
Войдите на сервер с помощью следующих команд. Обязательно замените местозаполнитель
<port-number>
номером порта, который вы получили в предыдущем разделе.export PORT_NUMBER=<port-number> ssh root@127.0.0.1 -L 9990:localhost:9990 -p $PORT_NUMBER
Совет
Если вы хотите получить доступ к веб-консоли администрирования JBoss EAP, укажите параметр
-L 9990:localhost:9990
. Затем перейдите к веб-консоли JBoss по адресуhttp://localhost:9990/console
. Если вам не нужно входить в веб-консоль JBoss, можно удалить-L
этот параметр.Ниже приведены типичные выходные данные:
ssh root@127.0.0.1 -L 9990:localhost:9990 -p 65171 root@127.0.0.1's password: Last login: Tue Feb 25 07:44:49 2025 from 169.254.129.2 _|_| _| _| _|_|_|_| _| _| _| _|_| _|_| _|_|_|_| _| _| _| _|_| _|_|_|_| _| _| _| _| _| _| _| _| _| _|_|_|_| _|_|_| _| _|_|_| 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
После входа на удаленный сервер можно запустить средство командной строки администратора JBoss EAP, /opt/eap/bin/jboss-cli.sh, выполнив следующие действия:
Подключитесь к JBoss EAP с помощью следующей команды:
/opt/eap/bin/jboss-cli.sh --connect
Ниже приведены типичные выходные данные:
OpenJDK 64-Bit Server VM warning: Options -Xverify:none and -noverify were deprecated in JDK 13 and will likely be removed in a future release.
После подключения к серверу JBoss EAP используйте следующую команду в командной строке JBoss, чтобы получить сведения о сервере JBoss:
product-info
Ниже приведены типичные выходные данные:
{ "outcome" => "success", "result" => [{"summary" => { "host-name" => "jakartaee-aaaabbbb", "instance-identifier" => "aaaaaaaa-1111-bbbb-2222-cccccccccccc", "product-name" => "JBoss EAP", "product-version" => "8.0 Update 4.1", "product-community-identifier" => "Product", "product-home" => "/opt/eap", "standalone-or-domain-identifier" => "STANDALONE_SERVER", "host-operating-system" => "Ubuntu 22.04.5 LTS", "host-cpu" => { "host-cpu-arch" => "amd64", "host-core-count" => 2 }, "jvm" => { "name" => "OpenJDK 64-Bit Server VM", "java-version" => "17", "jvm-version" => "17.0.13", "jvm-vendor" => "Microsoft", "java-home" => "/usr/lib/jvm/msopenjdk-17-amd64" } }}] }
Используйте следующую команду для перечисления всех развернутых приложений:
ls deployment
Ниже приведены типичные выходные данные:
ROOT.war
Проверьте подключение к базе данных с помощью следующей команды:
/subsystem=datasources/data-source="JPAWorldDataSourceDS":test-connection-in-pool
Ниже приведены типичные выходные данные:
{ "outcome" => "success", "result" => [true] }
Выход из интерфейса командной строки JBoss EAP с помощью следующей команды:
exit
Доступ к веб-консоли администрирования JBoss EAP
Затем перейдите к веб-консоли администрирования JBoss, выполнив следующие действия:
Создайте пользователя и пароль администратора для проверки подлинности с помощью следующей команды:
/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'
Доступ к веб-консоли из веб-браузера в локальной среде с помощью
http://127.0.0.1:9990/console
.В диалоговом окне проверки подлинности войдите с помощью ранее созданного имени пользователя и пароля.
После входа в веб-консоль появится следующий экран:
Убедитесь, что вы создали источник данных, выбрав Конфигурация>Подсистемы>Источники данных и драйверы>Источники данных.
Вы также можете подтвердить конечные точки RESTful вашего приложения, выбрав среду выполнения><вашей системы>>JAX-RS><вашего JAX-RS приложения>.
Предупреждение
Если вы напрямую обращаетесь к удаленному серверу с помощью команды интерфейса командной строки JBoss или веб-консоли и добавляете или обновляете конфигурацию, конфигурация очищается и удаляется после перезапуска экземпляра службы приложений Azure. Чтобы сохранить конфигурацию, используйте скрипт запуска, например скрипт createMySQLDataSource.sh , используемый в предыдущем уроке.
Откройте поток журнала
Доступ к журналам с помощью следующей команды:
az webapp log tail \
--resource-group ${RESOURCE_GROUP_NAME} \
--name ${WEB_APP_NAME}
Ниже приведены типичные выходные данные:
2025-02-25T06:58:11.5107300Z Waiting for main process to exit. GLOBAL_PID_MAIN=123
2025-02-25T06:58:11.5109525Z Waiting for GLOBAL_PID_MAIN == 123
2025-02-25T06:58:12.7891598Z 2025-02-25 06:58:12,786 WARN [org.apache.activemq.artemis.core.server.impl.FileLockNodeManager] (Thread-2 (ActiveMQ-scheduled-threads)) Lost the lock according to the monitor, notifying listeners
2025-02-25T06:58:14.3783443Z 2025-02-25 06:58:14,377 INFO [org.jboss.as.jpa] (MSC service thread 1-2) WFLYJPA0002: Read persistence.xml for JPAWorldDatasourcePU
2025-02-25T06:58:14.7548991Z 2025-02-25 06:58:14,752 INFO [org.jipijapa] (MSC service thread 1-3) JIPIORMV6020260: Second level cache enabled for ROOT.war#JPAWorldDatasourcePU
2025-02-25T06:58:14.7971763Z 2025-02-25 06:58:14,796 WARN [org.apache.activemq.artemis.core.server.impl.FileLockNodeManager] (Thread-2 (ActiveMQ-scheduled-threads)) Lost the lock according to the monitor, notifying listeners
2025-02-25T06:58:14.9371057Z 2025-02-25 06:58:14,924 INFO [org.jboss.weld.deployer] (MSC service thread 1-4) WFLYWELD0003: Processing weld deployment ROOT.war
2025-02-25T06:58:15.2875956Z 2025-02-25 06:58:15,280 INFO [org.hibernate.validator.internal.util.Version] (MSC service thread 1-4) HV000001: Hibernate Validator 8.0.1.Final-redhat-00001
2025-02-25T06:58:16.0075988Z 2025-02-25 06:58:16,003 INFO [org.infinispan.CONTAINER] (ServerService Thread Pool -- 78) ISPN000556: Starting user marshaller 'org.wildfly.clustering.infinispan.marshalling.jboss.JBossMarshaller'
2025-02-25T06:58:16.0534913Z 2025-02-25 06:58:16,048 INFO [org.jipijapa] (MSC service thread 1-1) JIPIORMV6020260: Second level cache enabled for ROOT.war#JPAWorldDatasourcePU
2025-02-25T06:58:16.1970192Z 2025-02-25 06:58:16,192 INFO [org.jboss.as.connector.deployers.jdbc] (MSC service thread 1-1) WFLYJCA0005: Deploying non-JDBC-compliant driver class com.mysql.cj.jdbc.Driver (version 9.2)
2025-02-25T06:58:16.2695781Z 2025-02-25 06:58:16,265 INFO [org.jboss.weld.Version] (MSC service thread 1-1) WELD-000900: 5.1.2 (redhat)
2025-02-25T06:58:16.4228682Z 2025-02-25 06:58:16,421 INFO [org.jboss.as.connector.deployers.jdbc] (MSC service thread 1-3) WFLYJCA0018: Started Driver service with driver-name = ROOT.war_com.mysql.cj.jdbc.Driver_9_2
2025-02-25T06:58:16.4261069Z 2025-02-25 06:58:16,425 INFO [org.jboss.as.connector.subsystems.datasources.AbstractDataSourceService$AS7DataSourceDeployer] (MSC service thread 1-3) IJ020018: Enabling <validate-on-match> for java:jboss/datasources/JPAWorldDataSource
2025-02-25T06:58:16.4349571Z 2025-02-25 06:58:16,428 INFO [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-3) WFLYJCA0001: Bound data source [java:jboss/datasources/JPAWorldDataSource]
2025-02-25T06:58:16.7892296Z 2025-02-25 06:58:16,787 INFO [org.jboss.as.jpa] (ServerService Thread Pool -- 78) WFLYJPA0010: Starting Persistence Unit (phase 1 of 2) Service 'ROOT.war#JPAWorldDatasourcePU'
2025-02-25T06:58:16.8070373Z 2025-02-25 06:58:16,805 INFO [org.hibernate.jpa.internal.util.LogHelper] (ServerService Thread Pool -- 78) HHH000204: Processing PersistenceUnitInfo [name: JPAWorldDatasourcePU]
Сводка упражнений
В этом уроке вы узнали, как настроить и развернуть приложение Jakarta EE 10 в JBoss EAP в Службе приложений Azure. Затем вы использовали объект DataSource
для подключения MySQL к JBoss EAP в скрипте запуска.
Вы также узнали, как получить доступ к удаленному серверу из интерфейса командной строки и графического пользовательского интерфейса (GUI) с помощью tcp-туннеля. Наконец, вы обращаетесь к файлу журнала с локального компьютера.