このドキュメントでは、SDK と gRPC エクスポータを使用して、アプリケーションから OTLP
エンドポイントに指標を直接送信する方法について説明します。gRPC エクスポータは、SDK で使用する場合におすすめのエクスポータです。
OTLP
エンドポイントは、http/proto、http/json、grpc など、すべての OTLP
プロトコルをサポートしています。詳細については、
プロトコルのサポートをご覧ください。
アプリケーション指標を OTLP エンドポイントに直接送信する場合、OpenTelemetry Collector は認証とエンリッチメントを処理しません。 SDK を使用してアプリケーションから指標を送信する場合は、次の操作を行う必要があります。
- 認証情報を取得するの説明に従って、Google アプリケーションのデフォルト認証情報を使用するように OTLP gRPC エクスポータの認証情報を構成します。
- アプリケーションから Google Cloud リソースと Kubernetes リソースを検出します。この方法は、実行しているアプリケーションによって異なります。
始める前に
サンプルを実行するには、必要な API を有効にして認証情報を取得する必要があります。
API を有効にする
次のコマンドを実行して、 Google Cloud プロジェクトで Cloud Monitoring API と Telemetry API を有効にします。
gcloud services enable monitoring.googleapis.com telemetry.googleapis.com
認証情報を取得する
次のコマンドを実行して、Google アプリケーションのデフォルト認証情報を使用するように OTLP gRPC エクスポータの認証情報を構成します。
gcloud auth application-default login
言語固有の例
このセクションでは、カウンタ指標を作成して書き込む言語固有のサンプルを紹介します。サンプルの実行とコードの表示については、タブを選択してください。
Go
このサンプルの構成と実行については、
README ファイルで
Go サンプルをご覧ください。
Java
このサンプルの構成と実行については、
README ファイルで
Java サンプルをご覧ください。
NodeJS
このサンプルの構成と実行については、
README ファイルについては、
NodeJS サンプルをご覧ください。
Python
このサンプルの実行については、README ファイルをご覧ください。
README ファイルをご覧ください。
Python サンプル
Pod として実行されるアプリケーションに Downward API を使用する
env:
- name: POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: NAMESPACE_NAME
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: CONTAINER_NAME
value: my-container-name
- name: OTEL_RESOURCE_ATTRIBUTES
value: k8s.pod.name=$(POD_NAME),k8s.namespace.name=$(NAMESPACE_NAME),k8s.container.name=$(CONTAINER_NAME)
次のステップ
- OpenTelemetry Collector と Telemetry API を OpenTelemetry ゼロコード計測で使用する方法については、 Java で OpenTelemetry ゼロコード計測を使用するをご覧ください。
- 別のエクスポータから
otlphttpエクスポータに移行する方法については、OTLP エクスポータに移行するをご覧ください。 - Telemetry API の詳細については、 Telemetry(OTLP)API の概要をご覧ください。