Azure Monitor 에이전트를 사용하여 가상 머신에서 이벤트 및 성능 카운터 수집

이 문서에서는 Azure Monitor 에이전트를 사용하여 가상 머신에서 이벤트 및 성능 카운터를 수집하는 방법을 설명합니다.

필수 조건

이 절차를 완료하려면 다음이 필요합니다.

데이터 수집 규칙을 만듭니다.

여러 컴퓨터의 데이터를 다른 지역 또는 테넌트의 작업 영역을 포함하여 여러 Log Analytics 작업 영역으로 보내는 데이터 수집 규칙을 정의할 수 있습니다. Log Analytics 작업 영역과 동일한 지역에서 데이터 수집 규칙을 만듭니다. Windows 이벤트 및 Syslog 데이터를 Azure Monitor 로그로만 보낼 수 있습니다. 성능 카운터는 Azure Monitor 메트릭과 Azure Monitor 로그 모두에 보낼 수 있습니다.

참고 항목

현재 Microsoft.HybridCompute(Azure Arc 지원 서버) 리소스는 메트릭 탐색기(Azure Portal UX)에서 볼 수 없지만 메트릭 REST API(메트릭 네임스페이스 - 목록, 메트릭 정의 - 목록, 메트릭 - 목록)를 통해 가져올 수 있습니다.

참고 항목

테넌트 간에 데이터를 보내려면 먼저 Azure Lighthouse를 사용하도록 설정해야 합니다.

  1. 모니터 메뉴에서 데이터 수집 규칙을 선택합니다.

  2. 만들기를 선택하여 새 데이터 수집 규칙 및 연결을 만듭니다.

    데이터 수집 규칙 화면의 만들기 단추를 보여 주는 스크린샷.

  3. 규칙 이름을 입력하고 구독, 리소스 그룹, 지역플랫폼 유형을 지정합니다.

    • 지역은 DCR을 만들 위치를 지정합니다. 가상 머신 및 해당 연결은 테넌트의 모든 구독 또는 리소스 그룹에 있을 수 있습니다.
    • 플랫폼 유형은 이 규칙이 적용될 수 있는 리소스의 종류를 지정합니다. 사용자 지정 옵션은 Windows 및 Linux 유형 모두에 허용됩니다.

    데이터 수집 규칙 화면의 기본 탭을 보여 주는 스크린샷.

  4. 리소스 탭에서:

    1. + 리소스 추가를 선택하고 리소스를 데이터 수집 규칙에 연결합니다. 리소스는 가상 머신, Virtual Machine Scale Sets 및 서버용 Azure Arc일 수 있습니다. Azure Portal은 Azure Monitor 에이전트를 아직 설치하지 않은 리소스에 설치합니다.

      Important

      포털은 기존 사용자 할당 ID(있는 경우)와 함께 대상 리소스에서 시스템 할당 관리 ID를 사용하도록 설정합니다. 기존 애플리케이션에서 요청에 사용자가 할당한 ID를 지정하지 않으면 머신은 기본적으로 시스템이 할당한 ID를 대신 사용합니다.

      프라이빗 링크를 사용한 네트워크 격리가 필요한 경우 해당 리소스에 대해 동일한 지역의 기존 엔드포인트를 선택하거나 새 엔드포인트를 생성합니다.

    2. 데이터 수집 엔드포인트 사용을 선택합니다.

    3. 데이터 수집 규칙에 연결된 각 리소스에 대한 데이터 수집 엔드포인트를 선택합니다.

    데이터 수집 규칙 화면의 리소스 탭을 보여 주는 스크린샷.

  5. 수집 및 제공 탭에서 데이터 원본 추가를 선택하여 데이터 원본을 추가하고 대상을 설정합니다.

  6. 데이터 원본 유형을 선택합니다.

  7. 수집할 데이터를 선택합니다. 성능 카운터의 경우 미리 정의된 개체 집합과 샘플링 주기 중에서 선택할 수 있습니다. 이벤트의 경우 로그 세트 및 심각도 수준 중에서 선택할 수 있습니다.

    데이터 컬렉션 규칙에서 기본 성과 카운터를 선택하는 Azure Portal 양식을 보여 주는 스크린샷

  8. 현재 지원되는 데이터 원본이 아닌 로그 및 성능 카운터를 수집하거나 XPath 쿼리를 사용하여 이벤트를 필터링하려면 사용자 지정을 선택합니다. 그런 다음, 특정 값을 수집할 XPath를 지정할 수 있습니다. 예제는 샘플 DCR을 참조하세요.

    데이터 컬렉션 규칙에서 사용자 지정 성과 카운터를 선택하는 Azure Portal 양식을 보여 주는 스크린샷

  9. 대상 탭에서 데이터 원본에 대한 대상을 하나 이상 추가합니다. 같거나 다른 유형의 여러 대상을 선택할 수 있습니다. 예를 들어 멀티 호밍이라고도 하는 여러 Log Analytics 작업 영역을 선택할 수 있습니다.

    Windows 이벤트 및 Syslog 데이터 원본은 Azure Monitor 로그에만 보낼 수 있습니다. 성능 카운터는 Azure Monitor 메트릭과 Azure Monitor 로그 모두에 보낼 수 있습니다. 현재 하이브리드 컴퓨팅(Arc for Server) 리소스는 Azure Monitor 메트릭(미리 보기) 대상을 지원하지 않습니다 .

    데이터 컬렉션 규칙에서 데이터 원본을 추가하는 Azure Portal 양식을 보여 주는 스크린샷.

  10. 데이터 원본 추가를 선택한 다음, 검토 + 만들기를 선택하여 데이터 수집 규칙 및 가상 머신 세트와의 연결에 대한 세부 정보를 검토합니다.

  11. 데이터 수집 규칙을 만들려면 만들기를 선택합니다.

