다음을 통해 공유


Edge에서 Azure Monitor 파이프라인 구성

Azure Monitor 파이프라인은 Azure Monitor에 일관되고 중앙 집중화된 데이터 컬렉션을 제공하는 데이터 수집 파이프라인입니다. 에지 파이프라인을 사용하면 클라우드로 전송하기 전에 원격 분석 데이터를 대규모로 수집하고 라우팅할 수 있습니다. 데이터를 로컬로 캐시하고 연결이 복원되면 클라우드와 동기화할 수 있으며, 네트워크가 분할되어 데이터를 클라우드로 직접 보낼 수 없는 경우 원격 분석을 Azure Monitor로 라우팅할 수 있습니다. 이 문서에서는 사용자 환경의 에지에서 파이프라인을 사용하도록 설정하고 구성하는 방법을 설명합니다.

개요

에지의 Azure Monitor 파이프라인은 Arc 지원 Kubernetes 클러스터에 배포되고 OpenTelemetry Collector를 기반으로 활용하는 컨테이너화된 솔루션입니다. 다음 다이어그램은 에지의 파이프라인 구성 요소를 보여 줍니다. 하나 이상의 데이터 흐름은 클라이언트에서 들어오는 데이터를 수신 대기하고 파이프라인 확장은 필요한 경우 로컬 캐시를 사용하여 데이터를 클라우드로 전달합니다.

파이프라인 구성 파일은 에지의 파이프라인에 대한 데이터 흐름과 캐시 속성을 정의합니다. DCR은 클라우드 파이프라인으로 전송되는 데이터의 스키마, 데이터를 필터링하거나 수정하기 위한 변환, 데이터를 전송해야 하는 대상을 정의합니다. 파이프라인 구성에 대한 각 데이터 흐름 정의는 클라우드 파이프라인에서 해당 데이터를 처리할 DCR 및 해당 DCR 내의 스트림을 지정합니다.

에지의 Azure Monitor 파이프라인에 대한 데이터 흐름 개요 다이어그램.

참고 항목

Edge 파이프라인에서는 클라우드 파이프라인에 연결하기 위해 프라이빗 링크가 지원됩니다.

에지에서 Azure Monitor 파이프라인을 사용하려면 다음 구성 요소와 구성이 필요합니다. Azure Portal을 사용하여 에지에서 파이프라인을 구성하는 경우 이러한 각 구성 요소가 자동으로 만들어집니다. 다른 방법을 사용하려면 각각을 구성해야 합니다.

구성 요소 설명
Edge 파이프라인 컨트롤러 확장 파이프라인 기능을 지원하기 위해 Arc 지원 Kubernetes 클러스터에 확장이 추가되었습니다 - microsoft.monitor.pipelinecontroller.
Edge 파이프라인 컨트롤러 인스턴스 Arc 지원 Kubernetes 클러스터에서 실행되는 에지 파이프라인의 인스턴스입니다.
데이터 흐름 파이프라인 컨트롤러 인스턴스에서 실행되는 수신기와 내보내기 도구의 조합입니다. 수신기는 클라이언트 및 내보내기 도구의 데이터를 수락하여 해당 데이터를 Azure Monitor에 배달합니다.
파이프라인 구성 파이프라인 인스턴스의 데이터 흐름을 정의하는 구성 파일입니다. 각 데이터 흐름에는 수신자와 내보내기 도구가 포함됩니다. 수신 대기자는 들어오는 데이터를 수신 대기하고 내보내기 도구는 데이터를 대상으로 보냅니다.
DCE(데이터 수집 엔드포인트) 데이터가 Azure Monitor 파이프라인으로 전송되는 엔드포인트입니다. 파이프라인 구성에는 DCE의 URL에 대한 속성이 포함되어 있으므로 파이프라인 인스턴스는 데이터를 보낼 위치를 알 수 있습니다.
구성 설명
DCR(데이터 수집 규칙) 클라우드 파이프라인에서 데이터가 수신되는 방법과 전송되는 위치를 정의하는 구성 파일입니다. DCR에는 데이터가 대상으로 전송되기 전에 데이터를 필터링하거나 수정하는 변환도 포함될 수 있습니다.
파이프라인 구성 데이터 흐름 및 캐시를 포함하여 파이프라인 인스턴스에 대한 데이터 흐름을 정의하는 구성입니다.

지원되는 구성

지원되는 배포판
Edge에서의 Azure Monitor 파이프라인은 다음 Kubernetes 배포에서 지원됩니다.

  • Canonical
  • Azure용 클러스터 API 공급자
  • K3
  • Rancher Kubernetes Engine
  • VMware Tanzu Kubernetes 그리드

