다음을 통해 공유


로그 분석 컬렉션에 대한 SHIR(자체 호스팅 통합 런타임) 구성

적용 대상: Azure Data Factory Azure Synapse Analytics

기업용 올인원 분석 솔루션인 Microsoft Fabric의 Data Factory를 사용해 보세요. Microsoft Fabric은 데이터 이동부터 데이터 과학, 실시간 분석, 비즈니스 인텔리전스 및 보고에 이르기까지 모든 것을 다룹니다. 무료로 새 평가판을 시작하는 방법을 알아봅니다!

필수 조건

이 방법에는 사용 가능한 Log Analytics 작업 영역이 필요합니다. 특정 시나리오에 필요할 수 있으므로 Log Analytics 작업 영역의 작업 영역 ID 및 인증 키를 적어 두는 것이 좋습니다. 이 솔루션은 Log Analytics 작업 영역으로 전송되는 데이터를 증가시키고 전체 비용에 작은 영향을 줍니다. 데이터 양을 최소로 유지하는 방법에 대한 자세한 내용을 읽어 읽어보세요.

목표 및 시나리오

이벤트 및 성능 카운터 데이터를 Log Analytics 작업 영역에 중앙 집중화합니다. 먼저 SHIR을 호스트하는 가상 머신을 적절하게 계측해야 합니다. 아래의 두 가지 주요 시나리오 중에서 선택합니다.

온-프레미스 가상 머신 계측

Windows 컴퓨터에 Log Analytics 에이전트 설치 문서에서는 일반적으로 온-프레미스에서 호스트되는 가상 머신에 클라이언트를 설치하는 방법을 설명합니다. 물리적 서버 또는 고객 관리 하이퍼바이저에서 호스트되는 가상 머신일 수 있습니다. 필수 구성 요소 섹션에서 설명한 대로 Log Analytics 에이전트를 설치할 때 연결을 완료하려면 Log Analytics 작업 영역 ID 및 작업 영역 키를 제공해야 합니다.

Azure 가상 머신 계측

Azure 가상 머신 기반 SHIR을 계측하는 권장 방법은 VM 인사이트 사용 개요 문서에 설명된 대로 가상 머신 인사이트를 사용하는 것입니다. SHIR이 Azure 가상 머신에서 호스트되는 경우 Log Analytics 에이전트를 구성하는 방법에는 여러 가지가 있습니다. 모든 옵션은 Log Analytics 에이전트 개요 문서에 설명되어 있습니다.

이벤트 로그 및 성능 카운터 캡처 구성

이 단계에서는 이벤트 뷰어 로그와 성능 카운터를 Log Analytics로 보내도록 구성하는 방법을 강조 표시합니다. 아래에 설명된 단계는 에이전트 배포 방법에 관계없이 일반적입니다.

이벤트 뷰어 저널 선택

먼저 Azure Monitor에서 Log Analytics 에이전트를 사용하여 Windows 이벤트 로그 데이터 원본 수집 문서에 설명된 대로 SHIR과 관련된 이벤트 뷰어 저널을 수집해야 합니다.

인터페이스를 사용하여 이벤트 로그를 선택할 때 컴퓨터에 존재할 수 있는 모든 저널이 표시되지 않는 것이 정상입니다. 따라서 SHIR 모니터링에 필요한 두 저널은 이 목록에 표시되지 않습니다. 저널 이름을 로컬 가상 머신에 표시되는 그대로 입력하면 캡처되어 Log Analytics 작업 영역으로 전송됩니다.

구성해야 하는 이벤트 저널 이름은 다음과 같습니다.

  • 커넥터 – 통합 런타임
  • 통합 런타임

Screenshot of the selection of the SHIR relevant logs with errors and warnings checked.

Important

많은 SHIR 호스트가 배포되고 검색 수가 많은 경우 정보 수준을 선택된 상태로 두면 데이터 볼륨이 크게 증가합니다. 오류 및 경고만 유지하는 것이 좋습니다.

성능 카운터 선택

동일한 구성 창에서 Windows 성능 카운터를 클릭하여 개별 성능 카운터를 선택하여 로그 분석으로 보낼 수 있습니다.

Important

성능 카운터는 기본적으로 연속 데이터 스트림입니다. 따라서 데이터 컬렉션이 Azure Monitor/Log Analytics 배포의 총 비용에 미치는 영향을 고려하는 것이 중요합니다. 허용되는 데이터 수집 예산이 부여되고 일정한 데이터 수집이 허용되고 예산이 책정되지 않는 한 성능 카운터 수집은 성능 기준을 설정하기 위해 정의된 기간 동안만 구성되어야 합니다.

