Azure Web App의 이벤트 로그를 확인하는 방법
Azure 환경이 꾸준히 바뀌다 보니 도대체 ^^; 일관성이 없습니다. 어떤 검색에 보면, PowerShell에서 Get-WinEvent를 하면 된다고 하는데 실제로 해보면 권한 오류가 발생합니다.
PS D:\home> Get-WinEvent @{logname='application','Application'}
Get-WinEvent : Attempted to perform an unauthorized operation.
Get-WinEvent @{logname='application','Application'}
PS D:\home> At line:1 char:1
+ Get-WinEvent @{logname='application','Application'}
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Get-WinEvent], UnauthorizedAccessException
+ FullyQualifiedErrorId : System.UnauthorizedAccessException,Microsoft.PowerShell.Commands.GetWinEventCommand
웹 앱 확장으로도 있다는데,
Azure Website SiteExtension to view EventLogs
; https://docs.microsoft.com/en-us/archive/blogs/puneetgupta/azure-website-siteextension-to-view-eventlogs
이젠 없어졌습니다. 휴~~~ 바뀌는 거 찾아다니는 것만 해도 피곤하군요. ^^;
그냥 속 편하게 Kudu로 접속해 다음의 경로에 있는 이벤트 로그 파일을 보기로 했습니다.
D:\home\Logfiles\eventlog.xml
Kudu의 Shell 화면에서 다운로드도 가능하므로 나쁘지 않습니다. 또는, 이벤트 로그를 앱 확장의 한 경로를 통해서 접근하는 것도 가능합니다. 가령 여러분의 App Service 이름이 "testapp"이라면 다음과 같이 접근해 이벤트 로그를 볼 수 있습니다.
형식: https://[app service name].scm.azurewebsites.net/api/vfs/LogFiles/eventlog.xml
예) https://testapp.scm.azurewebsites.net/api/vfs/LogFiles/eventlog.xml
이벤트 로그뿐만 아니라, "웹 앱 확장"에 대한 로그 파일도 다음의 경로로 가져올 수 있습니다.
형식: https://[app service name].scm.azurewebsites.net/api/logstream
예) https://testapp.scm.azurewebsites.net/api/logstream
[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]