.NET 제로 코드 계측¶
Beacon .NET은 네이티브 설치 패키지와 크로스 플랫폼 beacon-dotnet 명령을 제공합니다. 아래 예시는 x64 Debian 또는 Ubuntu용입니다. 다른 운영 체제와 아키텍처는 릴리스 페이지에서 해당 패키지를 선택하세요.
연동 전에 공통 설정에 따라 DataKit OpenTelemetry 수집기를 활성화하세요. 아래 명령은 Linux/macOS 셸을 기준으로 하며 애플리케이션과 DataKit이 같은 호스트에 있다고 가정합니다. 서로 다른 호스트나 컨테이너에서는 127.0.0.1을 바꾸고 수신 주소를 조정하세요.
설치¶
위 릴리스 페이지에서 Linux x64용 .deb 패키지를 다운로드하고 현재 디렉터리에 beacon-dotnet.deb로 저장한 다음 아래 명령을 실행하세요.
시작¶
export OTEL_SERVICE_NAME=my-dotnet-service
export OTEL_EXPORTER_OTLP_ENDPOINT=http://127.0.0.1:4317
export OTEL_EXPORTER_OTLP_PROTOCOL=grpc
beacon-dotnet run dotnet MyApp.dll
run은 자식 프로세스에만 에이전트를 활성화합니다. Beacon .NET은 현재 사용자가 설정할 수 있는 지속적 Profile 구성을 지원하지 않으므로 Profile 환경 변수를 설정할 필요가 없습니다.
디버깅 및 진단¶
먼저 설치 상태를 확인한 뒤 쓰기 가능한 디렉터리를 지정해 에이전트 디버그 로그를 저장하세요.
beacon-dotnet status
mkdir -p beacon-dotnet-logs
OTEL_LOG_LEVEL=debug OTEL_DOTNET_AUTO_LOGGER=file \
OTEL_DOTNET_AUTO_LOG_DIRECTORY="$PWD/beacon-dotnet-logs" \
beacon-dotnet run dotnet MyApp.dll
실제 애플리케이션 프로세스의 실행 계정이 OTEL_DOTNET_AUTO_LOG_DIRECTORY에 쓸 수 있어야 합니다. 터미널에서 진단 로그를 확인하려면 OTEL_DOTNET_AUTO_LOGGER를 console로 바꾸세요.
문제 해결 후 원래 시작 명령으로 복원하세요. 서비스 설정에 디버그 변수를 추가했다면 제거하고 애플리케이션을 재시작하세요.
연동 확인¶
지원되는 프레임워크나 라이브러리를 거치는 요청을 애플리케이션 API에 보낸 뒤 Guance의 APM > 트레이스에서 위에 설정한 서비스 이름으로 필터링하세요. 전체 확인 절차는 공통 설정을, 데이터가 없으면 문제 해결을 참조하세요.