애플리케이션 로그 파일 검색

완료됨

로그 파일은 웹 개발자에게 매우 유용한 리소스지만, 기록된 정보를 찾아서 사용하는 방법을 알아야 합니다. 여기서는 오프라인으로 분석할 수 있도록 기록된 정보를 검색하는 방법을 살펴봅니다.

로그 파일 스토리지 위치

Windows에서 Azure Web Apps를 실행하는 데 사용되는 Azure 인프라는 Linux 앱 리소스와 다르며, 로그 파일이 동일한 위치에 저장되지 않습니다.

Windows 앱 로그 파일

Windows 앱의 경우 파일 시스템 로그 파일이 웹앱과 연결된 가상 드라이브에 저장됩니다. 이 드라이브는 주소를 D:\Home으로 지정할 수 있으며, LogFiles 폴더를 포함하고 있습니다. 이 폴더에서 다음과 같은 하나 이상의 하위 폴더가 있습니다.

  • Application - 파일 시스템 애플리케이션 로깅을 사용하는 경우 애플리케이션에서 생성한 메시지가 포함됩니다.
  • 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

시간 폴더 내에는 60분 내에 저장된 메시지를 포함하는 CSV 파일이 하나 이상 있습니다.

Linux 앱 로그 파일

Linux Web Apps의 경우 현재 Azure 도구에서 지원하는 로깅 옵션의 수가 Windows 앱보다 적습니다. STDERR 및 STDOUT으로의 리디렉션은 앱을 실행하는 기본 Docker 컨테이너를 통해 관리되며, 이러한 메시지는 Docker 로그 파일에 저장됩니다. Apache 같은 기본 프로세스에서 기록한 메시지를 보려면 Docker 컨테이너에 대한 SSH 연결을 열어야 합니다.

로그 파일을 검색하는 방법

로그 파일을 검색하는 방법은 로그 파일의 종류와 사용자의 기본 환경에 따라 달라집니다. 파일 시스템 로그의 경우 Azure CLI 또는 Kudu 콘솔을 사용할 수 있습니다. Kudu는 원본 제어 기반 배포와 관련된 Azure App Service의 여러 가지 기능의 토대가 되는 엔진입니다.

Azure CLI

Azure CLI를 사용하여 파일 시스템 로그 파일을 다운로드하려면 먼저 앱 파일 시스템의 로그 파일을 Cloud Shell 스토리지로 복사한 후 다음 명령을 실행합니다.

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

압축된 로그 파일을 로컬 컴퓨터에 다운로드하려면 Cloud Shell 도구 모음의 파일 다운로드 및 업로드 도구를 사용합니다. 다운로드되면 파일이 Microsoft Excel 또는 기타 앱에서 열 준비가 됩니다.

참고 항목

Azure CLI 다운로드에는 실패한 요청 추적을 제외한 모든 앱 로그가 포함됩니다.

Kudu

모든 Azure Web Apps에는 SCM(소스 제어 관리) 서비스 사이트가 연결되어 있습니다. 이 사이트는 Kudu 서비스 및 기타 사이트 확장을 실행합니다. Kudu는 로그 파일 보기 및 다운로드 옵션을 비롯하여 Azure Web Apps의 배포 및 문제 해결을 관리합니다. Kudu에서 사용할 수 있는 기능과 로그를 다운로드하는 방법은 웹앱의 종류에 따라 달라집니다. Windows 앱의 경우 로그 파일 위치까지 이동한 다음 로그를 다운로드할 수 있습니다. Linux 앱의 경우 다운로드 링크가 있을 수 있습니다.

Kudu 콘솔에 액세스하는 한 가지 방법은 https://<앱 이름>.scm.azurewebsites.net으로 이동한 다음 배포 자격 증명을 통해 로그인하는 것입니다.

Azure Portal에서 Kudu에 액세스할 수도 있습니다. App Service 메뉴의 개발 도구에서 고급 도구를 선택한 다음, 고급 도구 창에서 이동을 선택하여 새 Kudu Services 탭을 엽니다.

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 Storage 브라우저

Azure Blob Storage 컨테이너에 저장된 Windows 로그에 액세스하기 위해 Azure Portal을 사용할 수 있습니다. 로그 파일 컨테이너의 콘텐츠를 보고 다운로드하려면 포털 메뉴에서 스토리지 계정을 선택합니다. 스토리지 계정을 선택한 다음, 스토리지 브라우저를 선택합니다. 스토리지 컨테이너 유형(예: Blob 컨테이너)을 열고 로그 파일이 포함된 Blob 컨테이너의 이름을 선택합니다. 컨테이너 안에서 관련된 연, 월, 일, 시간 폴더를 연 다음, CSV 파일을 두 번 클릭하여 사용자의 컴퓨터에 다운로드합니다.

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

컴퓨터에 Microsoft Excel이 있는 경우 로그 파일이 자동으로 Excel 워크시트로 열립니다. 그렇지 않은 경우, 메모장과 같은 텍스트 편집기를 사용하여 파일을 열 수 있습니다.