Извлечение файлов журнала приложения

Завершено

Файлы журналов содержат много полезной информации для веб-разработчиков, но только если вы знаете, как находить и использовать записанные данные. Здесь вы изучите методы, которые можно использовать для получения сведений в журнале для автономного анализа.

Места хранения файла журнала

Инфраструктура Azure, используемая для запуска веб-приложения Azure в Windows, не совпадает с приложениями Linux, а файлы журналов не хранятся в одних и том же расположениях.

Файлы журнала приложений Windows

Для приложений Windows файлы журнала файловой системы хранятся на виртуальном диске, связанном с веб-приложением. Это диск D:\Home, который содержит папку LogFiles; в этой папке есть одна или несколько вложенных папок:

  • Приложение — содержит сообщения, созданные приложением, если включено ведение журнала приложений файловой системы .
  • DetailedErrors — содержит подробные журналы ошибок веб-сервера, если включены подробные сообщения об ошибках.
  • http — содержит журналы уровня IIS, если включено ведение журнала веб-сервера.
  • Номер> W3SVC<— содержит сведения обо всех неудачных http-запросах, если включена трассировка неудачных запросов.

Где хранилище в контейнер BLOB-объектов включено, журналы хранятся в годах, месяцах, датах и часах, например:

2019
  01
   10
    08 - log entries for the period 08:00:00 to 08:59:59 on January 10th 2019
    09 - log entries for the period 09:00:00 to 09:59:59 on January 10th 2019

В папке часа есть один или несколько CSV-файлов, содержащих сообщения, сохраненные в течение этого 60-минутного периода.

Файлы журнала приложений Linux

Для веб-приложений Linux средства Azure в настоящее время поддерживают меньше параметров ведения журнала, чем для приложений Windows. Перенаправления в STDERR и STDOUT управляются с помощью базового контейнера Docker, который запускает приложение, и эти сообщения хранятся в файлах журнала Docker. Чтобы просмотреть сообщения, зарегистрированные в базовых процессах, например Apache, необходимо открыть подключение SSH к контейнеру Docker.

Методы извлечения файлов журнала

Получение файлов журнала зависит от типа файла журнала и от предпочтительной среды. Для журналов файловой системы можно использовать Azure CLI или консоль Kudu. Kudu является механизмом многих функций в службе приложение Azure, связанной с развертыванием на основе системы управления версиями.

Azure CLI

Чтобы загрузить файлы журналов файловой системы с помощью Azure CLI, сначала скопируйте файлы журналов из файловой системы приложения в свое хранилище Cloud Shell, а затем выполните следующую команду.

az webapp log download --log-file \<_filename_\>.zip  --resource-group \<_resource group name_\> --name \<_app name_\>

Чтобы скачать zippped log files на локальный компьютер, используйте средство скачивания и отправки файлов на панели инструментов Cloud Shell. После скачивания файлы будут готовы к открытию в Microsoft Excel или других приложениях.

Примечание.

Загружаемый файл Azure CLI содержит все журналы приложений, за исключением трассировки невыполненных запросов.

Kudu

Существует связанный сайт службы управления версиями (SCM), связанный со всеми веб-приложения Azure. Этот сайт запускает службу Kudu и другие расширения сайта. Это Kudu, который управляет развертыванием и устранением неполадок для Azure веб-приложения, включая параметры просмотра и скачивания файлов журналов. Определенные функциональные возможности, доступные в Kudu, а также методы загрузки журналов зависят от типа веб-приложения. Для приложений Windows можно перейти к расположению файла журнала, а затем скачать журналы. Для приложений Linux может быть ссылка на скачивание.

Один из способов доступа к консоли Kudu — перейти к https://< app name.scm.azurewebsites.net>, а затем войти с помощью учетных данных развертывания.

Доступ к Kudu можно также получить на портале Azure. В меню Службы приложений в разделе Инструменты развертывания нажмите Дополнительные инструменты, а затем в панели "Дополнительные инструменты" нажмите кнопку Перейти, чтобы открыть новую вкладку Службы Kudu.

Чтобы загрузить файлы журналов из приложений Windows:

  1. Нажмите Консоль отладки и выберите CMD.

    Screenshot of Kudu's environment page with a callout highlighting the Debug Console cmd menu option.

  2. В разделе проводника выберите LogFiles и в папке "Приложение " выберите " Скачать". Журналы скачиваются на компьютер как Application.zip.

    Screenshot of Kudu's user interface. It displays a file and folder listing with a highlight next to the download icon for the Application folder.

    Для приложений Linux щелкните ссылку для загрузки на странице Среда.

    Screenshot of Kudu's user environment page with a callout highlighting the link to download a zip file containing the current Docker logs.

браузер служба хранилища Azure

Чтобы получить доступ к журналам Windows, сохраненным в контейнере Хранилище BLOB-объектов Azure, можно использовать портал Azure. Чтобы просмотреть и скачать содержимое контейнера файлов журнала, выберите служба хранилища учетные записи в меню портала. Выберите учетную запись хранения и выберите браузер служба хранилища. Откройте тип контейнера хранилища (например, контейнеры BLOB-объектов) и выберите имя контейнера BLOB-объектов, содержащего файл журнала. В контейнере откройте соответствующую папку года, месяца, даты и часа, а затем дважды щелкните CSV-файл, чтобы скачать его на компьютер.

Screenshot of the Storage browser to download Windows app logs from blob containers.

Если на компьютере есть Microsoft Excel, файл журнала автоматически открывается как лист Excel. В противном случае файл можно открыть с помощью текстового редактора, например Блокнот.