다음을 통해 공유


원격 분석 라우터 배포에 내보내기 및 파이프라인 추가

참고 항목

  • 원격 분석 라우터는 공개 미리 보기 상태이며 테스트 목적으로만 배포해야 합니다.
  • 원격 분석 라우터가 공개 미리 보기 상태인 동안 향후 미리 보기 릴리스에는 CRD 사양, CLI 명령 및/또는 원격 분석 라우터 메시지에 대한 변경 내용이 포함될 수 있습니다.
  • 현재 미리 보기는 Arc 원격 분석 라우터가 사용하도록 설정된 상태로 배포된 데이터 컨트롤러의 현재 위치 업그레이드를 지원하지 않습니다. 향후 릴리스에서 데이터 컨트롤러를 설치하거나 업그레이드하려면 데이터 컨트롤러를 제거한 다음 다시 설치해야 합니다.

내보내기 및 파이프라인이란?

내보내기 및 파이프라인은 원격 분석 라우터의 두 가지 주요 구성 요소입니다. 내보내기는 Kafka와 같은 대상 시스템으로 데이터를 보내는 방법을 설명합니다. 내보내기를 만들 때 해당 형식의 원격 분석 데이터를 해당 대상으로 라우팅하기 위해 내보내기를 파이프라인과 연결합니다. 각 파이프라인에 대해 여러 내보내기를 가질 수 있습니다.

이 문서에서는 모니터링 원격 분석 데이터를 지원되는 자체 내보내기로 라우팅하도록 자체 내보내기 및 파이프라인을 설정하는 방법의 예를 제공합니다.

지원되는 내보내기

내보내기 지원되는 파이프라인 형식
Kafka 로그, 메트릭
Elasticsearch 로그

구성

모든 구성은 원격 분석 라우터의 사용자 지정 리소스 사양을 통해 지정되며 내보내기 및 파이프라인 구성을 지원합니다.

Exporters

공개 미리 보기의 경우 내보내기는 부분적으로 구성 가능하며 다음 솔루션을 지원합니다.

내보내기 지원되는 원격 분석 유형
Kafka 로그, 메트릭
Elasticsearch 로그

다음 속성은 현재 공개 미리 보기 중에 구성할 수 있습니다.

일반 내보내기 설정

설정 설명
certificateName 모니터링 솔루션으로 내보내기 위한 클라이언트 인증서
caCertificateName 내보내기에 대한 클러스터의 인증 기관 또는 고객이 제공한 인증서

Kafka 내보내기 설정

설정 설명
토픽 내보내는 토픽의 이름
brokers 연결할 브로커 목록
encoding 원격 분석에 대한 인코딩: otlp_json 또는 otlp_proto

Elasticsearch 내보내기 설정

설정 설명
인덱스 이 설정은 이벤트를 게시할 인덱스 또는 데이터 스트림 이름의 이름일 수 있습니다.
endpoint 내보낼 Elasticsearch의 엔드포인트

Pipelines

원격 분석 라우터는 로그 및 메트릭 파이프라인을 지원합니다. 이러한 파이프라인은 Arc 원격 분석 라우터의 사용자 지정 리소스 사양에 공개되며, 수정 작업에 사용할 수 있습니다.

원격 분석 라우터에서 마지막 파이프라인을 제거할 수 없습니다. 마지막 파이프라인을 제거하는 yaml 파일을 적용하면 서비스에서 업데이트를 거부합니다.

파이프라인 설정

설정 설명
로그 새 로그 파이프라인만 선언할 수 있음
메트릭 새 메트릭 파이프라인만 선언할 수 있음
exporters 내보내기 목록입니다. 여러 개의 동일한 형식일 수 있음

자격 증명

자격 증명 설정

설정 설명
certificateName 인증서 이름은 내보내기 선언에 명시된 인증서 이름과 일치해야 합니다.
secretName Kubernetes를 통해 제공되는 비밀의 이름
secretNamespace Kubernetes를 통해 제공되는 비밀이 있는 네임스페이스

TelemetryRouter 사양 예

apiVersion: arcdata.microsoft.com/v1beta4
kind: TelemetryRouter
metadata:
  name: arc-telemetry-router
  namespace: <namespace>
spec:
  credentials:
    certificates:
    - certificateName: arcdata-elasticsearch-exporter
    - certificateName: cluster-ca-certificate
  exporters:
    elasticsearch:
    - caCertificateName: cluster-ca-certificate
      certificateName: arcdata-elasticsearch-exporter
      endpoint: https://logsdb-svc:9200
      index: logstash-otel
      name: arcdata
  pipelines:
    logs:
      exporters:
      - elasticsearch/arcdata

예 1: 메트릭 파이프라인에 대한 Kafka 내보내기 추가

메트릭 데이터를 고유한 Kafka 인스턴스로 보낼 수 있는 메트릭 파이프라인에 대한 Kafka 내보내기 만들기를 테스트할 수 있습니다. 메트릭 파이프라인의 이름에 kafka/ 접두사를 붙여야 합니다. 각 원격 분석 유형에 대해 하나의 명명되지 않은 인스턴스를 가질 수 있습니다. 예를 들어, "kafka"는 메트릭 파이프라인의 유효한 이름입니다.

  1. Kubernetes 비밀을 통해 credentials 섹션에 클라이언트 및 CA 인증서를 제공합니다.
  2. 필요한 설정(이름, 인증서, 브로커 및 인덱스)을 사용하여 exporters 섹션에서 새 내보내기를 선언합니다. 해당 형식("kafka:") 아래에 새 내보내기를 나열해야 합니다.
  3. 사양의 pipelines 섹션에 내보내기를 메트릭 파이프라인으로 나열합니다. 내보내기 이름에는 내보내기 형식이 접두사로 추가되어야 합니다. 예를 들어 kafka/myMetrics

