Где я могу найти журналы док-контейнера для службы приложений Azure

У меня есть Docker-контейнер с приложением.net core 2.

Ведение журнала настраивается с использованием этого кода в Program.cs

public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
    WebHost.CreateDefaultBuilder(args)
        .ConfigureLogging((hostingContext, logging) =>
        {
            logging.AddConfiguration(hostingContext.Configuration.GetSection("Logging"));
            logging.AddConsole();
            logging.AddDebug();
        })
        .UseStartup<Startup>();

и appsettings.json файл

{
  "Logging": {
    "LogLevel": {
      "Default": "Information"
    }
  },
}

Ведение журнала, кажется, в порядке, при запуске Kestrel напрямую, я вижу журналы в терминале. То же самое, когда в контейнере: команда docker logs показывает что я хочу.

Проблемы возникают на производстве, когда они запускаются как контейнер в Azure Web App. Я не могу найти никаких последовательных журналов докера.

Я пытался зайти в файл журнала через FTP или через URL https://[mysite].scm.azurewebsites.net/api/logs/docker например, файлы журнала почти пусты,https://[mysite].scm.azurewebsites.net/api/vfs/LogFiles/2018_09_09_RD0003FF74F63E_docker.log, присутствуют только стартовые строки контейнера введите описание изображения здесь

Также у меня есть те же строки в обычном интерфейсе портала.

Вопрос заключается в следующем: автоматически ли выводятся журналы Docker в файлы docker.log в Azure Web App? Есть что-то, чего мне не хватает?

6 ответов

Во-первых, вам нужно включить журналы контейнеров

[Служба приложений] -> Мониторинг -> Журналы службы приложений

Затем вы можете увидеть журналы контейнера в [Служба приложений] -> Мониторинг -> Поток журналов

UPD

Также вы можете найти логи в KUDU

Затем "Текущие журналы Docker"

Я проклинал это долгое время и в конце концов нашел кое-что, что мне подходит.

Сначала я включил ведение журнала файловой системы в соответствии с ответом @dima_horror.

Затем я запустил командную строку az webapp log tail --name myApp --resource-group myRg

Теперь, похоже, это дает мне полезный результат (он ничего не дал мне до включения ведения журнала файловой системы).

Чтобы добавить к ответам, если у вас возникли проблемы с развертыванием образа в службе приложений и вам нужны журналы именно для этого, вы можете получить журналы докеров для этапа подготовки вашего контейнера в Центре развертывания, например:

Вы проверили логи в настройках контейнера? Я следовал этому руководству, чтобы развернуть контейнер в веб-приложении Azure.

Контейнерные журналы

Даже после включения всех параметров журнала, упомянутых в ответах, я столкнулся с той же проблемой, что и упомянутый Йорро. Из приложения не поступает журнал, позволяющий понять, почему приложение не запускается в веб-приложении. Например, пустая трата времени. Тот же образ работает локально (автономно), но не запускается в веб-приложении. У разработчика нет другого выбора, кроме как попытать счастья, придумывая всевозможные варианты.

      2023-05-31T01:58:52.713Z ERROR - Container 78cacfab for site xxx-dev has exited, failing site start
2023-05-31T01:58:52.722Z ERROR - Container 78cacfab didn't respond to HTTP pings on port: 8098, failing site start. See container logs for debugging.
2023-05-31T01:58:58.662Z INFO  - Stopping site xxx-dev because it failed during startup.

должна быть присуждена за разработку такой системы регистрации.

У меня такая же проблема, журналы контейнера службы приложений являются общими и расплывчатыми. Это не те журналы, которые Docker показывает нам всякий раз, когда мы запускаем контейнер.

17/02/2020 08:59:25.186 INFO - Site: tutorial-api - Start container succeeded. Container: f8bfa7e27680c0e9551c6157f9d1c8a73c9a3e739b4f15de8586ce52809798d3 17/02/2020 08:59:30.675 INFO - Site: tutorial-api - Application Logging (Filesystem): On 17/02/2020 08:59:44.106 INFO - Site: tutorial-api - Waiting for container to be ready 17/02/2020 08:59:49.116 INFO - Site: tutorial-api - Container has exited 17/02/2020 08:59:49.117 ERROR - Site: tutorial-api - Container could not be started 17/02/2020 08:59:49.120 INFO - Site: tutorial-api - Purging after container failed to start 17/02/2020 08:59:49.120 ERROR - Site: tutorial-api - Unable to start container. Error message: Container could not be started: tutorial-api_20

"Не удалось запустить контейнер, контейнер не может быть запущен"

Вау! Лазур сказал мне, что каждые 60 секунд прошло.

Я понимаю, что это производственная среда, но вы должны нам кое-что дать!

Из-за разочарования я решил запустить тот же образ в ресурсе экземпляра контейнера Azure, там он показывает те же подробные журналы, которые предоставляет Docker (см. Снимок экрана ниже).

Вот о чем я говорю!

Используя журналы ошибок в экземпляре контейнера Azure, я обнаружил, что моя служба приложений не может получить доступ к ресурсу Sql Server (даже если они находятся в одной группе ресурсов). Я просто включил доступ к ресурсу Sql Server в той же группе ресурсов

Другие вопросы по тегам