Azure Storage Account 로그 보기

Azure Storage Account의 Blob은 파일을 저장하는 용도 외에도 HTTP 또는 HTTPS로 컨텐츠를 전달해주는 역할을 한다. 이 경우 Static File에 대한 웹서버의 역할이 되는데 접속 로그를 보고 싶은 경우가 생긴다. Blob에서 HTTP를 통해서 밖으로 나가는 트래픽은 비용을 발생시키기 때문에 평소 보다 많은 트래픽이 스토리지를 통해 발생 했다면 내용을 봐야 한다.

Azure Storage Account를 만들면 아래 그림과 같이 기본 설정으로 몇몇 매트릭이 선택되어 있다.

storage diagnostics config

이 설정으로 인해 Storage Account에는 몇개의 Table이 생긴다. Microsoft Azure Storage Explorer를 사용하여 열어보면 $MetricsHourPrimaryTransactionsBlob 등의 테이블이 보인다. 이 테이블을 열어보면 내용을 시간을 기준으로 조회할 수 있다. 그리고 시스템요청인지 사용자 요청인지? 과금이 되는 요청인지? 등의 정보를 볼 수 있다.

storage account log

이 내용이 불충분하고 더 자세한 Request/Response 내용을 보고 싶다면 Diagnostics 설정에서 Blob logs 를 켜놔야 한다. 그럼 Blob에 $log 라는 컨테이너가 생기고 그 안에 Request 별로 로그가 파일로 생성된다. 이 로그를 모아서 분석하면 어떤 일이 벌어졌는지 알 수 있다.

Request 하나의 로그 샘플은 아래와 같다. 세미콜론을 Delimiter 로 엑셀에 Import 보면 내용을 잘 볼 수 있다.

1.0;2016-10-01T03:43:22.8197212Z;GetBlob;AnonymousSuccess;200;1707;141;anonymous;;zstorage;blob;"https://zstorage.blob.core.windows.net:443/contents/EC1ADD6DFF19AC26EEA4C3641038471C486A4637.mp3";"/zstorage/contents/EC1ADD6DFF19AC26EEA4C3641038471C486A4637.mp3";44fc2485-0001-003d-3e95-1b2132000000;0;167.220.232.21:16581;2009-09-19;355;0;316;4721873;0;;;"0x8D3E5A752CFE3B2";Monday, 26-Sep-16 00:52:00 GMT;;"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)";;