Существуют ли какие-либо API для использования потока журналов веб-приложений Azure

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

Существуют ли какие-либо API для достижения этого?


person user155489    schedule 26.10.2017    source источник


Ответы (1)


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

Его также можно скачать в виде Zip-архива с помощью Azure PowerShell или интерфейса командной строки Azure.

Путь следующий:

  • Журналы приложений - /LogFiles/Application/. Эта папка содержит один или несколько текстовых файлов, содержащих информацию, полученную при регистрации приложения.
  • Неудачные трассировки запросов — /LogFiles/W3SVC#########/. Эта папка содержит файл XSL и один или несколько файлов XML. Убедитесь, что вы загружаете файл XSL в тот же каталог, что и файл(ы) XML, потому что файл XSL предоставляет функции для форматирования и фильтрации содержимого файла(ов) XML при просмотре в Internet Explorer.
  • Подробные журналы ошибок — /LogFiles/DetailedErrors/. Эта папка содержит один или несколько файлов .htm, в которых содержится обширная информация о любых возникших ошибках HTTP.
  • Журналы веб-сервера — /LogFiles/http/RawLogs. Эта папка содержит один или несколько текстовых файлов, отформатированных с использованием расширенного формата файла журнала W3C.
  • Журналы развертывания — /LogFiles/Git. Эта папка содержит журналы, созданные внутренними процессами развертывания, используемыми веб-приложениями Azure, а также журналы развертываний Git.

Поток журнала также считывает журнал из папки LogFiles (D:\home\LogFiles\ ).

Поэтому, если вы хотите получить журналы программно, вам нужно сначала загрузить журналы по ftp или из командной строки.

Кроме того, если вы хотите обрабатывать журналы локально, я предлагаю вам рассмотреть возможность использования скрипта C# run powershell. Поскольку в SDK azure powershell есть команда для потоковой передачи информации журнала. О том, как вызывать скрипт powershell, вы можете обратиться к этому вопрос.

Get-AzureWebSiteLog -Name webappname -Tail

Чтобы получить список ваших веб-приложений, выполните следующую команду:

Get-AzureWebsite

Если вы используете «Развертывание слота», вы должны использовать полное имя (в кавычках):

Get-AzureWebSiteLog -Name "webappname(Staging)" -Tail

Дополнительные сведения о загрузке или потоковой передаче журналов см. в этом статью.

person Brando Zhang    schedule 26.10.2017