Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Примечание.
Планы Basic, Standardи Enterprise вступили в период вывода из обращения 17 марта 2025 года. Дополнительные сведения см. в объявлении о выходе на пенсию в Azure Spring Apps.
Эта статья относится к: ❎ Basic/Standard ✅ Enterprise
В этой статье описывается, как использовать Azure CLI для получения журналов заданий в режиме реального времени для устранения неполадок. Вы также можете использовать параметры диагностики для анализа данных диагностики в Azure Spring Apps. Дополнительные сведения см. в разделе Анализ журналов и метрик на основе параметров диагностики. Дополнительные сведения о журналах потоковой передачи см. в журналах консоли приложений Stream Spring Apps в реальном времени и журналах управляемых компонентов Stream Azure Spring Apps в режиме реального времени.
Предварительные условия
-
Azure CLI с расширением Azure Spring Apps версии 1.24.0 или более поздней. Расширение можно установить с помощью следующей команды:
az extension add --name spring
Назначьте роль Azure
Чтобы просматривать журналы заданий в реальном времени, вам необходимо, чтобы вам были назначены соответствующие роли Azure. В следующей таблице перечислены требуемая роль и операции, для которых этой роли предоставлено разрешение.
| Требуемая роль | Операции |
|---|---|
| Роль читателя журнала заданий Azure Spring Apps | Microsoft.AppPlatform/Spring/jobs/executions/logstream/action Microsoft.AppPlatform/Spring/jobs/executions/listInstances/action |
Чтобы назначить роль Azure с помощью портал Azure, выполните следующие действия.
Откройте портал Azure.
Откройте экземпляр службы Azure Spring Apps.
В области навигации выберите контроль доступа (IAM).
На странице контроль доступа (IAM) выберите "Добавить" и выберите "Добавить назначение роли".
На странице добавления назначения ролей в списке "Имя" найдите и выберите целевую роль, а затем нажмите кнопку "Далее".
Выберите "Участники" , а затем найдите и выберите имя пользователя.
Выберите Проверить + назначить.
Просмотр последних строк журнала
В этом разделе приведены примеры использования Azure CLI для просмотра последних сообщений в логах.
Просмотр журналов хвоста для конкретного экземпляра
Каждый раз при активации задания создается новое выполнение задания. Кроме того, в зависимости от параметра параллелизма для задания несколько реплик или экземпляров выполняются параллельно.
Используйте следующую команду, чтобы вывести список всех инстансов в ходе выполнения задания.
az spring job execution instance list \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-instance-name> \
--job <job-name> \
--execution <job-execution-name>
Вы можете получить все имена экземпляров выполнения задания из выходных данных.
Чтобы просмотреть журналы хвоста для конкретного экземпляраaz spring job logs, используйте -i/--instance команду с аргументом, как показано в следующем примере:
az spring job logs \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-instance-name> \
--name <job-name> \
--execution <job-execution-name> \
--instance <instance-name>
Просмотр логов всех экземпляров одной командой
Чтобы просмотреть журналы хвоста для всех экземпляров, используйте --all-instances аргумент, как показано в следующем примере. Имя экземпляра — это префикс каждой строки журнала. При наличии нескольких экземпляров журналы печатаются в пакете для каждого экземпляра. Таким образом, логи одного экземпляра не смешиваются с логами другого экземпляра.
az spring job logs \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-instance-name> \
--name <job-name> \
--execution <job-execution-name> \
--all-instances
Непрерывное потоковая передача новых журналов
По умолчанию az spring job logs выводит в консоль только уже существующие журналы, а затем завершает работу. Если вы хотите передавать новые журналы, добавьте -f/--follow аргумент.
При использовании -f/--follow параметра для получения мгновенных журналов служба потоковой передачи журналов Azure Spring Apps отправляет журналы пульса клиенту каждую минуту, если задание не записывает журналы постоянно. Сообщения журнала Heartbeat используют следующий формат: 2023-12-18 09:12:17.745: No log from server
Потоки журналов для определенного экземпляра
Используйте следующие команды, чтобы получить имена экземпляров и журналы потоков для конкретного экземпляра:
az spring job execution instance list \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-instance-name> \
--job <job-name> \
--execution <job-execution-name>
az spring job logs \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-instance-name> \
--name <job-name> \
--execution <job-execution-name> \
--instance <instance-name> \
--follow
Потоковая передача журналов для всех экземпляров
Используйте следующую команду для потоковой передачи журналов для всех экземпляров:
az spring job logs \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-instance-name> \
--name <job-name> \
--execution <job-execution-name> \
--all-instances \
--follow
При потоковой передаче журналов для нескольких экземпляров в выполнении задания журналы одного экземпляра перемешиваются с журналами других экземпляров.
Потоковые журналы в инстанции внедрения виртуальной сети
Для экземпляра Azure Spring Apps, развернутого в пользовательской виртуальной сети, по умолчанию можно получить доступ к потоковой передаче журналов из частной сети. Дополнительные сведения см. в статье Развертывание Azure Spring Apps в виртуальной сети.
Azure Spring Apps также позволяет получать доступ к журналам заданий в режиме реального времени из общедоступной сети.
Примечание.
Активация конечной точки потоковой передачи журналов в общедоступной сети добавляет публичный входящий IP-адрес в вашу виртуальную сеть. Обязательно используйте осторожность, если это забота о вас.
Чтобы включить конечную точку потоковой передачи журналов в общедоступной сети, выполните следующие действия.
Выберите экземпляр службы Azure Spring Apps, развернутый в виртуальной сети, а затем выберите "Сеть " в области навигации.
Выберите вкладку инъекция VNet.
Переключите состояние ресурсов Dataplane в общедоступной сети на Включено, чтобы активировать конечную точку потоковой передачи журналов в общедоступной сети. Этот процесс займет несколько минут.
После включения общедоступной конечной точки потока журналов можно получить доступ к журналам заданий из общедоступной сети так же, как и к обычному экземпляру.
Обеспечение безопасности трафика к общедоступной конечной точке передачи потоков журналов
Потоковая передача журналов для заданий использует Azure RBAC для проверки подлинности подключений к заданиям. В результате доступ к журналам может получить только пользователи, имеющие соответствующие роли.
Чтобы обеспечить безопасность заданий при предоставлении общедоступной конечной точки для них, защитите конечную точку, отфильтровав сетевой трафик к службе с помощью группы безопасности сети. Дополнительные сведения см. в статье Учебник. Фильтрация сетевого трафика с помощью групп безопасности сети, используя портал Azure. В этой группе содержатся правила безопасности, которые разрешают или запрещают исходящий и входящий сетевой трафик нескольких типов ресурсов Azure. Для каждого правила можно указать источник и назначение, порт и протокол.
Примечание.
Если вы не можете получить доступ к журналам заданий в экземпляре внедрения виртуальной сети из Интернета после включения общедоступной конечной точки потока журналов, проверьте группу безопасности сети, чтобы узнать, разрешен ли такой входящий трафик.
В следующей таблице показан пример базового правила, которое мы рекомендуем. Для получения целевого IP-адреса службы можно использовать такие команды, как nslookup и конечная точка <service-name>.private.azuremicroservices.io .
| Приоритет | Имя | Порт | Протокол | Источник | Назначение | Действие |
|---|---|---|---|---|---|---|
| 100 | Имя правила | 80 | TCP | Интернет | IP-адрес службы | Разрешить |
| 110 | Имя правила | 443 | TCP | Интернет | IP-адрес службы | Разрешить |