다음을 통해 공유


Log Analytics 에이전트를 사용하여 IIS 로그 수집

IIS(인터넷 정보 서비스)는 Log Analytics 에이전트에서 수집하고 Azure Monitor 로그로 저장할 수 있는 로그 파일에 사용자 활동을 저장합니다.

IIS 로그를 보여 주는 다이어그램.

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 컴퓨터에서 받은 총 바이트 수

다음 단계

  • 분석을 위해 다른 데이터 원본을 수집하도록 Azure Monitor를 구성합니다.
  • 데이터 원본 및 솔루션에서 수집한 데이터를 분석하는 로그 쿼리에 대해 알아봅니다.