• English日本語한국어
  • ログイン今すぐ開始

この機械翻訳は参考用に提供されます。

英語版と翻訳版に矛盾がある場合は、英語版が優先されます。詳細については、こちらのページをご覧ください。

問題を作成する

OpenTelemetry チュートリアル: サンプル Python アプリをインストゥルメントする

これらの Python チュートリアルのいずれかを試して、New Relic プラットフォームが OTLP データで何ができるかを確認してください。選択できる 3 つのチュートリアルがあり、それぞれ同じデモ Flask アプリを使用しています。アプリはフィボナッチ数列の n 番目の数値を計算し、トレース、メトリクス、ログを生成します。

これらのチュートリアルに取り組むことで、OpenTelemetry と New Relic を使用して独自のアプリをセットアップするのに役立つスキルを習得できます。

これらのチュートリアルのいずれかを完了すると、次のようなグラフでスパン メトリックを表示できるようになります。

各チュートリアルは同じデモ アプリを使用しますが、OpenTelemetry と New Relic に慣れるのに役立つさまざまなアプローチがあります。興味のあるオプションを試してみてください。

  • チュートリアル 1: 事前にインストルメント化されたデモ アプリを実行する:これは、いくつかのデモ データを New Relic に送信し、それが UI にどのように表示されるかを確認する最速の方法です。このチュートリアルでは、デモ アプリには、メトリクス、ログ、およびトレースを生成およびエクスポートするためのベスト プラクティスに従うインストルメンテーションと SDK 構成がプリロードされています。コードを調べて、関連するセクションを独自のアプリに適用できます。
  • チュートリアル 2: OpenTelemetry Python エージェントを使用してデモ アプリを監視する: 事前にインストルメント化されたデモ アプリを使用する代わりに、OpenTelemetry Python エージェントを使用してデモ アプリを自動的に監視できます。デモ コードを開いて変更を加える必要はなく、エージェントをインストールしてアプリと一緒に実行するだけです。
  • チュートリアル 3: デモ アプリを手動でセットアップする:このトラックでは、袖をまくり上げて車のエンジンをいじります。これは、レポートされるテレメトリを最大限に制御し、それがどのように行われたかの詳細を確認したい場合に採用するアプローチです。インストルメンテーションをデモ アプリに手動で挿入してテレメトリをキャプチャし、そのデータを New Relic にエクスポートするように SDK を構成します。

ヒント

アプリケーションから OTLP 経由で New Relic にデータをエクスポートするには、2 つの選択肢があります。

  • アプリから直接

  • OpenTelemetry コレクター経由

    このガイドでは、最初のオプションについて説明します。コレクター経由でデータをエクスポートする場合は、このコレクターのドキュメントで詳細を確認してください。

要件

開始する前に、次のものが揃っていることを確認してください。

チュートリアル 1: 事前にインストルメント化されたデモ アプリを実行する

