• EnglishEspañol日本語한국어Português
  • 로그인지금 시작하기

사용자의 편의를 위해 제공되는 기계 번역입니다.

In the event of any inconsistency between the English version and the translated version, the English versionwill take priority. Please visit this page for more information.

문제 신고

OpenTelemetry사용하여 마이크로미터 데이터를 뉴렐릭으로 전달

뉴렐릭은 마이크로미터 데이터를 지원하므로 하나의 플랫폼에서 모든 옵저버빌리티 지수를 볼 수 있습니다. SDK를 사용하여 OpenTelemetry Micrometer 브리지를 구성한 다음 OpenTelemetry OpenTelemetry OTLP( Protocol)를 사용하여 Micrometer 데이터를 뉴렐릭으로 전달합니다.

one.newrelic.com > All Capabilities > APM & Services 로 이동한 다음 Services - OpenTelemetry 섹션을 찾으세요. OpenTelemetry통해 브리지될 때 뉴렐릭에서 Micrometer 데이터를 봅니다.

호환성 및 요구 사항

이 절차를 수행하기 전에 다음을 수행해야 합니다.

마이크로미터 데이터를 뉴렐릭으로 전달

이는 마이크로미터 메트릭 전달을 설정하는 일반화된 단계입니다. 특정 환경에 맞게 필요에 따라 코드 스니펫을 업데이트할 수 있습니다.

OpenTelemetry 마이크로미터 계측 추가

build.gradle 파일의 알파 모듈 섹션에 OpenTelemetry Micrometer 계측을 추가합니다.

//Alpha modules
implementation 'io.opentelemetry.instrumentation:opentelemetry-micrometer-1.5'

OpenTelemetry 의존성/종속성 추가

dependencies 섹션에서 OpenTelemetry SDK 및 OTLP 내보내기를 추가합니다.

dependencies {
implementation 'io.opentelemetry:opentelemetry-sdk'
implementation 'io.opentelemetry:opentelemetry-exporters-otlp'
}

알파 모듈과 의존성/종속성이 추가된 예제 파일은 다음과 같습니다.

plugins {
id 'java-library'
id 'org.springframework.boot'
}
bootRun {
mainClass.set 'io.opentelemetry.example.micrometer.Application'
}
dependencies {
implementation platform("io.opentelemetry:opentelemetry-bom-alpha:JAVA_OTEL_VERSION")
implementation 'io.opentelemetry:opentelemetry-sdk'
implementation 'io.opentelemetry:opentelemetry-exporters-otlp'
implementation platform("io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:OTEL_JAVA_INSTRUMENTATION_VERSION")
implementation 'io.opentelemetry.instrumentation:opentelemetry-micrometer-1.5'
}

올바른 버전으로 스니펫을 업데이트해야 한다는 점을 명심하세요.

데이터를 뉴렐릭으로 전달하도록 Micrometer를 구성합니다.

다음은 Micrometer에 OpenTelemetry Micrometer 브리지를 사용하도록 지시하는 스니펫 예제 코드입니다.

이 스니펫은 OpenTelemetry 마이크로미터 데이터를 감지한 다음 해당 데이터를 뉴렐릭으로 전달할 수 있도록 코드를 업데이트합니다.

public OpenTelemetry openTelemetry() {
return OpenTelemetrySdk.builder()
.setMeterProvider(
SdkMeterProvider.builder()
.setResource(
Resource.getDefault()
.toBuilder()
.put("service.name", "micrometer-shim")
// Include instrumentation.provider=micrometer to enable
// micrometer metrics experience in New Relic
.put("instrumentation.provider", "micrometer")
.build())
.registerMetricReader(
PeriodicMetricReader.builder(
OtlpHttpMetricExporter.builder()
.setEndpoint("https://otlp.nr-data.net")
.addHeader("api-key",
Optional
.ofNullable(System.getenv("NEW_RELIC_LICENSE_KEY"))
.filter(str -> !str.isEmpty() && !str.isBlank())
.orElseThrow())
// IMPORTANT: New Relic exports data using delta
// temporality rather than cumulative temporality
.setAggregationTemporalitySelector(
AggregationTemporalitySelector
.deltaPreferred())
// Use exponential histogram aggregation for
// histogram instruments to produce better data
// and compression
.setDefaultAggregationSelector(
DefaultAggregationSelector.getDefault().with(
InstrumentType.HISTOGRAM,
Aggregation.base2ExponentialBucketHistogram()))
.build())
// Match default micrometer collection interval of 60
// seconds
.setInterval(Duration.ofSeconds(60))
.build())
.build())
.build();
}

뉴렐릭에서 데이터 찾기

몇 분 정도 기다린 후 일부 테스트 데이터를 트리거한 다음 one.newrelic.com > All Capability > APM & Services 로 이동한 다음 Services - OpenTelemetry [서비스 - OpenTelemetry를] 찾아 Micrometer로 계측된 서비스를 선택합니다.

다음은 뭐지?

마이크로미터 데이터와 함께 뉴렐릭을 사용하는 방법에 대해 자세히 알아보려면 다음 문서를 권장합니다.

Copyright © 2024 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.