지원되는 위치
다음 Azure 지역에서는 에지의 Azure Monitor 파이프라인이 지원됩니다.

  • 미국 동부2
  • 미국 서부2
  • 서유럽

필수 조건

워크플로

Azure Portal을 사용하여 구성하기 위해 Azure Monitor 파이프라인에서 수행되는 다양한 단계를 자세히 이해할 필요는 없습니다. 다른 설치 방법을 사용하거나 데이터를 대상에 저장하기 전에 데이터 변환과 같은 고급 구성을 수행해야 하는 경우에는 이에 대한 더 자세한 이해가 필요할 수 있습니다.

다음 표와 다이어그램에서는 에지의 파이프라인을 사용하여 데이터를 수집하고 이를 Azure Monitor에 저장하기 위해 클라우드 파이프라인에 전달하는 프로세스의 자세한 단계와 구성 요소를 설명합니다. 또한 각 구성 요소에 필요한 구성도 표에 포함되어 있습니다.

단계 작업 지원 구성
1. 클라이언트는 에지 파이프라인 수신기로 데이터를 보냅니다. 클라이언트는 에지 파이프라인 수신기의 IP 및 포트로 구성되며 수신기 형식에 예상되는 형식으로 데이터를 보냅니다.
2. 수신자는 데이터를 내보내기 도구자에게 전달합니다. 수신기와 내보내기 도구는 동일한 파이프라인에 구성됩니다.
3. 내보내기 도구는 데이터를 클라우드 파이프라인으로 보내려고 합니다. 파이프라인 구성의 내보내기 도구에는 DCE의 URL, DCR의 고유 식별자, 데이터 처리 방법을 정의하는 DCR의 스트림이 포함됩니다.
3a. 내보내기 도구는 DCE에 연결할 수 없는 경우 로컬 캐시에 데이터를 저장합니다. 캐시에 대한 영구 볼륨과 로컬 캐시 구성은 파이프라인 구성에서 사용하도록 설정됩니다.

Azure Monitor 파이프라인을 사용하여 에지에서 데이터를 수집하는 단계와 구성 요소에 대한 자세한 다이어그램.

단계 작업 지원 구성
4. 클라우드 파이프라인은 수신 데이터를 수락합니다. DCR에는 에지의 파이프라인에서 들어오는 데이터의 스키마와 일치해야 하는 수신 스트림에 대한 스키마 정의가 포함되어 있습니다.
5. 클라우드 파이프라인은 데이터에 변환을 적용합니다. DCR에는 데이터가 대상으로 전송되기 전에 데이터를 필터링하거나 수정하는 변환이 포함되어 있습니다. 변환은 데이터를 필터링하고, 열을 제거 또는 추가하거나, 스키마를 완전히 변경할 수 있습니다. 변환 출력은 대상 테이블의 스키마와 일치해야 합니다.
6. 클라우드 파이프라인은 데이터를 대상으로 보냅니다. DCR에는 데이터가 저장될 Log Analytics 작업 영역 및 테이블을 지정하는 대상이 포함되어 있습니다.

Azure Monitor 클라우드 파이프라인을 사용하여 데이터 수집을 위한 단계 및 구성 요소에 대한 자세한 다이어그램.

분할된 네트워크

네트워크 구분는 소프트웨어 정의 경계를 사용하여 네트워크의 여러 부분에 대해 서로 다른 보안 태세를 만드는 모델입니다. 이 모델에는 인터넷이나 다른 네트워크 세그먼트에 연결할 수 없는 네트워크 세그먼트가 있을 수 있습니다. 에지의 파이프라인은 이러한 네트워크 세그먼트에서 데이터를 수집하여 클라우드 파이프라인으로 전송하는 데 사용할 수 있습니다.

Azure Monitor 파이프라인의 에지 계층 네트워크 다이어그램.

계층화된 네트워크 구성에서 Azure Monitor 파이프라인을 사용하려면 Arc 지원 Kubernetes 클러스터에 대한 허용 목록에 다음 항목을 추가해야 합니다. 수준 4 클러스터에서 Azure IoT 계층형 네트워크 관리 미리 보기 구성을 참조하세요.

- destinationUrl: "*.ingest.monitor.azure.com"
  destinationType: external
- destinationUrl: "login.windows.net"
  destinationType: external

Log Analytics 작업 영역에서 테이블 만들기