매개 변수 파일
{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "vmName": {
      "value": "my-azure-vm"
    },
    "associationName": {
      "value": "my-windows-vm-my-dcr"
    },
    "dataCollectionRuleId": {
      "value": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/my-resource-group/providers/microsoft.insights/datacollectionrules/my-dcr"
    }
   }
}

참고 항목

데이터 수집 규칙을 만든 후 데이터가 대상으로 전송되는 데 최대 5분이 걸릴 수 있습니다.

XPath 쿼리를 사용하여 이벤트 필터링

Log Analytics 작업 영역에서 수집하는 데이터에는 요금이 부과됩니다. 따라서 필요한 이벤트 데이터만 수집해야 합니다. Azure Portal의 기본 구성은 이벤트를 필터링하는 제한된 기능을 제공합니다.

Azure Monitor 비용을 줄이기 위한 전략은 비용 최적화 및 Azure Monitor를 참조하세요.

더 많은 필터를 지정하려면 사용자 지정 구성을 사용하고 필요하지 않은 이벤트를 필터링하는 XPath를 지정해야 합니다. XPath 항목은 폼 LogName!XPathQuery로 작성됩니다. 예를 들어 이벤트 ID가 1035 인 애플리케이션 이벤트 로그에서 이벤트만 반환하려고 할 수 있습니다. 이러한 이벤트에 대한 XPathQuery*[System[EventID=1035]]입니다. 애플리케이션 이벤트 로그에서 이벤트를 검색하려고 하므로 XPath는 Application!*[System[EventID=1035]]입니다.

Windows 이벤트 뷰어에서 XPath 쿼리 추출

Windows에서 스크린샷에 표시된 것처럼 이벤트 뷰어를 사용하여 XPath 쿼리를 추출할 수 있습니다.

5단계에서처럼 데이터 원본 추가 화면의 필드에 XPath 쿼리를 붙여 넣을 때 로그 유형 범주 뒤에 느낌표(!)를 추가해야 합니다.

Windows 이벤트 뷰어에서 XPath 쿼리를 만드는 단계를 보여 주는 스크린샷.

PowerShell cmdlet Get-WinEventFilterXPath 매개 변수와 함께 사용하여 먼저 컴퓨터에서 로컬로 XPath 쿼리의 유효성을 테스트할 수 있습니다. 자세한 내용은 Windows 에이전트 기반 연결 지침에 제공된 팁을 참조하세요. Get-WinEvent PowerShell cmdlet은 최대 23개의 식을 지원합니다. Azure Monitor 데이터 수집 규칙은 최대 20개를 지원합니다. 다음 스크립트는 예제를 보여 줍니다.

$XPath = '*[System[EventID=1035]]'
Get-WinEvent -LogName 'Application' -FilterXPath $XPath
  • 이전 cmdlet에서 -LogName 매개 변수의 값은 느낌표(!)까지 XPath 쿼리의 초기 부분입니다. XPath 쿼리의 나머지 부분은 $XPath 매개 변수로 들어갑니다.
  • 스크립트가 이벤트를 반환하는 경우 쿼리가 유효합니다.
  • “지정된 선택 조건과 일치하는 이벤트를 찾을 수 없다”는 메시지가 표시되는 경우 쿼리는 유효하지만 로컬 컴퓨터에 일치하는 이벤트가 없습니다.
  • "지정된 쿼리가 잘못되었습니다" 메시지를 받으면 쿼리 구문이 잘못된 것입니다.