인터페이스에서 처음 구성할 때 제안된 카운터 집합이 권장됩니다. 수행하려는 성능 분석 유형에 적용되는 항목을 선택합니다. %CPU사용 가능한 메모리 는 일반적으로 모니터링되는 카운터이지만 네트워크 대역폭 사용량과 같은 다른 기능은 데이터 볼륨이 크고 대역폭 또는 실행 시간이 제한된 시나리오에서 유용할 수 있습니다.

Screenshot of the counter selection interface in the Azure portal.

Log Analytics에서 이벤트 및 성능 카운터 데이터 보기

Log Analytics에서 데이터를 쿼리하는 방법에 대한 이 자습서를 참조하세요. 원격 분석이 저장되는 두 테이블을 각각 Perf 및 Event라고 합니다. 다음 쿼리는 행 수를 확인하여 데이터가 유입되는지 확인합니다. 위에서 설명한 계측이 작동하는지 확인합니다.

샘플 KQL 쿼리

행 개수 확인

(
        Event 
        | extend TableName = "Event"
        | summarize count() by TableName
)     
| union
(     
        Perf
        | extend TableName = "Perf"
        | summarize count() by TableName
)

쿼리 이벤트

처음 10개의 이벤트 행 검색
Event
| take 10
메시지 심각도별로 이벤트 수 검색
Event
| summarize count() by EventLevelName
메시지 심각도별 개수의 원형 차트 렌더링
Event
| summarize count() by EventLevelName
| render piechart 
특정 텍스트 문자열을 사용하여 모든 오류 검색

여기서는 단어의 연결이 끊어진 모든 메시지를 검색합니다.

Event
| where RenderedDescription has "disconnected"
스키마를 모르고 키워드에 대한 다중 테이블 검색

검색 명령은 정보가 포함된 열을 모르는 경우에 유용합니다. 이 쿼리는 검색어를 포함하는 열이 하나 이상 있는 지정된 테이블의 모든 행을 반환합니다. 이 예제에서는 단어의 연결이 끊어졌습니다.

search in (Perf, Event) "disconnected"
하나의 특정 로그 저널에서 모든 이벤트 검색

이 예제에서는 커넥터 - 통합 런타임이라는 로그 저널로 쿼리 범위를 좁혀 보겠습니다.

Event 
| where EventLog == "Connectors - Integration Runtime"
시간 간격을 사용하여 쿼리 결과 제한

이 쿼리는 위와 동일한 쿼리를 사용하지만 결과를 2일 전 또는 더 최근에 발생한 쿼리로 제한합니다.

Event 
| where EventLog      == "Connectors - Integration Runtime"
  and   TimeGenerated >= ago(2d)

성능 카운터 데이터 쿼리

처음 10개의 성능 카운터 판독값 검색
Perf
| take 10
시간 제약 조건이 있는 특정 카운터 검색
Perf
| where     TimeGenerated >= ago(24h)
        and ObjectName    == "Network Adapter"
        and InstanceName  == "Mellanox ConnectX-4 Lx Virtual Ethernet Adapter"
        and CounterName   == "Bytes Received/sec"

성능 카운터는 본질적으로 계층적이므로 쿼리의 조건자가 필요한 특정 카운터만 선택할 수 있을 만큼 충분히 있어야 합니다.

지난 24시간 동안 30분 조각씩 범주화한 지정된 카운터에 대한 95번째 백분위수 검색

이 예제는 특정 네트워크 어댑터에 대한 모든 카운터입니다.

Perf
| where     TimeGenerated >= ago(24h)
        and ObjectName    == "Network Adapter"
        and InstanceName  == "Mellanox ConnectX-4 Lx Virtual Ethernet Adapter"
| project TimeGenerated, Computer, ObjectName, InstanceName, CounterName, CounterValue
| summarize percentile(CounterValue, 95) by bin(TimeGenerated, 30m), Computer, ObjectName, InstanceName, CounterName
코드 재사용을 위해 변수 사용

여기서는 개체 이름 및 카운터 이름을 변수로 설정하므로 나중에 이러한 선택을 변경하기 위해 KQL 쿼리 본문을 변경할 필요가 없습니다.

let pObjectName  = "Memory"; // Required to select the right counter
let pCounterName = "Available MBytes"; // Required to select the right counter
Perf
| where Type == "Perf" and ObjectName == pObjectName and CounterName == pCounterName
| project TimeGenerated, Computer, CounterName, CounterValue
| order by TimeGenerated asc 
| summarize Value=max(CounterValue) by CounterName, TimeStamps=TimeGenerated