New Relic にデータを送信し、UI で表示するのがどのようなものかをすばやく確認できるように、インストルメンテーションを行う場合は、これが最適なオプションです。

  1. ターミナルで次のコマンドを実行してデモ アプリのクローンを作成し、Getting Started Guides のpython/Instrumentedディレクトリに移動します。

    git clone https://github.com/newrelic/newrelic-opentelemetry-examples.git
    cd newrelic-opentelemetry-examples/getting-started-guides/python/Instrumented
  2. New Relic アカウントにデータを送信するには、次の環境変数を設定します。

    • 必ず使用してください .

    • New Relic データセンターのリージョンが EU で US ではない場合、エンドポイントを次のように設定します。 https://otlp.eu01.nr-data.net

      • OTEL_EXPORTER_OTLP_HEADERS=api-key=INSERT_YOUR_NEW_RELIC_LICENSE_KEY
      • OTEL_EXPORTER_OTLP_ENDPOINT= https://otlp.nr-data.net
  3. この環境変数を設定してサービスに名前を付けます。これは、New Relic アカウントでサービスを識別する方法です。

    • OTEL_SERVICE_NAME=入門-Python
  4. 同じ getting-started-guides/python/Instrumented/ ディレクトリで、仮想環境を作成してアクティブ化し、必要なライブラリをインストールして、アプリを実行します。

    • マックOS:

      python3 -m venv venv
      source venv/bin/activate
      pip install -r requirements.txt
      python3 app.py
    • パワーシェル:

      python -m venv venv
      .\venv\Scripts\Activate.ps1
      pip install -r requirements.txt
      python app.py
  5. 新しいターミナル タブを開き、 getting-started-guides/python/Instrumentedディレクトリに切り替え、次のコマンドを実行してアプリケーションへのトラフィックを生成します:

    • マックOS:

      ./load-generator.sh
    • パワーシェル:

      .\load-generator.ps1

    ヒント

    または、ブラウザの次の URL でエンドポイントにアクセスできます: http://localhost:8080/fibonacci?n=INSERT_A_VALUEINSERT_A_VALUEを 1 から 90 の値に置き換えます。エラーを生成するには、有効範囲外の整数を挿入します。

  6. one.newrelic.com > All capabilities > APM & servicesに移動します。

  7. getting-started-pythonという新しいエンティティ (サービス) をクリックして、UI を調べます。UI で何を探すべきかについてのその他のヒントについては、New Relic でデータを表示するを参照してください。

  8. UI でデータを確認し終わったら、両方のターミナル セッションで CONTROL+C を押してアプリケーションをシャットダウンします。

チュートリアル 2: OpenTelemetry Python エージェントを使用してデモ アプリを監視する

これは、同じデモ アプリを使用する別のチュートリアルですが、この場合は、OpenTelemetry Python エージェントを使用して、デモ アプリを自動的に監視します。Python ソース コードを変更する必要はありません。エージェントを使用すると、New Relic へのサンプル データのエクスポートをすぐに開始できます。

ただし、ログやカスタム メトリクスなど、アプリに関するより深いレベルの情報を取得するには、カスタム インストルメンテーションを追加する必要があることに注意してください。

自動インストルメンテーション エージェントは、バイトコードを動的に挿入して、一般的なライブラリやフレームワークからテレメトリをキャプチャする一連の PyPI パッケージです。これを使用して、受信リクエスト、送信 HTTP 呼び出し、データベース呼び出しなどのデータをキャプチャすることもできます。任意の Python 3 アプリケーションに接続できます。

ヒント

追加の構成オプションについては 、OpenTelemetry Python エージェントの公式ドキュメントを 参照してください。

OpenTelemetry Python エージェントを使用してデモ アプリを監視するには:

  1. これら 2 つのコマンドを実行して、デモ アプリケーション リポジトリをダウンロードし、次のディレクトリに移動します。

    git clone https://github.com/newrelic/newrelic-opentelemetry-examples.git
    cd newrelic-opentelemetry-examples/getting-started-guides/python/Uninstrumented
  2. 以下の環境変数の参照セクションに移動して、エクスポートする必要がある変数を確認してから、これらの手順に戻ります。

  3. 次に、同じ getting-started-guides/python/Uninstrumented/ ディレクトリに仮想環境を作成してアクティブ化します。

    • マックOS:

      python3 -m venv venv
      source venv/bin/activate
    • パワーシェル:

      python -m venv venv
      .\venv\Scripts\Activate.ps1
  4. これで、必要なライブラリをインストールする準備が整いました。

    pip install flask
    pip install opentelemetry-instrumentation-flask
    pip install opentelemetry-exporter-otlp
    pip install opentelemetry-distro
  5. getting-started-guides/python/Uninstrumented/に進み、アプリでエージェントを起動します。

    • マックOS:

      opentelemetry-instrument python3 app.py
    • パワーシェル:

      opentelemetry-instrument python app.py
  6. getting-started-guides/python/Uninstrumentedディレクトリで新しいターミナルを開き、ロード ジェネレーターを実行して、アプリケーションへのトラフィックを生成します。

    • マックOS:

      ./load-generator.sh
    • パワーシェル:

      .\load-generator.ps1

      ヒント

      または、ブラウザの次の URL でエンドポイントにアクセスできます: http://localhost:8080/fibonacci?n=INSERT_A_VALUEINSERT_A_VALUEを 1 から 90 の値に置き換えます。エラーを生成するには、有効範囲外の整数を挿入します。

  7. New Relic にデータを送信したので、UI でデータを表示する手順を参照してください。

  8. UI でデータを確認し終わったら、両方のターミナル セッションで CONTROL+C を押してアプリケーションをシャットダウンします。

