Elastic Agent는 로그, 메트릭, 트레이스를 수집할 수 있는 통합 에이전트를 제공합니다. 이 에이전트는 Elastic Fleet Server를 통해 중앙에서 관리할 수 있으며, Elasticsearch, Logstash, Kafka 또는 Redis로 출력할 수 있습니다.
Elastic은 또한 OpenTelemetry Collector - EDOT의 배포판도 제공합니다. 현재는 Fleet Server로 오케스트레이션할 수 없지만, ClickStack으로 마이그레이션하는 경우 더 유연하고 개방적인 경로를 제공합니다.
가장 적합한 마이그레이션 경로는 현재 사용 중인 에이전트에 따라 달라집니다. 이어지는 섹션에서는 주요 에이전트 유형별 마이그레이션 옵션을 설명합니다. 목표는 전환 과정의 부담을 최소화하고, 가능하면 전환 중에도 기존 에이전트를 계속 사용할 수 있도록 하는 것입니다.
가능하면 모든 로그, 메트릭, 트레이스 수집에 대해 OpenTelemetry (OTel) Collector로 마이그레이션하고, 에지의 에이전트 역할로 collector를 배포하는 것을 권장합니다. 이렇게 하면 데이터를 가장 효율적으로 전송할 수 있으며, 아키텍처 복잡성과 데이터 변환을 줄일 수 있습니다.
왜 OpenTelemetry Collector를 사용해야 하나요?OpenTelemetry Collector는 관측성 데이터 수집을 위한 지속 가능하고 벤더 중립적인 솔루션을 제공합니다. 일부 조직에서는 수천 개, 많게는 수만 개의 Elastic 에이전트를 운영하고 있다는 점을 잘 알고 있습니다. 이러한 사용자에게는 기존 에이전트 인프라와의 호환성 유지가 매우 중요할 수 있습니다. 이 문서는 이러한 요구를 지원하는 동시에, 팀이 OpenTelemetry 기반 수집으로 점진적으로 전환할 수 있도록 돕기 위해 작성되었습니다.
모든 데이터는 로그, 메트릭, 트레이스, 세션 데이터의 주 진입점 역할을 하는 OpenTelemetry (OTel) collector 인스턴스를 통해 ClickStack으로 수집됩니다. 이 인스턴스에는 ClickStack 배포판의 공식 collector를 사용하는 것을 권장합니다. 단, ClickStack 배포 모델에 이미 포함된 경우는 예외입니다.사용자는 language SDKs 또는 인프라 메트릭과 로그를 수집하는 데이터 수집 에이전트(예: 에이전트 역할의 OTel collector, Fluentd, Vector 등의 기술)를 통해 이 collector로 데이터를 전송합니다. 관리형 OpenTelemetry pipeline을 원하는 팀을 위해 Bindplane은 ClickStack 네이티브 대상을 갖춘 OpenTelemetry 네이티브 솔루션을 제공하여 텔레메트리 수집, 처리, 라우팅을 간소화합니다.모든 에이전트 마이그레이션 단계에서 이 collector를 사용할 수 있다고 가정합니다.
대규모 Beat 배포를 운영 중인 경우 ClickStack로 마이그레이션하면서 기존 배포를 그대로 유지하고자 할 수 있습니다.현재 이 옵션은 Filebeat에서만 테스트되었으므로 Logs에만 적합합니다.Beats 에이전트는 Elastic Common Schema (ECS)를 사용하며, 이 스키마는 현재 ClickStack에서 사용하는 OpenTelemetry 사양에 병합되는 과정에 있습니다. 하지만 이 스키마들은 여전히 상당한 차이가 있으므로, 현재는 ClickStack에 수집하기 전에 ECS 포맷의 이벤트를 OpenTelemetry 포맷으로 변환해야 합니다.이 변환에는 Vector를 사용하는 것을 권장합니다. Vector는 Vector Remap Language(VRL)라는 강력한 변환 언어를 지원하는 가볍고 고성능의 관측성 데이터 pipeline입니다.Filebeat 에이전트가 Beats에서 지원하는 출력 대상인 Kafka로 데이터를 전송하도록 구성되어 있다면, Vector는 Kafka에서 해당 이벤트를 가져와 VRL로 스키마 변환을 적용한 뒤, OTLP를 통해 ClickStack과 함께 배포되는 OpenTelemetry Collector로 전달할 수 있습니다.또는 Vector는 Logstash에서 사용하는 Lumberjack protocol을 통한 이벤트 수신도 지원합니다. 이를 통해 Beats 에이전트가 데이터를 Vector로 직접 전송할 수 있으며, 이후 동일한 변환 과정을 적용한 뒤 OTLP를 통해 ClickStack OpenTelemetry collector로 전달할 수 있습니다.아래에서는 이 두 가지 아키텍처를 모두 보여줍니다.다음 예시에서는 Lumberjack protocol을 통해 Filebeat에서 로그 이벤트를 수신하도록 Vector를 구성하는 초기 단계를 설명합니다. 또한 수신한 ECS 이벤트를 OTel 사양에 맞게 매핑하는 VRL도 제공합니다. 그런 다음 이를 OTLP를 통해 ClickStack OpenTelemetry collector로 전송합니다. Kafka에서 이벤트를 가져오는 경우에는 Vector Logstash source를 Kafka source로 대체하면 되며, 나머지 단계는 모두 동일합니다.
Elastic Agent는 여러 Elastic Beats를 단일 패키지로 통합합니다. 이 에이전트는 Elastic Fleet와 통합되어 중앙에서 오케스트레이션 및 구성이 가능합니다.Elastic Agent를 배포한 사용자는 여러 마이그레이션 경로 중에서 선택할 수 있습니다.
에이전트가 Lumberjack protocol을 통해 Vector endpoint로 데이터를 전송하도록 구성합니다. 현재 이 방식은 Elastic Agent로 로그 데이터만 수집하는 사용자에 대해서만 테스트되었습니다. 이 설정은 Kibana의 Fleet UI를 통해 중앙에서 구성할 수 있습니다.
에이전트를 Elastic OpenTelemetry Collector (EDOT)로 실행합니다. Elastic Agent에는 내장 EDOT Collector가 포함되어 있어 애플리케이션과 인프라를 한 번만 instrument하고 여러 vendor와 backend로 데이터를 전송할 수 있습니다. 이 구성에서는 EDOT collector가 OTLP를 통해 ClickStack OTel collector로 이벤트를 전달하도록 간단히 구성하면 됩니다. 이 접근 방식은 모든 이벤트 유형을 지원합니다.
Elastic Agent는 Logstash 프로토콜인 Lumberjack을 통해 데이터를 전송하도록 구성해야 합니다. 이는 지원되는 배포 패턴이며, 중앙에서 구성하거나 Fleet 없이 배포하는 경우 에이전트 설정 파일 elastic-agent.yaml을 통해 구성할 수 있습니다.Kibana를 통한 중앙 구성은 Fleet에 Output을 추가하여 수행할 수 있습니다.이 Output은 이후 에이전트 policy에서 사용할 수 있습니다. 그러면 해당 policy를 사용하는 모든 에이전트가 자동으로 데이터를 Vector로 전송하게 됩니다.이를 위해서는 TLS를 통한 보안 통신을 구성해야 하므로, Vector 인스턴스가 Logstash 역할을 수행한다고 보고 “Logstash output에 대해 SSL/TLS 구성” 가이드를 따를 것을 권장합니다.또한 사용자는 Vector의 Logstash source도 상호 TLS(mutual TLS)로 구성해야 합니다. 가이드에서 생성한 키와 인증서를 사용해 입력을 적절히 구성하십시오.
sources: beats: type: logstash address: 0.0.0.0:5044 tls: enabled: true # TLS를 사용하는 경우 true로 설정합니다. # 아래 파일은 https://www.elastic.co/docs/reference/fleet/secure-logstash-connections#generate-logstash-certs 의 단계에서 생성됩니다 crt_file: logstash.crt key_file: logstash.key ca_file: ca.crt verify_certificate: true
Elastic Agent에는 내장된 EDOT Collector가 포함되어 있어 애플리케이션과 인프라에 한 번만 계측을 적용하고 데이터를 여러 공급업체와 백엔드로 전송할 수 있습니다.
Agent 통합 및 오케스트레이션Elastic Agent와 함께 배포되는 EDOT collector를 실행하는 사용자는 agent가 제공하는 기존 통합을 활용할 수 없습니다. 또한 이 collector는 Fleet에서 중앙 관리할 수 없으므로, 사용자는 agent를 standalone 모드로 실행하면서 구성을 직접 관리해야 합니다.
EDOT collector와 함께 Elastic Agent를 실행하려면 Elastic 공식 가이드를 참조하십시오. 가이드에 안내된 것처럼 Elastic 엔드포인트를 구성하는 대신, 기존 exporters를 제거하고 OTLP 출력을 구성해 데이터를 ClickStack OpenTelemetry collector로 전송하십시오. 예를 들어, exporters 구성은 다음과 같습니다:
Managed ClickStack기본적으로 Managed ClickStack용 OpenTelemetry Collector를 standalone으로 실행하는 경우 API 수집 키는 필요하지 않습니다. 하지만 OTLP 인증 토큰을 지정해 수집을 보호할 수 있습니다. 자세한 내용은 “collector 보안 설정”을 참조하십시오.
여기서 YOUR_INGESTION_API_KEY는 ClickStack에서 발급됩니다. 이 키는 ClickStack UI의 Team Settings → API Keys에서 확인할 수 있습니다.Vector가 상호 TLS를 사용하도록 구성되어 있고, 인증서와 키가 “Logstash 출력용 SSL/TLS 구성” 가이드의 단계에 따라 생성된 경우 otlp exporter도 이에 맞게 구성해야 합니다. 예를 들면 다음과 같습니다.