OpenTelemetry のデータを Instana バックエンドに送信する
テレメトリデータは、 OTLP 形式で、アプリケーションやシステムから直接 Instana のバックエンドに送信できます。 以下の構成を実行します。
前提条件
バックエンド
otlp-acceptorコンポーネントの特殊なエンドポイントは、 OpenTelemetry データの送信時に使用されます。以下の設定例では、 OpenTelemetry コレクター を使用して、 Instanaotlp-acceptorバックエンドコンポーネントに接続しています:exporters: otlp: endpoint: ${INSTANA_OTLP_GRPC_BACKEND}:4317 headers: x-instana-key: xxxxxxxに付加された値
https://は、安全な接続otlp. endpointが使用されていることを示しています。 tls が設定されていない場合、デフォルトで有効になります。 詳細については、 OtlpExporter Setting を参照してください。- 検証を行うには、必要な Instana エージェントキーを設定する必要があります。 Instana バックエンドをターゲットにするには、x-instana-key フィールドに Instana のエージェントキーを設定してください。
必要なリソース属性または環境変数の作成
Instana のバックエンドでは、 faas.id、または device.idhost.id のリソース属性が必要です。 あるいは、x-instana-hostを環境変数として設定することもできます。 Instana 属性 host.id を使用してホストを一意に識別し、 OpenTelemetry エンティティを正しいホストに関連付けます。 以下の情報を host.id 、次の2つの方法で提供できます:
OpenTelemetry SDK を使用する(コンテナ化されていないシステムでの使用を推奨)
OpenTelemetry には、に関する標準的な意味論的
host.id規約があります。 ほとんどの OpenTelemetry SDKは、コンテナ化されていないシステムにおけるリソースhost.id属性の収集に対応しています。 OpenTelemetryhost.idのSDKを通じてデータを提供すると、 Instana は、 OpenTelemetry のエンティティを Instana のインフラストラクチャ監視における対応するホストにシームレスに紐付けることができます。Instana
host.idのUIから取得することでInstana
host.idのUIでこれを確認するには、 「Infrastructure 」>「 Analyze Infrastructure」 に移動してください。 「エンティティの種類」 の下に表示されている 「ホスト」 をクリックします。 リストから目的のホストをクリックして、詳細を表示してください。 「システム」 の下に、 ホストID が表示されます。 OpenTelemetry のリソース属性でこれを手動で設定すると、 Instanahost.idは OpenTelemetry エンティティを、 Instana インフラストラクチャ監視の対応するホストにリンクします。
OpenTelemetry コレクターが Daemonset モードでデプロイされている場合、 OpenTelemetry コレクターは、 OpenTelemetry データを送信するアプリケーションの同じホストに配置されます。 OTLPx-instana-host エクスポーターを使用してヘッダーを設定することもできます。
exporters:
otlp:
endpoint: ${INSTANA_OTLP_GRPC_BACKEND}:4317
headers:
x-instana-key: xxxxxxx
x-instana-host: xxxx // or use ${host.name} if set in the configuration files processors.resource.attributes or in the OpenTelemetry SDK
https:// は、セキュアな接続 otlp. endpoint が使用されていることを示しています。 tls が設定されていない場合、デフォルトで有効になります。 詳細については、「 OtlpExporter」の設定を参照してください。- Instana バックエンドをターゲットにするため、 Instana
x-instana-keyエージェントのエージェントキーをフィールドに設定します。 - ホスト名フィールド
x-instana-hostに、 OpenTelemetry コレクターを実行しているホストの名前である「${host.name}」という値を設定します。 host.name は、設定ファイル processors.resource.attributes、または OpenTelemetry SDK内にあります。 host.name が設定されていない場合は、環境変数(例:`hostname` や `PATH`HOSTなどHOSTNAME)からホスト名を設定するか、手動で設定することができます。 - Instana
otlp-acceptorバックエンドのコンポーネントの正しいドメイン名を、このendpointフィールドに設定してください。 - Instana で使用される OTLP のポート番号に関する詳細については、 「ポート番号」 を参照してください。
Instana のセルフホスト環境の設定
Instana のセルフホスト版では、ポート443が および OTLP/HTTP OTLP/gRPC プロトコルに使用されます。 以下のドメイン・ネームがプロトコルに使用されます。
otlp-grpc.<base_domain> ( OTLP/gRPC otlp-http.<base_domain> for OTLP/HTTP の場合)
OpenTelemetry のデータを Instana バックエンドに送信するには、以下の手順を実行してください:
Instana のバックエンドにおいて、` DNS ` ディレクトリ内に `component`
otlp-acceptorコンポーネント用のエントリが 2otlp-http.<base_domain>つ(およびotlp-grpc.<basedomain>)作成されていることを確認してください。- Instana のセルフホスト型 Standard Edition における DNS の設定に関する詳細については、 「シングルノードクラスタの設定」 DNS および「 マルチノードクラスタの設定」 DNS を参照してください。
- Kubernetes プラットフォーム上の Instana セルフホスト型Custom Editionにおける DNS の設定に関する詳細については、 「ロードバランサーの設定」および「 DNS 」を参照してください。
- Openshiftプラットフォーム上で Instana のセルフホスト型Custom Editionを設定する方法の詳細については、 「Openshiftでのロードバランサーの設定」および「 DNS - Instana バックエンド」 を参照してください。
「 OTLP 」エクスポーターを 「 OpenTelemetry 」コレクター で使用できるように設定し、以下のいずれかの手順を実行してください:
OTLP 認証確認済みの輸出業者:
自己ホスト型 instana から CA ファイルを取得します。
- 自己ホスト型 Standard Edition の場合:
kubectl get secret instana-tls -n instana-core -o jsonpath='{.data.ca\.crt}'|base64 -d > ca.crt - 自己ホスト型のカスタム・エディションの場合、openssl コマンドによって証明書が生成されます。
kubectl get secret instana-tls -n instana-core -o jsonpath='{.data.tls\.crt}'|base64 -d > tls.crt
- 自己ホスト型 Standard Edition の場合:
ca.crtを OpenTelemetry コレクター環境の場所にコピーします。exporters: otlp: endpoint: https://otlp-grpc.<base_domain>:443 tls: insecure: false ca_file: <path_to_cert_file>/<cert_file_name> headers: x-instana-key: xxxxxx x-instana-host: xxxxxx // or use ${host.name} if set in the configuration files processors.resource.attributes or in the OpenTelemetry SDK
OTLP 認証確認のない輸出業者:
exporters: otlp: endpoint: https://otlp-grpc.<base_domain>:443 tls: insecure: false insecure_skip_verify: true headers: x-instana-key: xxxxxx x-instana-host: xxxxxx // or use ${host.name} if set in the configuration files processors.resource.attributes or in the OpenTelemetry SDK
OpenTelemetry コレクターを使用して、テレメトリデータを Instana バックエンドに転送する
OpenTelemetry のデータを Instana バックエンドに転送するには、以下の手順を実行してください:
Instana のデプロイメントリージョンを特定してください。 Instana バックエンドのエンドポイントは、デプロイ先のリージョンによって異なります。 ご使用の環境専用の Instana リージョンを見つけるには、 Instana のUIで、ナビゲーションメニューから [その他] > [ Instana について ]をクリックしてください。 「 Instana 」ダイアログが表示されます。 ダイアログに Instana のデプロイメントリージョンが表示されます。
Instana の各環境( SaaS )には、
redblueやgreen、orangeや、やcoral、といった特定のリージョン名が関連付けられています。 Instana バックエンドのエンドポイントに関する詳細については、「otlp-acceptorInstana バックエンド otlp-acceptor のエンドポイント」 を参照してください。Instana バックエンドへの または
OTLP/HTTP接続OTLP/gRPCを設定します。 たとえば、 Instanablue環境を使用している場合、以下の設定を使用して、OTLP/gRPCInstanaOTLP/HTTPバックエンドへの接続を設定できますOTLP/gRPCexporters: otlp: endpoint: otlp-blue-saas.instana.io:4317 headers: x-instana-key: xxxx ... service: pipelines: traces: receivers: [...] processors: [...] exporters: [..., otlp] metrics: receivers: [...] processors: [...] exporters: [..., otlp] logs: receivers: [...] processors: [...] exporters: [..., otlp]Instana バックエンドをターゲットにするため、 Instana
x-instana-keyエージェントのエージェントキーをフィールドに設定します。OTLP/HTTPexporters: otlphttp: endpoint: https://otlp-blue-saas.instana.io:4318 headers: x-instana-key: xxxx ... service: pipelines: traces: receivers: [...] processors: [...] exporters: [..., otlphttp] metrics: receivers: [...] processors: [...] exporters: [..., otlphttp] logs: receivers: [...] processors: [...] exporters: [..., otlphttp]
リソース属性の設定
Instana のバックエンドでは、 faas.id、または device.idhost.id のリソース属性が必要です。 あるいは、ホスト名を指す環境変数として x-instana-host 設定することもできます。
OpenTelemetry コレクターが DaemonSet モードでデプロイされている場合、つまり、 OpenTelemetry コレクターが OpenTelemetry データを送信するアプリケーションと同じホスト上に配置されている場合は、 OTLPx-instana-host エクスポーターを使用してヘッダーを設定できます。 以下の例を参照してください。
exporters:
otlp:
endpoint: otlp-blue-saas.instana.io:4317
headers:
x-instana-key: xxxxxxx
x-instana-host: xxxx // or use ${host.name} if set in the configuration files processors.resource.attributes or in the OpenTelemetry SDK
host.id, faas.id, または device.id host.nameリソース属性が定義されていない場合は、 x-instana-host フィールドにホスト名を指定する必要があります。 Instanahost.name のUIでこれを確認するには、 「インフラストラクチャの分析 」>「 ホスト」 に移動してください。 リストから必要なホストを選択して、詳細を表示してください。 「システム」 の下に、 「ホスト名」 があります。resource host.name 属性を追加するには、以下の resource プロセッサを使用します:
processors:
resource:
attributes:
- key: host.name
action: upsert
value: "myhost1.ibm.com"
エージェントconfiguration.yamlファイルのすべての設定変更を完了したら、OpenTelemetry コレクターを使用するために次のコマンドを実行します:
otelcol-contrib --config configuration.yaml
Instana バックエンド「otlp-acceptor」のエンドポイント
以下の表には、さまざまな Instana および SaaS 環境における Instanaotlp-acceptor バックエンドのドメイン名が表示されています。 Instana SaaS 環境の詳細については、 「 OpenTelemetry Collector を使用した OpenTelemetry との連携」 を参照してください。
| Instana SaaS 環境 | otlp-accepter のドメイン名 |
|---|---|
| 青色 | gRPC: otlp-grpc-blue-saas.instana.io:443 |
| レッド | gRPC: otlp-grpc-red-saas.instana.io:443 |
| グリーン | gRPC: otlp-grpc-green-saas.instana.io:443 |
| オレンジ | gRPC: otlp-grpc-orange-saas.instana.io:443 |
| コーラル | gRPC: otlp-grpc-coral-saas.instana.io:443 |
| ティール | gRPC: otlp-grpc-teal-saas.instana.io:443 |
| ミズ | gRPC: otlp-grpc-mizu-saas.instana.io:443 |
| カボチャ | gRPC: otlp-grpc-pumpkin-saas.instana.io:443 |
| 黄色 | gRPC: otlp-grpc-yellow-saas.instana.io:443 |
| エメラルド | gRPC: otlp-grpc-emerald-saas.instana.io:443 |