チュートリアル 3: デモ アプリを手動でセットアップする

前のセクションは、OpenTelemetry Python エージェントを使用した自動インストルメンテーションを調べるのに役立ちました。収集するテレメトリをより詳細に制御したい場合は、このチュートリアルを試して、カスタム インストルメンテーションを追加する方法を学ぶことができます。次に、推奨されるベスト プラクティスを使用して、OpenTelemetry SDK を設定してデータを New Relic にエクスポートする方法を説明します。

この手動セットアップで完了する手順は次のとおりです。

A. デモ アプリケーションをダウンロードする

以下を実行してデモ アプリをダウンロードします。

git clone https://github.com/newrelic/newrelic-opentelemetry-examples.git

B. 必要なライブラリをインストールする

必要なライブラリを追加するには:

  1. このチュートリアルの開始点として、インストルメント化されていないアプリのアプリケーション ディレクトリに移動します。このチュートリアルが終わるまでに、コードは Instrumented ディレクトリにあるもののようになっているはずです。

    cd newrelic-opentelemetry-examples/getting-started-guides/python/Uninstrumented
  2. Uninstrumented ディレクトリに仮想環境を作成してアクティブ化します。

    • マックOS:

      python3 -m venv venv
      source venv/bin/activate
    • パワーシェル:

      python -m venv venv
      .\venv\Scripts\Activate.ps1
  3. 以下をインストールします。

    pip install opentelemetry-api
    pip install opentelemetry-sdk
    pip install flask
    pip install opentelemetry-instrumentation-logging
    pip install opentelemetry-instrumentation-flask
    pip install opentelemetry-exporter-otlp
    pip install opentelemetry-distro

C. SDKを構成する

  1. app.pyで、以下の強調表示された行を ファイルの先頭に追加します。必要に応じて、カスタム属性 environment の値を変更します。
##########################
# OpenTelemetry Settings #
##########################
from opentelemetry.sdk.resources import Resource
import uuid
OTEL_RESOURCE_ATTRIBUTES = {
"service.instance.id": str(uuid.uuid1()),
"environment": "local"
}
from flask import Flask, jsonify, request
app = Flask(__name__)
  1. 以下の 環境変数リファレンス セクション に移動して、エクスポートする必要がある変数を確認してから、インストルメンテーション ライブラリを追加する次の手順に進みます。

D. インストルメンテーション ライブラリの追加: トレース

app.pyで、追加した OpenTelemetry Settings の後に以下を挿入します。

##########
# Traces #
##########
from opentelemetry import trace
from opentelemetry.sdk.trace import TracerProvider
from opentelemetry.sdk.trace.export import BatchSpanProcessor
from opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter
from opentelemetry.trace.status import Status, StatusCode
# Initialize tracing and an exporter that can send data to an OTLP endpoint
# SELECT * FROM Span WHERE instrumentation.provider='opentelemetry'
trace.set_tracer_provider(TracerProvider(resource=Resource.create(OTEL_RESOURCE_ATTRIBUTES)))
trace.get_tracer_provider().add_span_processor(BatchSpanProcessor(OTLPSpanExporter()))