이 예에서는 Kafka 인스턴스로 라우팅하는 단일 내보내기(kafka/myMetrics)가 있는 "metrics"라는 메트릭 파이프라인을 추가했습니다.

arc-telemetry-router.yaml

apiVersion: arcdata.microsoft.com/v1beta4
kind: TelemetryRouter
metadata:
  name: arc-telemetry-router
  namespace: <namespace>
spec:
  credentials:
    certificates:
    # Step 1. Provide your client and ca certificates through Kubernetes secrets
    # where the name of the secret and its namespace are specified.
    - certificateName: <kafka-client-certificate-name>
      secretName: <name_of_secret>
      secretNamespace: <namespace_with_secret>
    - certificateName: <ca-certificate-name>
      secretName: <name_of_secret>
      secretNamespace: <namespace_with_secret>
  exporters:
    kafka:
    # Step 2. Declare your Kafka exporter with the needed settings 
    # (name, certificates, endpoint, and index to export to)
    - name: myMetrics
      # Provide your client and CA certificate names
      # for the exporter as well as any additional settings needed
      caCertificateName: <ca-certificate-name>
      certificateName: <kafka-client-certificate-name>
      broker: <kafka_broker>
      # Index can be the name of an index or datastream name to publish events to
      index: <kafka_index>
  pipelines:
    metrics:
      exporters:
      # Step 3. Assign your kafka exporter to the list
      # of exporters for the metrics pipeline.
      - kafka/myMetrics
kubectl apply -f arc-telemetry-router.yaml -n <namespace>

Kafka 인스턴스로 내보내는 메트릭 파이프라인을 추가했습니다. yaml 파일에 변경 내용을 적용하면 TelemetryRouter 사용자 지정 리소스가 업데이트 상태로 전환되고 수집기 서비스가 다시 시작됩니다.

예 2: 로그 파이프라인을 위한 Elasticsearch 내보내기 추가

원격 분석 라우터 배포는 더 많은 내보내기를 구성하여 여러 대상으로 내보낼 수 있습니다. 지정된 원격 분석 라우터 배포에서 여러 형식의 내보내기가 지원됩니다. 이 예는 Elasticsearch 내보내기를 두 번째 내보내기로 추가하는 방법을 보여 줍니다. 로그 파이프라인에 추가하여 이 두 번째 내보내기를 활성화합니다.

  1. Kubernetes 비밀을 통해 credentials 섹션에 클라이언트 및 CA 인증서를 제공합니다.
  2. 필요한 설정(이름, 인증서, 엔드포인트 및 인덱스)을 사용하여 exporters 섹션 아래에 새 내보내기를 선언합니다. 해당 형식("Elasticsearch:") 아래에 새 내보내기를 나열해야 합니다.
  3. 사양의 pipelines 섹션에 내보내기를 로그 파이프라인으로 나열합니다. 내보내기 이름에는 내보내기 형식이 접두사로 추가되어야 합니다. 예를 들어 elasticsearch/myLogs

이 예는 Elasticsearch 내보내기(elasticsearch/myLogs)에 대한 로그 파이프라인을 추가하여 이전 예를 기반으로 합니다. 예의 마지막에는 각 내보내기가 다른 파이프라인에 추가된 두 개의 내보내기가 있습니다.

arc-telemetry-router.yaml

apiVersion: arcdata.microsoft.com/v1beta4
kind: TelemetryRouter
metadata:
  name: arc-telemetry-router
  namespace: <namespace>
spec:
  credentials:
    certificates:
    # Step 1. Provide your client and ca certificates through Kubernetes secrets
    # where the name of the secret and its namespace are specified.
    - certificateName: <elasticsearch-client-certificate-name>
      secretName: <name_of_secret>
      secretNamespace: <namespace_with_secret>
    - certificateName: <kafka-client-certificate-name>
      secretName: <name_of_secret>
      secretNamespace: <namespace_with_secret>
    - certificateName: <ca-certificate-name>
      secretName: <name_of_secret>
      secretNamespace: <namespace_with_secret>
  exporters:
    Elasticsearch:
    # Step 2. Declare your Elasticsearch exporter with the needed settings 
    # (certificates, endpoint, and index to export to)
    - name: myLogs
      # Provide your client and CA certificate names
      # for the exporter as well as any additional settings needed
      caCertificateName: <ca-certificate-name>
      certificateName: <elasticsearch-client-certificate-name>
      endpoint: <elasticsearch_endpoint>
      # Index can be the name of an index or datastream name to publish events to
      index: <elasticsearch_index>
    kafka:
    - name: myMetrics
      caCertificateName: <ca-certificate-name>
      certificateName: <kafka-client-certificate-name>
      broker: <kafka_broker>
      index: <kafka_index>
  pipelines:
    logs:
      exporters:
        # Step 3. Add your Elasticsearch exporter to 
        # the exporters list of a logs pipeline.
      - elasticsearch/myLogs
    metrics:
      exporters:
      - kafka/myMetrics
kubectl apply -f arc-telemetry-router.yaml -n <namespace>

이제 메트릭 및 로그 파이프라인에 추가된 Kafka 및 Elasticsearch 내보내기가 있습니다. yaml 파일에 변경 내용을 적용하면 TelemetryRouter 사용자 지정 리소스가 업데이트 상태로 전환되고 수집기 서비스가 다시 시작됩니다.