에지의 파이프라인에 대한 데이터 수집 프로세스를 구성하기 전에 Log Analytics 작업 영역에서 데이터를 수신할 테이블을 만들어야 합니다. 기본 제공 테이블은 현재 지원되지 않으므로 이는 사용자 지정 테이블이어야 합니다. 테이블의 스키마는 수신하는 데이터와 일치해야 하지만 수집 프로세스에는 들어오는 데이터를 수정할 수 있는 여러 단계가 있으므로 테이블 스키마가 수집하는 원본 데이터와 일치할 필요는 없습니다. Log Analytics 작업 영역의 테이블에 대한 유일한 요구 사항은 TimeGenerated 열이 있어야 한다는 것입니다.

테이블을 만드는 다양한 방법에 대한 자세한 내용은 Azure Monitor 로그에서 테이블 및 열 추가 또는 삭제를 참조하세요. 예를 들어, 아래 CLI 명령을 사용하여 Body, TimeGeneratedSeverityText라는 세 개의 열이 있는 테이블을 만듭니다.

az monitor log-analytics workspace table create --workspace-name my-workspace --resource-group my-resource-group  --name my-table_CL --columns TimeGenerated=datetime Body=string SeverityText=string

캐시 사용

일부 환경의 에지 디바이스는 네트워크 정체, 신호 방해, 중단 또는 모바일과 같은 다양한 요인으로 인해 일시적인 연결이 발생할 수 있습니다. 이러한 환경에서는 클러스터에 영구 볼륨을 만들어 에지에서 파이프라인을 구성하여 데이터를 캐시할 수 있습니다. 이에 대한 프로세스는 특정 환경에 따라 다르지만 구성은 다음 요구 사항을 충족해야 합니다.

  • 메타데이터 네임스페이스는 Azure Monitor 파이프라인의 지정된 인스턴스와 동일해야 합니다.
  • 액세스 모드는 ReadWriteMany를 지원해야 합니다.

적절한 네임스페이스에 볼륨이 만들어지면 아래 파이프라인 구성 파일의 매개 변수를 사용하여 구성합니다.

주의

Edge 파이프라인의 각 복제본은 해당 복제본과 관련된 영구 볼륨의 위치에 데이터를 저장합니다. 클러스터가 클라우드에서 연결이 끊긴 동안 복제본 수를 줄이면 연결이 복원될 때 해당 데이터가 백필되는 것을 방지할 수 있습니다.

데이터는 FIFO(선입선출) 방식을 통해 캐시에서 검색됩니다. 48시간이 지난 데이터는 취소됩니다.

파이프라인 사용 및 구성

사용하도록 설정 및 구성에 대한 현재 옵션은 아래 탭에 자세히 설명되어 있습니다.

Azure Portal을 사용하여 파이프라인 구성

Azure Portal을 사용하여 파이프라인을 사용하도록 설정하고 구성하면 선택 사항에 따라 필요한 모든 구성 요소가 만들어집니다. 이렇게 하면 각 구성 요소를 개별적으로 만드는 복잡성이 줄어들지만 구성 요소를 구성하려면 다른 방법을 사용해야 함

Azure Portal에서 다음 중 하나를 수행하여 Azure Monitor 파이프라인에 대한 설치 프로세스를 시작합니다.

  • Azure Monitor 파이프라인(미리 보기) 메뉴에서 만들기를 클릭합니다.
  • Arc 지원 Kubernetes 클러스터 메뉴에서 확장을 선택한 다음 Azure Monitor 파이프라인 확장(미리 보기) 확장을 추가합니다.

기본 탭에서는 클러스터에 확장과 파이프라인 인스턴스를 배포하기 위해 다음 정보를 입력하라는 메시지가 표시됩니다.

Azure Monitor 파이프라인 만들기 화면의 스크린샷.

이 탭의 설정은 다음 표에 설명되어 있습니다.

속성 설명
인스턴스 이름 Azure Monitor 파이프라인 인스턴스의 이름. 구독에 대해 고유해야 합니다.
구독 파이프라인 인스턴스를 만들기 위한 Azure 구독.
Resource group 파이프라인 인스턴스를 만들기 위한 리소스 그룹.
클러스터 이름 파이프라인을 설치할 Arc 지원 Kubernetes 클러스터를 선택합니다.
사용자 지정 위치 Arc 지원 Kubernetes 클러스터의 사용자 지정 위치입니다. 이는 클러스터에 대해 만들어질 사용자 지정 위치의 이름으로 자동으로 채워지거나 클러스터에서 다른 사용자 지정 위치를 선택할 수 있습니다.