E. インストルメンテーション ライブラリの追加: メトリック

app.py で、ステップ D で追加した Traces セクションの後に次の行を追加します。

###########
# Metrics #
###########
from opentelemetry import metrics
from opentelemetry.sdk.metrics import MeterProvider
from opentelemetry.sdk.metrics.export import PeriodicExportingMetricReader
from opentelemetry.exporter.otlp.proto.http.metric_exporter import OTLPMetricExporter
# Initialize metering and an exporter that can send data to an OTLP endpoint
# SELECT count(`http.server.active_requests`) FROM Metric FACET `service.name` TIMESERIES
metrics.set_meter_provider(MeterProvider(resource=Resource.create(OTEL_RESOURCE_ATTRIBUTES), metric_readers=[PeriodicExportingMetricReader(OTLPMetricExporter())]))
metrics.get_meter_provider()
fib_counter = metrics.get_meter("opentelemetry.instrumentation.custom").create_counter("fibonacci.invocations", unit="1", description="Measures the number of times the fibonacci method is invoked.")

F. インストルメンテーション ライブラリの追加: ログ

app.pyMetrics セクションの後に以下を追加します。これにより、ログ モジュールがインポートされ、 basicConfig ログ レベルが DEBUGに設定されます。

########
# Logs # - OpenTelemetry Logs are still in the experimental state, so function names may change in the future
########
import logging
logging.basicConfig(level=logging.DEBUG)
from opentelemetry import _logs
from opentelemetry.sdk._logs import LoggerProvider, LoggingHandler
from opentelemetry.sdk._logs.export import BatchLogRecordProcessor
from opentelemetry.exporter.otlp.proto.http._log_exporter import OTLPLogExporter
# Initialize logging and an exporter that can send data to an OTLP endpoint by attaching OTLP handler to root logger
# SELECT * FROM Log WHERE instrumentation.provider='opentelemetry'
_logs.set_logger_provider(LoggerProvider(resource=Resource.create(OTEL_RESOURCE_ATTRIBUTES)))
logging.getLogger().addHandler(LoggingHandler(logger_provider=_logs.get_logger_provider().add_log_record_processor(BatchLogRecordProcessor(OTLPLogExporter()))))

G. Flask インストルメンテーションを追加する

app.pyLogs セクションの後に、以下の強調表示された行を追加します。これは、分散トレースとログインコンテキストのスパンをリンクするのに役立ちます。

#####################
# Flask Application #
#####################
from flask import Flask, jsonify, request
from opentelemetry.instrumentation.flask import FlaskInstrumentor
app = Flask(__name__)
FlaskInstrumentor().instrument_app(app)

H. カスタム トレース インストルメンテーション: カスタム スパンを作成する

必要なスパンを作成できます。特定の操作に関する属性でスパンに注釈を付けるのはあなた次第です。設定した属性は、結果や操作のプロパティなど、追跡している特定の操作に関する追加のコンテキストを提供します。

app.pyに、以下の強調表示された行を挿入して、次の処理を行う /fibonacci という新しいスパンを開始します。

  • このメソッドの実行に関するデータをキャプチャします

  • ユーザーのリクエストから n の値を格納する属性を設定します

    @app.route("/fibonacci")
    @trace.get_tracer("opentelemetry.instrumentation.custom").start_as_current_span("/fibonacci")
    def fibonacci():
    args = request.args
    x = int(args.get("n"))
    error_message = "n must be 1 <= n <= 90."
    trace.get_current_span().set_attribute("fibonacci.n", x)
    try:
    assert 1 <= x <= 90
    array = [0, 1]
    for n in range(2, x + 1):
    array.append(array[n - 1] + array[n - 2])
    trace.get_current_span().set_attribute("fibonacci.result", array[x])
    return jsonify(n=x, result=array[x])
    except AssertionError:
    return jsonify({"message": error_message})
    app.run(host='0.0.0.0', port=8080)

