뉴렐릭 APM 에이전트는 이제 OpenTelemetry (OTel) API를 지원하므로 뉴렐릭의 강력한 APM 기능에 대한 풀 액세스를 유지하면서 빼기 공급 업체 비종속 OpenTelemetry API를 사용하여 리소스를 축소할 수 있습니다. 이 기능을 사용하면 뉴렐릭이 제공하는 인사이트 및 기능의 깊이를 희생하지 않고도 이식 가능한 측정, 로그 코드를 작성할 수 있는 유연성을 얻을 수 있습니다.
혜택
뉴렐릭 에이전트와 함께 OpenTelemetry API 지원을 사용하면 다음과 같은 몇 가지 이점을 얻을 수 있습니다.
업체 비종속 측정, 수신: 감시 플랫폼에서 작동하는 표준 OpenTelemetry API를 사용하여 사용자 정의 측정 작성
마이그레이션이 필요하지 않습니다. 현재 측정값을 교체하지 않고 기존 뉴렐릭 에이전트에서 OTel API 지원을 활성화합니다.
점진적 채택: 기존 뉴렐릭 측정, 리소스가 계속 작동하는 동안 새로운 사용자 정의 측정을 위해 OpenTelemetry API를 사용합니다.
혼합 모드 호환성: 뉴렐릭 에이전트, OpenTelemetry API 또는 순수 OTel 에이전트를 사용하여 서비스 전반에 걸쳐 requests 원활하게 추적합니다.
커뮤니티 측정, 리소스: 프레임워크 및 라이브러리에 대한 기본 OpenTelemetry 측정, 리소스 활용
이 기능이 제공하는 것
뉴렐릭 에이전트에서 OpenTelemetry API 지원을 활성화하면 에이전트는 다음을 수행할 수 있습니다.
OpenTelemetry API를 사용하여 생성된 스팬, 트레이스, 메트릭 및 로그를 캡처합니다.
OTel에서 생성된 텔레메트리를 뉴렐릭 APM 트레이스에 원활하게 통합합니다.
뉴렐릭의 내장 측정, 로그와 충돌하지 않는 기본 OpenTelemetry 측정 측정 지원
혼합된 뉴렐릭 및 OpenTelemetry 권한화된 서비스 전체에서 트레이스 컨텍스트를 유지 관리합니다.
중요
이 기능은 기본적으로 비활성화되어 있습니다. 에이전트 설정을 통해 명시적으로 활성화해야 합니다.
지원되는 언어 및 기능
OpenTelemetry API 지원은 다음 뉴렐릭 APM 에이전트에 사용할 수 있습니다.
언어
최소 버전
트레이스 API
메트릭 API
로그 API
스팬 링크
스팬의 이벤트
자바
[9.1.0]
노드.js
[13.13.0]
.그물
[10.49.0]
아래 참고 사항을 참조하십시오.
파이썬
[11.5.0]
아래 참고 사항을 참조하십시오.
루비
[10.2.0]
팁
.NET 및 끌어오기: .NET 에이전트는 이미 로그 데이터용 OpenTelemetry API 된 로깅 라이브러리를 사용하고 있습니다. 파이썬 에이전트는 이미 로깅 모듈을 지원합니다. 이전 버전과의 호환성을 위해 OpenTelemetry API 지원을 활성화해도 이러한 에이전트 리소스를 로그하는 방식은 변경되지 않습니다.
혼합 환경에서의 샘플링
이제 모든 기기가 OpenTelemetry 표준에 맞춰 트랜스 비율 샘플링을 지원하며, 다양한 환경에서 일관된 샘플링 로직을 보장합니다.
주요 이점:
뉴렐릭 및 OTel-계측된 서비스 전반에 걸쳐 일관된 샘플링 결정
OTel SDK에서 상위 트레이스 결정 사항 보존
적응형 샘플링 작동 방식, 샘플링 강제, 요원별 목표 및 설정 옵션에 대한 자세한 내용은 꺾이는 추적 샘플링을 참조하세요.
지원되는 측정, 로그 유형
네이티브 측정, 로그(자동)
네이티브 OpenTelemetry 측정, 로그는 기본적으로 지원됩니다. 이러한 측정, 로그는 유지 관리 담당자가 라이브러리 또는 프레임워크에 직접 구축하고 OpenTelemetry API 지원을 활성화하면 자동으로 작동합니다.
사용 가능한 구체적인 네이티브 측정, 도구는 언어 에이전트에 따라 다릅니다. 각 언어에 대해 지원되는 측정, 로그에 대한 자세한 내용은 설정 섹션을 참조하세요.
중요
알려진 제한 사항: 일부 네이티브 측정, 계측은 OpenTelemetry의 내장 측정, 계측과 비교하여 스팬 이름이나 범위 이름이 약간 다르게 생성될 수 있습니다. 이는 OpenTelemetry 의 의미 규칙 차이 때문입니다(예: Elasticsearch, RabbitMQ).
OpenTelemetry API를 사용한 맞춤형 측정
표준 OpenTelemetry API를 사용하여 맞춤형 측정을 작성할 수 있습니다.
트레이스: OpenTelemetry Tracing API사용하여 사용자 지정 스팬을 생성하고 속성을 추가합니다.
지표: OpenTelemetry 지표 API 사용하여 지표 지표를 기록합니다(지원되는 경우).
로그 에이전트는 OpenTelemetry 트레이스, 메트릭, 로그 API를 사용하여 사용자가 내보낸 신호를 캡처합니다. 이 제품은 OpenTelemetry 측정, 계측 기능을 자동으로 활성화하거나 제공하지 않습니다. OpenTelemetry 자동 측정, 자동 로그는 지원되지 않습니다.
지원되는 측정, 로그 유형
수동 계측
OpenTelemetry 트레이스, 지표 또는 로그 API를 사용하는 사용자 정의 측정은 에이전트에 의해 자동으로 캡처됩니다.
라이브러리 및 네이티브 측정, 로그
OpenTelemetry 독립 실행형 측정 라이브러리, 리소스 및 네이티브 측정 리소스, 라이브러리에 직접 내장되어 뉴렐릭 에이전트와 함께 작동합니다. 하지만 OpenTelemetry 바이트코드 기반 자동 측정, 자동 리소스는 뉴렐릭 에이전트에 의해 감지되지 않습니다.
OpenTelemetry API 지원을 활성화합니다.
newrelic.js 설정 파일에서 OpenTelemetry API 지원을 활성화하세요.
exports.config={
// ... other config
opentelemetry:{
enabled:true,
traces:{
enabled:true
}
}
// ... other config
}
중요
Node.js 에이전트는 OpenTelemetry 측정, 리소스를 자동으로 활성화 하지 않습니다. 귀하가 내보낸 텔넷리를 캡처하기 위해 OpenTelemetry API만 추가했습니다.
지원되는 OpenTelemetry API
OpenTelemetry 지원이 활성화되면 Node.js 에이전트는 다음을 완벽하게 지원합니다.
OpenTelemetry API 사용하여 인력을 추가하는 고객은 에이전트가 해당 데이터를 올바르게 처리하고 배송한다는 것을 알게 될 것입니다.
네이티브 및 라이브러리 측정, 로그(제한적)
OpenTelemetry 측정 측정 목록은 Node.js 에이전트의 지원 모듈과 상당히 중복됩니다. 아직 뉴렐릭 에이전트 측정에서 다루지 않은 로그는 다음과 같습니다.
에이전트 내부와의 충돌
고객 수요가 충분하지 않습니다.
주의
저희는 공식 OpenTelemetry 목록 외의 OpenTelemetry 측정 및 계측 도구를 테스트하지 않았으므로 현재로서는 특정 도구를 추천해 드릴 수 없습니다.
알려진 제한 사항
자동 측정, 도구 없음: 에이전트는 OpenTelemetry 측정, 로그를 자동으로 활성화하지 않습니다. 고객은 OpenTelemetry API를 사용하여 코드를 수동으로 업로드해야 합니다.
OpenTelemetry API 지원을 활성화합니다.
환경 변수 또는 newrelic.config XML 설정 파일을 사용하여 OpenTelemetry API 지원을 활성화하십시오.
환경 변수 사용:
bash
$
NEW_RELIC_OPENTELEMETRY_ENABLED=true
newrelic.config 사용:
<configuration>
<openTelemetryenabled="true"/>
</configuration>
팁
OpenTelemetry 지원이 활성화되면 트레이스 와 범위는 모두 기본적으로 활성화됩니다.
지원되는 네이티브 측정, 로그
OpenTelemetry API 지원을 활성화하면 .NET 에이전트는 OpenTelemetry-계측팀에서 텔레메트리를 캡처할 수 있습니다.
트레이스 측정, 실행
에이전트는 네이티브 OpenTelemetry 추적 측정, 리소스를 지원합니다. OpenTelemetry Tracing API 사용하여 작성된 맞춤형 측정도 지원됩니다.
측정값, 사용률
지표가 활성화되면 에이전트는 OpenTelemetry 메트릭 측정, 라이브러리 및 프레임워크를 지원합니다. OpenTelemetry 지표 API 사용하여 작성된 맞춤형 측정도 지원됩니다.
로그 측정, 사용
.NET 에이전트는 이미 로그 데이터용 OpenTelemetry API 된 로깅 라이브러리를 포함하고 있습니다. OpenTelemetry API 지원을 활성화할 때 로그를 변경할 필요는 없습니다. 이전 버전과의 호환성을 위해, 로그아웃, 로그아웃은 이전과 같이 계속 작동합니다.
OpenTelemetry API 지원을 활성화합니다.
newrelic.ini 설정 파일 또는 환경 변수를 사용하여 OpenTelemetry API 지원을 활성화하세요.
newrelic.ini 사용:
[newrelic]
opentelemetry.enabled=true
환경 변수 사용:
bash
$
NEW_RELIC_OPENTELEMETRY_ENABLED=true
중요
OpenTelemetry 지원이 활성화되면 에이전트는 opentelemetry-api 설치되어 있는지 자동으로 감지하고 지원되는 라이브러리에 대한 OpenTelemetry 측정, 로그를 사용하도록 전환합니다.
작동 원리
OpenTelemetry 지원이 활성화되고 에이전트가 opentelemetry-api 설치되어 있음을 감지하면 다음과 같습니다.
네이티브 측정, 리소스: 네이티브 OpenTelemetry 측정, 리소스가 내장된 라이브러리의 경우 에이전트는 자동으로 뉴렐릭 후크를 비활성화하고 대신 네이티브 OpenTelemetry 측정, 리소스를 사용합니다.
측정, 리소스: OpenTelemetry 측정, 리소스 라이브러리가 감지되면 에이전트는 뉴렐릭의 측정, 리소스 후크 대신 자동으로 OpenTelemetry 측정 라이브러리를 사용합니다.