Что эквивалентно Google Cloud Logging для API служб приложений Azure?
Вот что мне знакомо по GCP. Мне удалось развернуть REST API с весенней загрузкой в GAE (Google App Engine) и увидеть все записи запуска и запуска в Cloud Logging.
Это выглядит действительно красиво и аккуратно выравнивает лог:
Когда я пытаюсь сделать то же самое с Azure и развертывать тот же самый Spring Boot REST API в "Службе приложений" Azure, я понятия не имею, существует ли что-то подобное.
В Центре развертывания я настроил его для отправки моего кода через Github Actions с помощью следующего yaml-скрипта по умолчанию:
# Docs for the Azure Web Apps Deploy action: https://github.com/Azure/webapps-deploy
# More GitHub Actions for Azure: https://github.com/Azure/actions
name: Build and deploy JAR app to Azure Web App
on:
push:
branches:
- develop
jobs:
build-and-deploy:
runs-on: windows-latest
steps:
- uses: actions/checkout@master
- name: Set up Java version
uses: actions/setup-java@v1
with:
java-version: '11'
- name: Build with Maven
run: mvn clean install
- name: Deploy to Azure Web App
uses: azure/webapps-deploy@v1
with:
app-name: '**********'
slot-name: 'production'
publish-profile: ${{ secrets.AzureAppService_PublishProfile_12ee0e892d9c498898a01f1268a3dbd4 }}
package: '${{ github.workspace }}/target/*.jar'
Возможно, уместно отметить, что изначально в этом документе говорилось о развертывании приложения WAR, но я просто изменил файл, из которого он искал, с .war
к .jar
. На самом деле я не видел никаких параметров в службе приложений, чтобы настроить ее для ожидания SBA (приложения с весенней загрузкой), но Google не требовал, чтобы я рассказывал ему, как запускать приложение, так зачем Azure?
В любом случае, основная причина, по которой я пытаюсь найти эти журналы, заключается в том, что я не могу получить доступ к конечной точке api, которую я показал, которая работает на localhost. Я получаю сообщениеThe resource you are looking for has been removed, had its name changed, or is temporarily unavailable.
и это ведение журнала приложения, которое я получаю (Мониторинг -> Поток журнала) при попытке (я вручную визуализировал необработанный вывод html):
Есть ли в Azure какие-либо облачные журналы, которые могут подсказать мне, почему мое приложение vanilla Spring всего лишь 404 в продукте?
3 ответа
Эквивалентом Google Cloud Logging в Azure является журнал Azure Monitor, сочетающий в себе Log Analytics и Application Insights.
Узнайте, как запрашивать журналы здесь
Также в Azure вы можете использовать поток журнала на портале Azure для просмотра журналов в реальном времени https://microsoft.github.io/AzureTipsAndTricks/blog/tip30.html
Если вы развертываете свое веб-приложение Java в службе приложений, есть несколько вариантов:
- "Java SE" (Windows / Linux): этот вариант предназначен для запуска встроенных стеков веб-серверов, таких как SpringBoot, ваш jar должен называться app.jar
- "Tomcat" (Windows / Linux): этот вариант предназначен для запуска веб-архивов, и мы рекомендуем использовать файл app.war.
Вот наше краткое руководство по веб-приложениям Java в службе приложений Azure в Windows:
https://docs.microsoft.com/en-us/azure/app-service/app-service-web-get-started-java
Вот наше краткое руководство по веб-приложениям Java в службе приложений Azure в Linux:
https://docs.microsoft.com/en-us/azure/app-service/containers/quickstart-java
Для включения журналов диагностики:
https://docs.microsoft.com/en-us/azure/app-service/troubleshoot-diagnostic-logs
Дополнительно мы работаем над интеграцией с Azure Monitor:
https://docs.microsoft.com/en-us/Azure/app-service/troubleshoot-diagnostic-logs
Если это все еще не работает, не беспокойтесь. Не стесняйтесь обращаться в службу поддержки Azure, и мы поможем. Это предпочтительный вариант, так как нам понадобится название сайта для исследования.
Чтобы создать запрос в службу поддержки Azure: