New Relic Micrometer データをサポートしているため、すべての可用性メトリックを 1 つのプラットフォームで表示できます。 OpenTelemetry SDK を使用してOpenTelemetry Micrometer ブリッジを設定し、OpenTelemetry プロトコル (OTLP) を使用して Micrometer データを New Relic に転送します。
one.newrelic.com > All Capabilities > APM & Servicesに移動し、 Services - OpenTelemetryセクションを見つけます。OpenTelemetry を介してブリッジされたときに、New Relic で Micrometer データを表示します。
互換性と要件
これらの手順を実行する前に、次の操作を行う必要があります。
- OTLP経由で にデータをエクスポートするNew Relic ためにOpenTelemetry SDKを設定する
- OpenTelemetry Micrometerブリッジをインストールする
Micrometer データを New Relic に転送する
これらは、Micrometer メトリクス転送を設定するための一般的な手順です。 特定の環境に合わせて、必要に応じてコード スニペットを更新することもできます。
OpenTelemetry Micrometer インストゥルメンテーションを追加
build.gradle
ファイルのアルファ モジュール セクションにOpenTelemetry Micrometer インストゥルメンテーションを追加します。
//Alpha modulesimplementation '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 を設定してデータを New Relic に転送する
以下は、Micrometer に OpenTelemetry Micrometer ブリッジを使用するように指示するコード スニペットの例です。
このスニペットはコードを更新し、OpenTelemetry が Micrometer データを検出し、そのデータを New Relic に転送できるようにします。
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(); }
New Relicでデータを探す
数分待ってから、いくつかのテスト データをトリガーし、 one.newrelic.com > All Capabilities > APM & Servicesに移動し、 Services - OpenTelemetryを見つけて、Micrometer でインストゥルメントされたサービスを選択します。
次は何ですか?
Micrometer データで New Relic を使用する方法の詳細については、次のドキュメントを参照してください。
- ダッシュボードを使用してカスタム視覚化を作成する方法を学ぶ
- システムのパフォーマンスを追跡するためのアラートを設定する
- NRQLでデータをクエリする