사용자 지정 XPath를 사용하여 이벤트를 필터링하는 예제:

설명 XPath
이벤트 ID가 4648인 시스템 이벤트만 수집 System!*[System[EventID=4648]]
이벤트 ID가 4648이고 프로세스 이름이 consent.exe인 보안 로그 이벤트 수집 Security!*[System[(EventID=4648)]] and *[EventData[Data[@Name='ProcessName']='C:\Windows\System32\consent.exe']]
이벤트 ID가 6(드라이버 로드 됨)인 경우를 제외하고 시스템 이벤트 로그에서 모든 중요, 오류, 경고 및 정보 이벤트를 수집 System!*[System[(Level=1 or Level=2 or Level=3) and (EventID != 6)]]
이벤트 ID 4624(로그온 성공)를 제외한 모든 성공 및 실패 보안 이벤트를 수집 Security!*[System[(band(Keywords,13510798882111488)) and (EventID != 4624)]]

참고 항목

Windows 이벤트 로그에서 지원되는 XPath의 제한 사항 목록은 XPath 1.0 제한 사항을 참조하세요.
예를 들어 쿼리 내에서 "position", "Band" 및 "timediff" 함수를 사용할 수 있지만 "starts-with" 및 "contains"와 같은 다른 함수는 현재 지원되지 않습니다.

자주 묻는 질문

이 섹션에서는 일반적인 질문에 대한 답변을 제공합니다.

Azure Monitor 에이전트를 사용하여 Windows 보안 이벤트를 수집하려면 어떻게 해야 하나요?

새 에이전트를 사용하여 보안 이벤트를 수집하는 방법에는 두 가지가 있습니다. 수집한 이벤트는 Log Analytics 작업 영역으로 보냅니다.

  • Azure Monitor 에이전트를 사용하여 기본적으로 다른 Windows 이벤트와 동일한 보안 이벤트를 수집할 수 있습니다. 이러한 이벤트는 Log Analytics 작업 영역에 있는 'Event' 테이블로 이동됩니다.
  • 작업 영역에서 Microsoft Sentinel을 사용하도록 설정한 경우 보안 이벤트는 Azure Monitor 에이전트를 통해 SecurityEvent 테이블로 흐릅니다(Log Analytics 에이전트를 사용하는 경우와 동일함). 이 시나리오에서는 항상 솔루션을 먼저 사용하도록 설정해야 합니다.

동일한 컴퓨터에서 Azure Monitor 에이전트와 Log Analytics 에이전트를 사용하는 경우 이벤트를 복제하게 되나요?

두 에이전트에서 동일한 이벤트를 수집하는 경우 중복이 발생합니다. 이 중복은 데이터 수집 규칙에 의해 수집된 작업 영역 구성 데이터에서 중복 데이터를 수집하는 레거시 에이전트일 수 있습니다. 또는 레거시 에이전트를 사용하여 보안 이벤트를 수집하고 Microsoft Sentinel의 Azure Monitor 에이전트 커넥터를 사용하여 Windows 보안 이벤트를 사용하도록 설정할 수 있습니다.

중복 이벤트는 한 에이전트에서 다른 에이전트로 전환하는 동안으로만 제한해야 합니다. 데이터 수집 규칙을 완전히 테스트하고 해당 데이터 수집을 확인한 후에는 작업 영역에 대한 수집을 사용하지 않도록 설정하고 Microsoft Monitoring Agent 데이터 커넥터의 연결을 끊습니다.

Azure Monitor 에이전트가 Xpath 쿼리 및 성능 카운터 지정 이외의 보다 세분화된 이벤트 필터링 옵션을 제공하나요?

Linux의 Syslog 이벤트에 대해 각 기능에 대한 시설 및 로그 수준을 선택할 수 있습니다.

동일한 이벤트 ID를 포함하고 동일한 VM에 연결하는 데이터 수집 규칙을 만들면 이벤트가 중복되나요?

예. 중복을 방지하려면 데이터 수집 규칙에서 선택한 이벤트에 중복 이벤트가 포함되어 있지 않은지 확인하세요.

다음 단계