스토리지 리소스 로그 문제 해결

완료됨

Azure Storage 리소스 로그는 스토리지 계정에서 수행되는 각 작업과 이러한 작업의 결과를 캡처합니다. 이러한 로그는 메트릭이 표시하는 작업의 분 단위 요약이 아니라, 수행된 각 요청에 대한 세부 정보를 제공합니다. 로깅 정보를 사용하여 스토리지 계정에 대한 요청의 특성을 검사하고 이러한 요청이 성공했는지 여부를 확인할 수 있습니다.

이 단원에서는 Azure Monitor의 Azure Storage 리소스 로그에 대해 알아봅니다. 로그에 캡처된 여러 유형의 정보 및 이 정보를 사용하여 애플리케이션에서 Azure Storage를 사용할 때 발생할 수 있는 문제를 검색하는 방법을 알아봅니다.

Azure Monitor의 리소스 로그

성능 관련 메트릭보다 구체적인 스토리지 트랜잭션 정보를 봐야 할 때가 가끔 있습니다. 성능이나 수요의 전체적인 추세를 추적하는 데는 메트릭이 유용하지만, 트랜잭션 메트릭을 모니터링해도 요청된 URL이 드러나지는 않습니다. 또한 사용 가능한 스토리지 메트릭은 특정 요청과 관련된 오류 메시지를 제공할 수도 없습니다.

Azure Monitor의 리소스 로그는 이러한 종류의 자세한 정보를 캡처하며 특정 요청 뒤에 있는 세부 정보를 검사하는 데 유용합니다. 예를 들어 특정 리소스에 대한 요청이 인증되거나 익명이거나 성공하거나 실패한 요청 수를 알고 싶다면 이러한 로그를 사용할 수 있습니다.

리소스 로그를 수집하려면 진단 설정을 만들어야 합니다. 리소스 로그는 스토리지 계정에 대한 성공 및 실패한 요청을 나열합니다. 요청은 특정 스토리지 서비스(Azure Blob Storage, Table Storage 또는 Queue Storage)에 대한 읽기, 쓰기 또는 삭제 작업으로 기록됩니다. 진단 설정을 사용하여 로그를 Log Analytics, 스토리지 계정으로 라우팅하거나 이벤트 허브 또는 파트너 솔루션으로 스트리밍할 수 있습니다.

리소스 로그를 사용하여 다양한 유형과 빈도의 요청을 검토하거나 실패한 요청 문제를 해결할 수 있습니다. 로그는 트랜잭션이 발생하는 경우에만 생성되며 특정 서비스 엔드포인트에만 생성됩니다. 따라서 Blob Storage 및 Queue Storage 엔드포인트에서 스토리지를 사용하지만 Blob Storage 엔드포인트에만 요청 또는 트랜잭션이 있는 경우 시스템은 Blob Storage에 대한 로그만 만듭니다.

로깅을 사용하도록 설정하면 다음 유형의 요청이 기록됩니다.

  • 요청 인증
  • 익명 요청
  • 성공한 요청
  • 실패한 요청(예: 시간 제한, 제한, 네트워크 오류, 권한 부여 오류)
  • 서버 오류
  • 공유 액세스 서명을 사용하는 요청(실패한 요청과 성공한 요청 모두 포함)
  • 클라이언트 및 서버의 시간 제한 오류
  • 분석 데이터에 대한 요청
  • 304 오류 코드(“수정되지 않음”)를 표시하는 GET 요청

Azure Monitor의 리소스 로그 스토리지

리소스 로그는 스토리지 계정에 대해 자동으로 생성되지만 대상에 보내지 않는 한 해당 로그를 볼 수 없습니다. 진단 설정을 사용하여 보낼 위치를 지정할 수 있습니다.

진단 설정을 만들 때 라우팅 로그에 관심이 있는 스토리지 유형(예: Blob Storage 또는 파일 스토리지)을 선택합니다. 그런 다음 로그에 표시할 작업 유형(예: 읽기, 쓰기 또는 삭제 작업)을 선택합니다. 마지막으로 로그를 보낼 위치를 선택합니다. 다음 위치에 로그를 보낼 수 있습니다.

  • Log Analytics

  • 스토리지 계정

  • 이벤트 허브

  • 파트너 솔루션

Azure Monitor 로그 쿼리를 사용하여 Log Analytics 작업 영역으로 전송된 로그에 액세스할 수 있습니다.

스토리지 계정으로 로그를 라우팅하는 경우 해당 로그는 컨테이너에 저장된 Blob으로 표시됩니다. 데이터는 단일 BLOB 내에 줄로 구분된 JSON 페이로드로 수집 및 저장됩니다. BLOB 이름은 다음가 같은 명명 규칙을 따릅니다.

https://<destination-storage-account>.blob.core.windows.net/insights-logs-<storage-operation>/resourceId=/subscriptions/<subscription-ID>/resourceGroups/<resource-group-name>/providers/Microsoft.Storage/storageAccounts/<source-storage-account>/blobServices/default/y=<year>/m=<month>/d=<day>/h=<hour>/m=<minute>/PT1H.json

이벤트 허브로 전송된 로그는 파일로 저장되지 않지만 Azure Portal에서 이벤트 허브를 열고 들어오는 메시지 수를 검사하여 이벤트 허브가 로그 정보를 수신했는지 확인할 수 있습니다.

특정 Azure Monitor 파트너에게 플랫폼 메트릭 및 로그를 보낼 수 있습니다. 먼저 구독에 파트너 통합을 설치해야 합니다. 구성 옵션은 파트너에 따라 다릅니다.

로그 데이터에 대한 보존 정책을 설정할 수 없습니다. 로그를 Log Analytics로 보내는 경우 작업 영역 수준에서 데이터 보존 기간을 관리하거나 데이터 형식별로 다른 보존 설정을 지정할 수도 있습니다. 스토리지 계정에 로그를 보관하는 경우 수명 주기 관리 정책을 정의하여 로그 컨테이너의 보존 정책을 관리할 수 있습니다.