데이터 흐름 탭을 사용하면 파이프라인 인스턴스에 대한 데이터 흐름을 만들고 편집할 수 있습니다. 각 데이터 흐름에는 다음 세부 정보가 포함됩니다.

데이터 흐름 추가 만들기 화면의 스크린샷.

이 탭의 설정은 다음 표에 설명되어 있습니다.

속성 설명
이름 데이터 흐름의 이름. 이 파이프라인에 대해 고유해야 합니다.
소스 형식 수집되는 데이터의 형식. 현재 지원되는 원본 유형은 다음과 같습니다.
- Syslog
- OTLP
포트 파이프라인이 수신 대기 데이터를 수신 대기하는 포트. 두 데이터 흐름이 동일한 포트를 사용하는 경우 둘 다 데이터를 수신하고 처리합니다.
Log Analytics 작업 영역 데이터를 보낼 Log Analytics 작업 영역.
Table Name 데이터를 보낼 Log Analytics 작업 영역의 테이블 이름.

구성 확인

클러스터에서 실행 중인 파이프라인 구성 요소 확인

Azure Portal에서 Kubernetes Service 메뉴로 이동하여 Arc 지원 Kubernetes 클러스터를 선택합니다. 서비스 및 수신을 선택하고 다음 서비스가 표시되는지 확인합니다.

  • <파이프라인 이름>-external-service
  • <파이프라인 이름>-service

에지에서 Azure Monitor 파이프라인을 지원하는 클러스터 구성 요소의 스크린샷.

<파이프라인 이름>-external-service 항목을 클릭하고 엔드포인트 열에서 IP 주소와 포트를 확인합니다. 이는 클라이언트가 데이터를 보낼 외부 IP 주소 및 포트입니다. 클라이언트에서 이 주소를 검색하려면 수신 엔드포인트 검색을 참조하세요.

하트비트 확인

파이프라인 인스턴스에 구성된 각 파이프라인은 1분마다 Log Analytics 작업 영역의 Heartbeat 테이블에 하트비트 레코드를 보냅니다. OSMajorVersion 열의 콘텐츠는 파이프라인 인스턴스 이름과 일치해야 합니다. 파이프라인 인스턴스에 작업 영역이 여러 개 있는 경우 구성된 첫 번째 작업 영역이 사용됩니다.

다음 예와 같이 로그 쿼리를 사용하여 하트비트 레코드를 쿼리합니다.

에지의 Azure Monitor 파이프라인에 대한 하트비트 레코드를 반환하는 로그 쿼리의 스크린샷.

클라이언트 구성

에지 파이프라인 확장과 인스턴스가 설치되면 파이프라인으로 데이터를 보내도록 클라이언트를 구성해야 합니다.

수신 엔드포인트 검색

각 클라이언트에 Azure Monitor 파이프라인 서비스의 외부 IP 주소가 있어야 합니다. 이 주소를 검색하려면 다음 명령을 사용합니다.

kubectl get services -n <namespace where azure monitor pipeline was installed>
  • 로그를 생성하는 애플리케이션이 클러스터 외부에 있는 경우 부하 분산 장치 형식과 함께 서비스 <파이프라인 이름>-service 또는 <파이프라인 이름>-external-serviceexternal-ip 값을 복사합니다.
  • 애플리케이션이 클러스터 내의 Pod에 있는 경우 cluster-ip 값을 복사합니다.

참고 항목

external-ip 필드가 보류 중으로 설정된 경우 클러스터 구성에 따라 이 수신에 대한 외부 IP를 수동으로 구성해야 합니다.

클라이언트 설명
syslog 파이프라인 엔드포인트와 Syslog 데이터 흐름의 포트로 데이터를 보내도록 Syslog 클라이언트를 업데이트합니다.
OTLP Azure Monitor 에지 파이프라인은 포트 4317에서 gRPC 기반 OTLP 엔드포인트를 노출합니다. 이 OTLP 엔드포인트로 보내도록 계측을 구성하는 것은 계측 라이브러리 자체에 따라 다릅니다. OpenTelemetry 설명서는 OTLP 엔드포인트 또는 수집기를 참조하세요. 환경 변수 방법은 OTLP 내보내기 도구 구성에 설명되어 있습니다.

데이터 확인

마지막 단계는 Log Analytics 작업 영역에서 데이터가 수신되었는지 확인하는 것입니다. Log Analytics 작업 영역에서 쿼리를 실행하여 테이블에서 데이터를 쿼리하면 이 확인을 수행할 수 있습니다.

Syslog 컬렉션을 반환하는 로그 쿼리 스크린샷.

다음 단계