원격 분석 라우터 배포에 내보내기 및 파이프라인 추가
참고 항목
- 원격 분석 라우터는 공개 미리 보기 상태이며 테스트 목적으로만 배포해야 합니다.
- 원격 분석 라우터가 공개 미리 보기 상태인 동안 향후 미리 보기 릴리스에는 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"는 메트릭 파이프라인의 유효한 이름입니다.
- Kubernetes 비밀을 통해
credentials
섹션에 클라이언트 및 CA 인증서를 제공합니다. - 필요한 설정(이름, 인증서, 브로커 및 인덱스)을 사용하여
exporters
섹션에서 새 내보내기를 선언합니다. 해당 형식("kafka:") 아래에 새 내보내기를 나열해야 합니다. - 사양의
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 내보내기를 두 번째 내보내기로 추가하는 방법을 보여 줍니다. 로그 파이프라인에 추가하여 이 두 번째 내보내기를 활성화합니다.
- Kubernetes 비밀을 통해
credentials
섹션에 클라이언트 및 CA 인증서를 제공합니다. - 필요한 설정(이름, 인증서, 엔드포인트 및 인덱스)을 사용하여
exporters
섹션 아래에 새 내보내기를 선언합니다. 해당 형식("Elasticsearch:") 아래에 새 내보내기를 나열해야 합니다. - 사양의
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 사용자 지정 리소스가 업데이트 상태로 전환되고 수집기 서비스가 다시 시작됩니다.