I. カスタム トレース インストルメンテーション: 例外を記録する

例外が発生したときに、例外を記録したい場合があります。スパンステータスの設定と併せてこれを行うことをお勧めします。

  1. 例外が発生したときにスパンのステータス コードを ERROR に設定するには、 Status モジュールと StatusCode モジュールを opentelemetry.trace.status packageからインポートする必要もあります。以下の強調表示された行を、他のトレース ライブラリを含む Traces セクションに追加します。
##########
# Traces #
##########
from opentelemetry import trace
from opentelemetry.sdk.trace import TracerProvider
from opentelemetry.sdk.trace.export import BatchSpanProcessor
from opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter
from opentelemetry.trace.status import Status, StatusCode
  1. 次に、以下の強調表示された行を挿入して例外を記録します。この例外は New Relic でスパン イベントとして表示され、スパンのステータスを ERRORに設定します。
@app.route("/fibonacci")
@trace.get_tracer("opentelemetry.instrumentation.custom").start_as_current_span("/fibonacci")
def fibonacci():
args = request.args
x = int(args.get("n"))
error_message = "n must be 1 <= n <= 90."
trace.get_current_span().set_attribute("fibonacci.n", x)
try:
assert 1 <= x <= 90
array = [0, 1]
for n in range(2, x + 1):
array.append(array[n - 1] + array[n - 2])
trace.get_current_span().set_attribute("fibonacci.result", array[x])
return jsonify(n=x, result=array[x])
except AssertionError:
trace.get_current_span().record_exception(exception=Exception, attributes={"exception.type": "AssertionError", "exception.message": error_message})
trace.get_current_span().set_status(Status(StatusCode.ERROR, error_message))
return jsonify({"message": error_message})
app.run(host='0.0.0.0', port=8080)

J. カスタム メトリック インストルメンテーション: カスタム メトリック カウンターを追加する

メトリックは、個々の測定値を集計に結合し、システム負荷の関数として一定のデータを生成するため、非常に役立つテレメトリ データ タイプです。このデータをスパンと組み合わせて使用すると、傾向を特定し、アプリケーションのランタイム テレメトリを提供できます。また、メトリクスが表す測定値の下位区分を説明するのに役立つ属性でメトリクスに注釈を付けることもできます。

OpenTelemetry メトリクス API は、メトリクス SDK によって集計され、アウト オブ プロセスでエクスポートされる測定値を記録する多数の計測器を定義します。器具には次の 2 種類があります。

  • 同期: これらの計測器は、発生時に測定値を記録します。
  • 非同期: これらの計測器はコールバックを登録します。これはコレクションごとに 1 回だけ呼び出され、関連付けられたコンテキストはありません。
  1. app.pyMetrics セクションに以下の強調表示された行を追加してカウンターを作成します。
###########
# Metrics #
###########
from opentelemetry import metrics
from opentelemetry.sdk.metrics import MeterProvider
from opentelemetry.sdk.metrics.export import PeriodicExportingMetricReader
from opentelemetry.exporter.otlp.proto.http.metric_exporter import OTLPMetricExporter
# Initialize metering and an exporter that can send data to an OTLP endpoint
# SELECT count(`http.server.active_requests`) FROM Metric FACET `service.name` TIMESERIES
metrics.set_meter_provider(MeterProvider(resource=Resource.create(OTEL_RESOURCE_ATTRIBUTES), metric_readers=[PeriodicExportingMetricReader(OTLPMetricExporter())]))
metrics.get_meter_provider()
fib_counter = metrics.get_meter("opentelemetry.instrumentation.custom").create_counter("fibonacci.invocations", unit="1", description="Measures the number of times the fibonacci method is invoked.")
  1. 次に、作成したカウンターを使用して測定するために、以下の強調表示された行を追加します。
  • この関数が正常に実行された回数
  • 実行に失敗した回数

