Beacon¶
Beacon은 OpenTelemetry 기반 자동 계측 에이전트입니다. 애플리케이션 소스 코드를 수정하지 않고 지원되는 프레임워크와 라이브러리의 텔레메트리를 수집합니다. 시작 인수, 사전 로드 모듈 또는 래퍼 명령을 설정해 애플리케이션을 Guance에 연결하고 트레이스를 확인할 수 있습니다. 언어별 지원 범위에 따라 Profile과 Security도 활성화할 수 있습니다.
작동 방식¶
Trace, Metric, Log는 DataKit OpenTelemetry 수집기가 수신하며 Profile은 별도의 DataKit Profile 수집기를 사용합니다. 실제 수집 범위는 언어 버전과 활성화된 구성 요소에 따라 달라집니다. 에이전트를 설치했다고 모든 신호가 자동으로 생성되는 것은 아닙니다.
언어 선택¶
각 언어의 제로 코드 계측 방법과 선택적 기능은 다음과 같습니다. 설치 단계는 해당 언어 가이드를 참조하세요.
| 언어 | 제로 코드 계측 방법 | Profile | Security |
|---|---|---|---|
| Java | JVM -javaagent로 단일 Agent JAR 로드 |
실험적 JFR, JDK 11 이상 | 선택 사항 |
| Python | 기존 시작 명령 앞에 beacon 추가 |
pprof 업로드 | 표준 GIL CPython 3.11–3.14 |
| Node.js | NODE_OPTIONS를 통한 사전 로드 |
wall、heap Profile | Node.js 22.22.3+ 또는 24.11.1+, ESM 사전 로드 사용 |
| .NET | beacon-dotnet run으로 애플리케이션 시작 |
지원되는 사용자 설정 없음 | 릴리스된 기능 없음 |
| PHP | 네이티브 Hook 및 Composer 자동 로드 | 지원되는 사용자 설정 없음 | 릴리스된 기능 없음 |
Profile과 Security는 기본적으로 비활성화되어 있으며 필요할 때 활성화합니다. Profile 설정은 해당 언어의 연동 페이지에 있습니다. Security의 런타임 범위와 활성화 방법은 Security를 참조하세요.
빠른 시작¶
- DataKit을 설치하고 공통 설정에 따라 OpenTelemetry 수집기를 활성화하세요.
- 위 표에서 애플리케이션 언어를 선택하고 해당 버전의 Beacon 에이전트를 설치하세요.
- 서비스 이름, OTLP 프로토콜, DataKit 수신 주소를 설정하고 에이전트를 통해 애플리케이션을 시작하세요.
- 애플리케이션 API에 접근해 실제 요청을 발생시킨 뒤 Guance의 APM > 트레이스에서 서비스 이름으로 데이터를 확인하세요.
- 코드의 핫스팟을 분석하려면 해당 언어 페이지에서 Profile을 활성화하고 APM > Profiling에서 데이터를 확인하세요.
계측 안내
제로 코드 계측은 애플리케이션 소스 코드를 수정할 필요가 없지만 에이전트 설치, 실행 환경 설정 및 애플리케이션 재시작은 필요합니다. 자동 계측은 지원되는 프레임워크와 라이브러리에 적용됩니다. 내부 비즈니스 작업은 필요에 따라 OpenTelemetry API로 추가 계측할 수 있습니다. 중복 수집을 방지하려면 같은 프로세스에 여러 자동 계측 에이전트를 로드하지 마세요.
관련 문서¶
- 공통 설정: DataKit 수신 설정, 서비스 식별 및 OTLP 파라미터.
- Security: OTLP Logs를 통한 보안 탐지 결과 및 런타임 SBOM 전송.
- 문제 해결: 에이전트 로드, 네트워크, 프로토콜 및 데이터 내보내기 확인.
- Beacon 오픈 소스 프로젝트: 언어별 릴리스 내역 및 소스 코드.