OpenTelemetry トレースとの統合

トレースに対する OpenTelemetry 定義のサポート

Instana OpenTelemetry のトレースとシームレスに連携できます。 Instana OpenTelemetry のトレースを、デフォルトの W3C トレースコンテキストを使用する Instana で生成されたトレースと関連付けます。

Instana OpenTelemetry の「トレースのセマンティック規約」および「 リソースのセマンティック規約」 で頻繁に使用される定義をサポートしています。 Instana OpenTelemetry のセマンティック規約で定義されている以下の属性をサポートしています。

スパン属性:

- peer.service
- net.peer.ip
- net.peer.name
- net.peer.port
- http.method
- http.url
- http.scheme
- http.host
- http.target
- http.status_code
- http.route
- http.user_agent
- db.system
- db.user
- db.statement
- db.operation
- db.name
- db.connection_string
- messaging.system
- messaging.operation
- messaging.destination
- rpc.system
- rpc.service
- rpc.method
- faas.execution
- faas.trigger
- faas.coldstart
注:Instana は、 OpenTelemetry のデータベースおよびメッセージングのスパンにおいて、 MySQL,、 Redis、 Kafka などの特定の技術を識別します。 データベース・スパンの技術種別を特定するには、そのスパンに属性 db.system. が必要です。 この db.system 属性の取り得る値に関する詳細については、『 データベース呼び出しのセマンティック規約 』を参照してください。 メッセージング・スパンの技術を確認するには、そのスパンに属性が設定 messaging.systemされている必要があります。 この messaging.system 属性の取り得る値に関する詳細については、『 メッセージング呼び出しのセマンティック規約 』を参照してください。

リソース属性:

- service.name
- service.instance.id
- container.id
- process.pid
- telemetry.sdk.language
- host.name
- host.id
- cloud.provider
- faas.id
- device.id
- process.runtime.version
- container.name
- container.runtime
- container.image.name
- container.image.tag
- faas.version

OpenTelemetry の呼び出しを分析する

OpenTelemetry Instana の AutoTrace テクノロジーと統合されています。 OpenTelemetry が有効になっている場合、アプリケーションによって生成されたトレースのスパンは、 Instana トレーサーから生成されたスパンと同様に処理されます。

OpenTelemetry, からの通話をフィルタリングするには、フィルタクエリを OpenTelemetry リソースの属性、 service.name および に設定 is presentします。 リソース・セマンティック規則の OpenTelemetry 仕様 には OpenTelemetry リソース属性 service.nameが必要であるため、このフィルター照会を設定します。 OpenTelemetry には、サービス名を指定するためのさまざまな方法があります。 詳しくは、 OpenTelemetry の公式資料を参照してください。

すべての OpenTelemetry 属性またはリソース属性は、以下のタグで表されます。

  • 動的タグ:これらのタグは、 Instana に送信され、かつコールタグカタログに含まれるすべての OpenTelemetry 属性から算出されます。 タグ・カタログから直接、 http.methodなどの名前で動的タグを簡単に検索できます。 タグ・カタログに入れられる動的タグの数は、500 個の異なる属性名に制限されます。 この制限を超えた場合、静的タグにはこの制限がないため、静的タグのみを使用してフィルタリングおよびグループ化してください。

    OpenTelemetry 動的タグ

  • 静的タグ:これらのタグを使用すると、 Instana に送信されるすべての OpenTelemetry 属性、または OpenTelemetry リソース属性にアクセスできます。 静的タグでフィルタリングまたはグループ化を行うには、まず 「 OpenTelemetry 」タグまたは「 OpenTelemetry 」リソースタグを選択し、そのキーとして属性名を指定する必要があります。

    OpenTelemetry 静的タグ

注:OpenTelemetry 属性が500件の上限を超えた場合は、カスタム OpenTelemetry 属性の命名規則を見直してください。 たとえば、A/Bテストの追跡を行う場合、ユーザーごとに新しい属性( user-123-ab-test=a例:)を作成する代わりに、 user-id=123 とという2つの属性 ab-test=aを使用することができます。 2つの異なるタグを使用することで、 OpenTelemetry のタグの総数を最小限に抑えつつ、データを簡単にフィルタリングしたりグループ化したりすることができます。

既知の制限

  • Instana Instana のデフォルトのコンテキストプロパゲータを、 W3C のTrace Context以外のコンテキストプロパゲータと組み合わせることはサポートされていません。 W3C Trace Context は、 OpenTelemetry のデフォルトのコンテキスト伝播モジュールです。