アプリを再起動するたびにカウンターが 0 にリセットされることに注意してください。

@app.route("/fibonacci")
@trace.get_tracer("opentelemetry.instrumentation.custom").start_as_current_span("/fibonacci")
def fibonacci():
args = request.args
x = int(args.get("n"))
error_message = "n must be 1 <= n <= 90."
trace.get_current_span().set_attribute("fibonacci.n", x)
try:
assert 1 <= x <= 90
array = [0, 1]
for n in range(2, x + 1):
array.append(array[n - 1] + array[n - 2])
trace.get_current_span().set_attribute("fibonacci.result", array[x])
fib_counter.add(1, {"fibonacci.valid.n": "true"})
return jsonify(n=x, result=array[x])
except AssertionError:
trace.get_current_span().record_exception(exception=Exception, attributes={"exception.type": "AssertionError", "exception.message": error_message})
trace.get_current_span().set_status(Status(StatusCode.ERROR, error_message))
fib_counter.add(1, {"fibonacci.valid.n": "false"})
return jsonify({"message": error_message})
app.run(host='0.0.0.0', port=8080)

K. カスタム ログ インストルメンテーション

OpenTelemetry Python のログ信号のステータスは、現在 実験段階です。

app.pyで、以下の強調表示された行を次の行に追加します。

  • 入力値と出力値の INFO レベルのログを記録します。
  • 入力値が有効範囲外の場合、 ERROR レベルのログを記録します。
@app.route("/fibonacci")
@trace.get_tracer("opentelemetry.instrumentation.custom").start_as_current_span("/fibonacci")
def fibonacci():
args = request.args
x = int(args.get("n"))
error_message = "n must be 1 <= n <= 90."
trace.get_current_span().set_attribute("fibonacci.n", x)
try:
assert 1 <= x <= 90
array = [0, 1]
for n in range(2, x + 1):
array.append(array[n - 1] + array[n - 2])
trace.get_current_span().set_attribute("fibonacci.result", array[x])
fib_counter.add(1, {"fibonacci.valid.n": "true"})
logging.info("Compute fibonacci(" + str(x) + ") = " + str(array[x]))
return jsonify(n=x, result=array[x])
except AssertionError:
trace.get_current_span().record_exception(exception=Exception, attributes={"exception.type": "AssertionError", "exception.message": error_message})
trace.get_current_span().set_status(Status(StatusCode.ERROR, error_message))
fib_counter.add(1, {"fibonacci.valid.n": "false"})
logging.error("Failed to compute fibonacci(" + str(x) + ")")
return jsonify({"message": error_message})
app.run(host='0.0.0.0', port=8080)

L. アプリを実行してトラフィックを生成する

New Relic にデータを送信する準備ができました!

  1. ターミナルで、 getting-started-guides/python/Uninstrumented ディレクトリにいることを確認し、アプリケーションを実行します。

    • マックOS:

      python3 app.py
    • パワーシェル:

      python app.py
  2. getting-started-guides/python/Uninstrumented ディレクトリで新しいターミナル タブを開き、ロード ジェネレーターを実行して、アプリケーションへのトラフィックを生成します。

    • マックOS:

      ./load-generator.sh
    • パワーシェル:

      .\load-generator.ps1

    ヒント

    または、ブラウザの次の URL でエンドポイントにアクセスできます: http://localhost:8080/fibonacci?n=INSERT_A_VALUEINSERT_A_VALUEを 1 から 90 の値に置き換えます。エラーを生成するには、有効範囲外の整数を挿入します。

  3. New Relic にデータを送信したので、UI でデータを表示する手順を参照してください。

New Relic でデモ データを表示する

どのチュートリアルを完了しても、New Relic UI でデータを見つけるための以下のヒントに従うことができます。

