コンテンツにスキップ

LoongSuite

LoongSuite オープンソース版では、Go アプリのトレースデータを OpenTelemetry OTLP プロトコルでコレクタへ送信できます。DataKit は OpenTelemetry コレクタを使って LoongSuite が送信したトレースデータを受信でき、専用コレクタを追加で有効化する必要はありません。

LoongSuite を接続する前に、DataKit で OpenTelemetry コレクタが有効になっていることを確認し、使用する OTLP プロトコルに応じて gRPC か HTTP/protobuf の接続方式を選んでください。

設定

DataKit の設定

DataKit のインストールディレクトリにある conf.d/samples ディレクトリへ移動し、opentelemetry.conf.sample をコピーして opentelemetry.conf に名前を変更します。gRPC または HTTP の受信設定が有効になっていることを確認してください。

OpenTelemetry コレクタのデフォルト受信アドレスは次のとおりです。

プロトコル アドレス
gRPC http://<datakit-host>:4317
HTTP/protobuf http://<datakit-host>:9529/otel/v1/traces

設定後、DataKit を再起動 します。

LoongSuite の設定

トレースデータの送信には gRPC プロトコルの使用を推奨します。

export OTEL_TRACES_EXPORTER=otlp
export OTEL_EXPORTER_OTLP_PROTOCOL=grpc
export OTEL_EXPORTER_OTLP_ENDPOINT=http://<datakit-host>:4317
export OTEL_SERVICE_NAME=<service-name>
export OTEL_RESOURCE_ATTRIBUTES=deployment.environment=prod,service.version=1.0.0

HTTP/protobuf プロトコルを使用する場合は、Trace endpoint を DataKit OpenTelemetry コレクタのデフォルトパスに明示的に設定する必要があります。

export OTEL_TRACES_EXPORTER=otlp
export OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf
export OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=http://<datakit-host>:9529/otel/v1/traces
export OTEL_SERVICE_NAME=<service-name>
export OTEL_RESOURCE_ATTRIBUTES=deployment.environment=prod,service.version=1.0.0
Warning

DataKit OpenTelemetry コレクタの HTTP Trace のデフォルトパスは /otel/v1/traces です。LoongSuite または OpenTelemetry SDK がデフォルトの OTLP HTTP パス /v1/traces を使用する場合は、LoongSuite 側で endpoint を明示的に調整する必要があります。

フィールド対応

LoongSuite が送信する OTLP span attributes は、OpenTelemetry コレクタによって固定のタグ一覧に従って抽出されます。代表的なフィールド対応は次のとおりです。

元のフィールド DataKit フィールド
db.system db_system
db.system.name db_system
db.operation db_operation
db.operation.name db_operation
db.query.text db_statement
db.namespace db_name
db.collection.name db_collection
http.request.method http_method
http.response.status_code http_status_code
network.protocol.name net_protocol_name
network.protocol.version net_protocol_version
network.local.address network_local_address
network.local.port network_local_port
user_agent.original user_agent_original
messaging.system messaging_system
messaging.operation.name messaging_operation
messaging.operation.type messaging_operation_type
messaging.message.id messaging_message_id
rpc.system.name rpc_system
rpc.method rpc_method
rpc.grpc.status_code rpc_grpc_status_code

LoongSuite が送信するカスタム attributes を抽出したい場合は、opentelemetry.confcustomer_tags を設定できます。customer_tags は正規表現に対応しており、一致したフィールドはタグとして昇格され、フィールド名内の ._ に置き換えられます。

[[inputs.opentelemetry]]
  customer_tags = [
    "reg:^db\\.query\\.parameter\\.",
    "reg:^kratos\\.service\\.meta\\.",
    "reg:^gen_ai\\.other_input\\.",
    "reg:^gen_ai\\.other_output\\.",
  ]

データの確認

設定が完了したら、LoongSuite を組み込んだ Go アプリを起動してリクエストを発生させます。トレースデータは DataKit OpenTelemetry コレクタに入り、Guance プラットフォームのトレースビューアーで service.name ごとに表示されます。

トレースが送信されない場合は、次の点を優先して確認してください。

  • DataKit OpenTelemetry コレクタが有効になっており、再起動後に反映されているか;
  • LoongSuite OTLP exporter のプロトコルと endpoint が DataKit の待受設定と一致しているか;
  • HTTP/protobuf を使用している場合、Trace endpoint が /otel/v1/traces になっているか;
  • OTEL_SERVICE_NAME または service.name が設定されているか。

フィードバック

このページは役に立ちましたか?