5
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

OpenTelemetryのデモ環境を使ってNew Relicにデータを送ってみた!

Last updated at Posted at 2025-03-07

OpenTelemetryを使ってNew Relicにテレメトリデータを送付してみたいと思ったことはないですか?OpenTelemetryにはさっと試せるデモ環境があるのですが、今回は手元のDockerで動かしてテレメトリデータをNew Relicに送ってどのように見えるか試してみたいと思います!

OpenTelemetryのデモ環境の詳細は下記を参照ください。

概要

OpenTelemetryのデモ環境ではJava、Python、Goなどの複数の言語のアプリケーションを立ち上げて、Locust を使って継続的にトランザクションを作り出しています。全体の構成については下記を参照ください。

デフォルトの設定では、OpenTelemetry Collectorを通してメトリクスはPrometheusに、トレースはJaegerに、ログはOpenSearchに送付されています。

image.png

本記事では、このOpenTelemetry Collectorの設定を変更してNew Relicにメトリクス、トレース、ログを送付します。

:one: OpenTelemetryのデモ環境をDockerで動かす

デフォルトの設定でOpenTelemetryのデモ環境を動かしてみます。

まずは、リポジトリをクローンして、

git clone https://github.com/open-telemetry/opentelemetry-demo.git

opentelemetry-demoに移動して、デモ環境を起動します。

cd opentelemetry-demo/
make start

デフォルトではメトリクスはPrometheusに、トレースはJaegerに、ログはOpenSearchに送付されるようになっています。詳細は下記を参照ください

:two: テレメトリデータをNew Relicに送付するように変更

続いて、OpenTelemetry Collectorの設定をNew Relicにメトリクス、トレース、ログを送付するように変更してotel-collectorのコンテナを再起動します。

デモ環境ではOpenTelemetry Collectorの設定は、otelcol-config.ymlにかかれていますが、otelcol-config-extras.ymlに設定を書くことで上書きすることができるのでこちらに変更する設定を記載していきます。

<New RelicのLicense key>には、New RelicのAPI KeyでタイプがIngest - Licenseとなっているものを使用してください。New RelicのAPI Keysの画面で作成可能です。

config-extras.yml
exporters:
  otlp/newrelic:
    endpoint: "https://otlp.nr-data.net:4317"
    headers:
      api-key: "<New RelicのLicense key>"

service:
  pipelines:
    traces:
      exporters: [otlp/newrelic, debug, spanmetrics]
    metrics:
      exporters: [otlp/newrelic, debug]
    logs:
      exporters: [otlp/newrelic, debug]

設定が書き終わったらotel-collectorのコンテナを再起動します。

OpenTelemetry Collectorの詳細は下記を参照ください。

:three: New Relicで取り込んだ結果を確認

まず、All Entitiesを確認すると21個のOpenTelemetryのエンティティを確認することができます。

image.png

adエンティティを選択すると、まずレスポンス、スループット、エラーレートが表示され、

image.png

View charts byで取り込んだメトリクスとトレースのどちらでチャートを表示するか選ぶことができます。

image.png

また、Frontendエンティティを表示して、Transactionsを選ぶと時間がかかっているものでランキング表示することができ、

image.png

トレースを選択することでその詳細な処理を確認したり、

image.png

そのトレースに関連するログを確認したりすることができます。

image.png

ちなみに、デモ環境では下記のリンクからFlagdを使ってエラーを発生させることができます。
http://localhost:8080/feature

例えば、adFailureをonにしたりpaymentFailureを100%にするとadやpaymentでエラーが発生し、Errors inboxでエラーを扱えることが確認できます。
image.png

image.png

image.png

image.png

まとめ

OpenTelemetryのデモ環境を使ってテレメトリデータをNew Relicに送ってみました。OpenTelemetry Collectorのデータの送り先をNew Relicに変更するだけで、New Relicでトレースとログを紐づけて分析したり、エラーをグループ化して優先順位をつけて分析できたりするのでぜひお試しください。

その他

New Relicでは、新しい機能やその活用方法について、QiitaやXで発信しています!
無料でアカウント作成も可能なのでぜひお試しください!

New Relic株式会社のX(旧Twitter)Qiita OrganizationOrganizationでは、
新機能を含む活用方法を公開していますので、ぜひフォローをお願いします。

無料のアカウントで試してみよう!
New Relic フリープランで始めるオブザーバビリティ!

5
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?