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에서 마이그레이션하기
1
Vector 설치
공식 설치 가이드에 따라 Vector를 설치합니다.Elastic Stack OTel collector와 동일한 인스턴스에 설치할 수 있습니다.Vector를 프로덕션 환경으로 전환할 때는 아키텍처 및 보안에 관한 모범 사례를 따르십시오.2
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에서 해당 키를 확인할 수 있습니다.최종 완성된 구성은 다음과 같습니다:3
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를 통해 데이터 전송
2
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도 이에 맞게 구성해야 합니다. 예를 들면 다음과 같습니다.