Log Analytics 에이전트를 사용하여 IIS 로그 수집
IIS(인터넷 정보 서비스)는 Log Analytics 에이전트에서 수집하고 Azure Monitor 로그로 저장할 수 있는 로그 파일에 사용자 활동을 저장합니다.
Important
이 문서에서는 2024년 8월 31일부로 사용되지 않는 Log Analytics 에이전트를 사용한 IIS 로그 수집에 대해 설명합니다. Log Analytics 에이전트를 사용하여 Azure Monitor로 데이터를 수집하는 경우 지금 바로 Azure Monitor 에이전트로 마이그레이션하세요. Azure Monitor 에이전트를 사용하여 IIS 로그를 수집하는 방법에 대한 자세한 내용은 Azure Monitor 에이전트를 사용하여 텍스트 로그 수집(미리 보기)을 참조하세요.
IIS 로그 구성
Azure Monitor는 IIS에서 생성된 로그 파일의 항목을 수집하므로 로깅에 대해 IIS를 구성해야 합니다.
Azure Monitor는 W3C 형식으로 저장된 IIS 로그 파일만 지원하며 사용자 지정 필드 또는 IIS 고급 로깅을 지원하지 않습니다. NCSA 또는 IIS 원시 형식의 로그는 수집하지 않습니다.
Log Analytics 에이전트의 에이전트 구성 메뉴에서 Azure Monitor의 IIS 로그를 구성합니다. W3C 형식 IIS 로그 파일 수집을 선택하는 것 외에는 구성이 필요하지 않습니다.
데이터 수집
Azure Monitor는 로그 타임스탬프가 변경될 때마다 각 에이전트에서 IIS 로그 항목을 수집합니다. 5분마다 로그를 읽습니다. 어떤 이유로 새 파일이 생성될 때 IIS가 롤오버 시간 전에 타임스탬프를 업데이트하지 않으면 새 파일이 생성된 후에 항목이 수집됩니다.
새 파일 만들기 빈도는 IIS 사이트의 로그 파일 롤오버 일정 설정에 의해 제어됩니다. 설정은 기본적으로 하루에 한 번입니다. 시간별로 설정되어 있는 경우 Azure Monitor는 1시간마다 로그를 수집합니다. 일별로 설정되어 있는 경우 Azure Monitor는 24시간마다 로그를 수집합니다.
Important
로그 파일 롤오버 일정을 매시간으로 설정하는 것이 좋습니다. 매일로 설정하면 하루에 한 번만 수집되므로 데이터가 급증할 수 있습니다.
IIS 로그 레코드 속성
IIS 로그 레코드에는 W3CIISLog 형식이 있으며 다음 표에 표시된 속성이 있습니다.
속성 | 설명 |
---|---|
컴퓨터 | 이벤트가 수집된 컴퓨터의 이름입니다. |
cIP | 클라이언트의 IP 주소입니다. |
csMethod | GET 또는 POST와 같은 요청 메서드입니다. |
csReferer | 사용자가 현재 사이트로 이동하는 데 사용된 링크가 있던 사이트입니다. |
csUserAgent | 클라이언트의 브라우저 유형입니다. |
csUserName | 서버에 액세스한 인증된 사용자의 이름입니다. 익명 사용자는 하이픈으로 표시됩니다. |
csUriStem | 웹페이지와 같은 요청 대상입니다. |
csUriQuery | 클라이언트가 수행하려고 한 쿼리입니다(있는 경우). |
ManagementGroupName | Operations Manager 에이전트의 관리 그룹 이름. 다른 에이전트의 경우 이 이름은 AOI-<작업 영역 ID>입니다. |
RemoteIPCountry | 클라이언트 IP 주소의 국가/지역입니다. |
RemoteIPLatitude | 클라이언트 IP 주소의 위도입니다. |
RemoteIPLongitude | 클라이언트 IP 주소의 경도입니다. |
scStatus | HTTP 상태 코드입니다. |
scSubStatus | 하위 상태 오류 코드입니다. |
scWin32Status | Windows 상태 코드입니다. |
sIP | 웹 서버의 IP 주소입니다. |
SourceSystem | OpsMgr. |
sPort | 클라이언트가 연결된 서버의 포트입니다. |
sSiteName | IIS 사이트의 이름입니다. |
TimeGenerated | 항목이 로깅된 날짜 및 시간입니다. |
TimeTaken | 요청을 처리할 시간의 길이(밀리초)입니다. |
csHost | 호스트 이름. |
csBytes | 서버에서 받은 바이트 수입니다. |
IIS 로그를 사용한 로그 쿼리
IIS 로그 레코드를 쿼리하는 로그 쿼리의 다양한 예가 다음 표에 나와 있습니다.
쿼리 | 설명 |
---|---|
W3CIISLog | 모든 IIS 로그 레코드 |
W3CIISLog | where scStatus==500 | 반환 상태가 500인 모든 IIS 로그 레코드입니다. |
W3CIISLog | summarize count() by cIP | 클라이언트 IP 주소별 IIS 로그 항목 수 |
W3CIISLog | where csHost=="www.contoso.com" | summarize count() by csUriStem | 호스트 www.contoso.com의 URL별 IIS 로그 항목 수 |
W3CIISLog | summarize sum(csBytes) by Computer | take 500000 | 각 IIS 컴퓨터에서 받은 총 바이트 수 |