Elastic에서 에이전트 마이그레이션하기
- Beats family - Filebeat, Metricbeat, Packetbeat 등이 포함되며 - 모두
libbeat라이브러리를 기반으로 합니다. 이러한 Beats는 Lumberjack 프로토콜을 통해 Elasticsearch, Kafka, Redis 또는 Logstash로 데이터 전송을 지원합니다. Elastic Agent는 로그, 메트릭, 트레이스를 수집할 수 있는 통합 에이전트를 제공합니다. 이 에이전트는 Elastic Fleet Server를 통해 중앙에서 관리할 수 있으며, Elasticsearch, Logstash, Kafka 또는 Redis로 출력할 수 있습니다.- Elastic은 또한 OpenTelemetry Collector - EDOT의 배포판도 제공합니다. 현재는 Fleet Server로 오케스트레이션할 수 없지만, ClickStack으로 마이그레이션하는 경우 더 유연하고 개방적인 경로를 제공합니다.
권장 마이그레이션 경로
왜 OpenTelemetry Collector를 사용해야 하나요?OpenTelemetry Collector는 관측성 데이터 수집을 위한 지속 가능하고 벤더 중립적인 솔루션을 제공합니다. 일부 조직에서는 수천 개, 많게는 수만 개의 Elastic 에이전트를 운영하고 있다는 점을 잘 알고 있습니다. 이러한 사용자에게는 기존 에이전트 인프라와의 호환성 유지가 매우 중요할 수 있습니다. 이 문서는 이러한 요구를 지원하는 동시에, 팀이 OpenTelemetry 기반 수집으로 점진적으로 전환할 수 있도록 돕기 위해 작성되었습니다.
ClickHouse OpenTelemetry 엔드포인트
Beats에서 마이그레이션하기
Vector 설치
공식 설치 가이드에 따라 Vector를 설치합니다.Elastic Stack OTel collector와 동일한 인스턴스에 설치할 수 있습니다.Vector를 프로덕션 환경으로 전환할 때는 아키텍처 및 보안에 관한 모범 사례를 따르십시오.Vector 구성
Vector가 Logstash 인스턴스를 모방하여 Lumberjack 프로토콜을 통해 이벤트를 수신하도록 구성해야 합니다. Vector에logstash source를 구성하면 이를 구현할 수 있습니다:TLS 구성상호 TLS가 필요하면 Elastic 가이드 “Logstash output용 SSL/TLS 구성”을 참고하여 인증서와 키를 생성하십시오. 그런 다음 위에 나온 것처럼 이를 구성에 지정할 수 있습니다.
beats 소스에서 이벤트를 수신한다는 점에 유의하십시오. remap 스크립트는 아래와 같습니다. 이 스크립트는 로그 이벤트에 대해서만 테스트되었지만, 다른 포맷의 기반으로 활용할 수 있습니다.VRL - ECS를 OTel로 변환
VRL - ECS를 OTel로 변환
remap_filebeat 변환의 출력을 입력으로 사용합니다.YOUR_INGESTION_API_KEY는 ClickStack에서 생성됩니다. ClickStack UI(HyperDX)의 Team Settings → API Keys에서 해당 키를 확인할 수 있습니다.최종 완성된 구성은 다음과 같습니다:Filebeat 구성
기존 Filebeat 설치에서는 이벤트를 Vector로 전송하도록 설정만 수정하면 됩니다. 이를 위해 Logstash 출력을 구성해야 하며, 여기에서도 TLS를 선택적으로 설정할 수 있습니다.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로 이벤트를 전달하도록 간단히 구성하면 됩니다. 이 접근 방식은 모든 이벤트 유형을 지원합니다.
Vector를 통해 데이터 전송
Elastic Agent 구성
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)로 구성해야 합니다. 가이드에서 생성한 키와 인증서를 사용해 입력을 적절히 구성하십시오.OpenTelemetry collector로 Elastic Agent 실행
Agent 통합 및 오케스트레이션Elastic Agent와 함께 배포되는 EDOT collector를 실행하는 사용자는 agent가 제공하는 기존 통합을 활용할 수 없습니다. 또한 이 collector는 Fleet에서 중앙 관리할 수 없으므로, 사용자는 agent를 standalone 모드로 실행하면서 구성을 직접 관리해야 합니다.
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도 이에 맞게 구성해야 합니다. 예를 들면 다음과 같습니다.