Log Analytics를 사용하여 Application Gateway 로그 검사
Application Gateway가 작동되면 로그를 사용하도록 설정하여 리소스에 대해 발생하는 이벤트를 검사할 수 있습니다. 예를 들어 Application Gateway 방화벽 로그는 WAF(웹 애플리케이션 방화벽)가 평가, 일치 및 차단하는 항목에 대한 인사이트를 제공합니다. Log Analytics를 사용하면 방화벽 로그 내의 데이터를 검사하여 훨씬 더 많은 인사이트를 제공할 수 있습니다. 로그 쿼리에 대한 자세한 내용은 Azure Monitor의 로그 쿼리 개요를 참조하세요.
이 문서에서는 WAF(웹 애플리케이션 방화벽) 로그를 살펴봅니다. 비슷한 방식으로 다른 Application Gateway 로그를 설정할 수 있습니다.
필수 조건
- 활성 구독이 있는 Azure 계정이 필요합니다. 아직 계정이 없다면 무료로 계정을 만들 수 있습니다.
- Azure Application Gateway WAK SKU. 자세한 내용은 Azure Application Gateway의 Azure Web Application Firewall을 참조하세요.
- Log Analytics 작업 영역 Log Analytics 작업 영역을 만드는 방법에 대한 자세한 내용은 Azure Portal에서 Log Analytics 작업 영역 만들기를 참조하세요.
로그 보내기
방화벽 로그를 Log Analytics로 내보내려면 Application Gateway에 대한 진단 로그를 참조하세요. Log Analytics 작업 영역에 방화벽 로그가 있으면 데이터를 보고, 쿼리를 작성하고, 시각화를 만들어 포털 대시보드에 추가할 수 있습니다.
예제를 사용하여 데이터 검색하기
AzureDiagnostics 테이블을 사용하는 경우 다음 쿼리를 실행하여 방화벽 로그에서 원시 데이터를 볼 수 있습니다.
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.NETWORK" and Category == "ApplicationGatewayFirewallLog"
| limit 10
다음 쿼리와 비슷합니다.
Resource-specific 테이블을 사용하는 경우 다음 쿼리를 실행하여 방화벽 로그에서 원시 데이터를 볼 수 있습니다. Resource-specific 테이블에 대해 알아보려면 모니터링 데이터 참조를 방문하세요.
AGWFirewallLogs
| limit 10
여기에서 데이터를 드릴다운하고 그래프를 그리거나 시각화를 만들 수 있습니다. 다음은 사용할 수 있는 AzureDiagnostics 쿼리의 몇 가지 추가 예입니다.
IP별 일치/차단된 요청
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.NETWORK" and Category == "ApplicationGatewayFirewallLog"
| summarize count() by clientIp_s, bin(TimeGenerated, 1m)
| render timechart
URI별 일치/차단된 요청
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.NETWORK" and Category == "ApplicationGatewayFirewallLog"
| summarize count() by requestUri_s, bin(TimeGenerated, 1m)
| render timechart
상위 일치 규칙
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.NETWORK" and Category == "ApplicationGatewayFirewallLog"
| summarize count() by ruleId_s, bin(TimeGenerated, 1m)
| where count_ > 10
| render timechart
상위 5개 일치 규칙 그룹
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.NETWORK" and Category == "ApplicationGatewayFirewallLog"
| summarize Count=count() by details_file_s, action_s
| top 5 by Count desc
| render piechart
대시보드에 추가
쿼리를 만든 후 대시보드에 추가할 수 있습니다. Log Analytics 작업 영역의 오른쪽 위에서 대시보드에 고정을 선택합니다. 예제 대시보드에 고정된 이전 4개의 쿼리를 사용하여 해당 데이터를 한눈에 볼 수 있습니다.