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

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

영문본과 번역본이 일치하지 않는 경우 영문본이 우선합니다. 보다 자세한 내용은 이 페이지를 방문하시기 바랍니다.

문제 신고

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.