「チュートリアル 2: OpenTelemetry Python エージェントを使用してデモ アプリを監視する:」に従った場合は、より詳細なデータをキャプチャするにはカスタム インストルメンテーションを手動で追加する必要があるため、カスタム データ (カスタム メトリクスやログなど) が表示されないことに注意してください。

  1. one.newrelic.com > All capabilities > APM & servicesに移動します。
  2. getting-started-pythonという名前の新しいエンティティ (サービス) (または任意の名前) をクリックします。
  3. 各データ型のセクションで詳細を確認してください。

ヒント

Microsoft Windows を使用していて、New Relic アカウントにデータが表示されない場合は、ファイアウォールを通過するトラフィックを許可しているかどうかを確認してください。

トレース

New Relic でgetting-started-pythonエンティティに到達したら:

  1. 左側のペインのMonitor [モニター]セクションで、 Distributed tracing [分散トレース]をクリックし、 /fibonacciトレース グループをクリックします。

  2. そこから、エラーのあるトレースを見つけてクリックして開きます。

  3. トレースを開いたら、 Show in-process spansをクリックし、結果のスパンをクリックすると、右側に詳細パネルが開きます。ユーザー入力が無効な場合に記録した例外を確認するには、 View span eventsをクリックします。

手動インストルメンテーション チュートリアルを完了した場合、スパンとして記録した例外が New Relic でどのように表示されるかを以下に示します。

スパン属性、スパン名、ステータス コードなど、設定した追加の詳細を表示するには、[属性] タブをクリックします。このペインでは、このガイドで使用したインストルメンテーション ライブラリによって自動的に収集される追加のメタデータと、New Relic によって添付されたメタデータを表示することもできます。

データの表示の詳細については、New Relic UI の OpenTelemetry を参照してください。

指標

New Relic の getting-started-python エンティティに到達すると、カスタム カウンター属性など、収集されたすべてのメトリクスのリストが表示されます。

メトリクスエクスプローラー

これは、メトリックのリストを表示できるツールです。

  1. 左側のペインで、[データ] > [メトリクス エクスプローラー]を選択し、[ fibonacci.invocations ] を選択します。

  2. [ディメンション] で、収集した属性とカスタム メトリックを表示し、 fibonacci.valid.nをクリックします。

詳しくは、 メトリクス エクスプローラー ビューに関するドキュメントをご覧ください。

ログ

ログにアクセスする場所は次のとおりです。

ターミナルにもログが表示されます。

ログ ビューに戻り、ログを選択すると、ログ メッセージと、関連するスパンやトレース ID などの収集された追加の属性、および New Relic によって挿入されたメタデータが表示されたペインが開きます。

この小さな青いアイコンをクリックすると、相関分散トレースに移動できます。

これにより、相関トレースを表示するペインが開き、トレースに関する詳細を表示できます。このページの詳細については、UI の OpenTelemetry: 分散トレース ページおよび分散トレース UI の理解と使用を参照してください。

分散トレース ビューから相関ログを見つけることもできます。対応するログを持つトレースを選択すると、それがタブとして示され、ビューを切り替えることなくトレースから直接ログを表示できます。

ログ ビューの詳細については、 こちらをご覧ください。

参考:環境変数

これは、チュートリアル 2 または 3 を実行している場合にエクスポートする必要がある環境変数のリストです。変数のエクスポートが完了したら、変数リストに続くリンクを使用してチュートリアルに戻ります。

上の折りたたみツールにリストされている環境変数をエクスポートした後、チュートリアルに戻ってセットアップを完了します。

次は何ですか?

OpenTelemetry インストルメンテーションと SDK 構成を試したので、学んだことを適用して、OpenTelemetry と New Relic を使用して独自のアプリまたはサービスをセットアップできます。詳細については、OpenTelemetry を使用して独自のアプリまたはサービスをセットアップするを参照してください。

Copyright © 2024 New Relic Inc.

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