次の方法で共有


add-telemetry コマンド

既存のデータ API ビルダー構成ファイルで OpenTelemetry と Azure Application Insights の設定を追加または更新します。 runtime.telemetry セクションが存在しない場合は、作成されます。 未指定のオプションでは、既存の値は変更されません。

テレメトリ設定は、 dab configureでは構成できません。 すべてのruntime.telemetry変更に対してdab add-telemetryを使用します。

概念ガイダンスとエンドツーエンドのチュートリアルについては、「OpenTelemetry とアクティビティ トレースの使用」および「Azure Application Insights の使用」を参照してください。

構文

dab add-telemetry [options]

チラッ

オプション まとめ
-c, --config 構成ファイルのパス。 デフォルト dab-config.json

OpenTelemetry セクション

オプション まとめ
--otel-enabled OpenTelemetry を有効または無効にします。
--otel-endpoint OpenTelemetry コレクター エンドポイント URL。
--otel-protocol プロトコルをエクスポートします。 使用できる値: grpchttpprotobuf
--otel-service-name すべてのテレメトリのサービス名タグ。
--otel-headers OpenTelemetry コレクターに送信する追加のヘッダー。

Azure Application Insights セクション

オプション まとめ
--app-insights-enabled Azure Application Insights を有効または無効にします。
--app-insights-conn-string Application Insights 接続文字列。

-c, --config

構成ファイルへのパス。 dab-config.jsonが存在しない限り、既定値は dab-config.<DAB_ENVIRONMENT>.json で、DAB_ENVIRONMENTは環境変数です。

dab add-telemetry \
  --config ./my-config.json \
  --otel-enabled true

--otel-enabled

OpenTelemetry エクスポーターを有効または無効にします。 指定できる値: truefalse

dab add-telemetry \
  --otel-enabled true

結果の構成

{
  "runtime": {
    "telemetry": {
      "open-telemetry": {
        "enabled": true
      }
    }
  }
}

--otel-endpoint

OpenTelemetry コレクターまたはバックエンドの URL。 gRPC の場合は、 http://<host>:<port>を使用します。 HTTP の場合は、完全なパス ( http://<host>:<port>/v1/tracesなど) を含めます。

dab add-telemetry \
  --otel-enabled true \
  --otel-endpoint "http://localhost:4317"

結果の構成

{
  "runtime": {
    "telemetry": {
      "open-telemetry": {
        "enabled": true,
        "endpoint": "http://localhost:4317"
      }
    }
  }
}

--otel-protocol

OpenTelemetry エクスポーターのエクスポート プロトコル。 使用できる値: grpchttpprotobuf。 既定値は grpc です。

dab add-telemetry \
  --otel-enabled true \
  --otel-endpoint "http://localhost:4318" \
  --otel-protocol "httpprotobuf"

結果の構成

{
  "runtime": {
    "telemetry": {
      "open-telemetry": {
        "enabled": true,
        "endpoint": "http://localhost:4318",
        "exporter-protocol": "httpprotobuf"
      }
    }
  }
}

--otel-service-name

すべてのトレースとメトリックにアタッチされたサービス名タグ。 テレメトリ バックエンドのサービス識別子として表示されます。 既定値は dab です。

dab add-telemetry \
  --otel-enabled true \
  --otel-service-name "my-dab-api"

結果の構成

{
  "runtime": {
    "telemetry": {
      "open-telemetry": {
        "enabled": true,
        "service-name": "my-dab-api"
      }
    }
  }
}

--otel-headers

テレメトリをコレクターにエクスポートするときに含める追加の HTTP ヘッダー。 コンマ区切りの key=value リストを使用します。 このオプションは、API キーまたは承認ヘッダーを必要とする認証済みコレクター エンドポイントに使用します。

dab add-telemetry \
  --otel-enabled true \
  --otel-endpoint "https://collector.example.com:4317" \
  --otel-headers "api-key=my-secret-key"

--app-insights-enabled

Azure Application Insights テレメトリを有効または無効にします。 指定できる値: truefalse

dab add-telemetry \
  --app-insights-enabled true

結果の構成

{
  "runtime": {
    "telemetry": {
      "application-insights": {
        "enabled": true
      }
    }
  }
}

--app-insights-conn-string

Azure Application Insights リソースの接続文字列。 ソース管理へのシークレットのコミットを回避するには、環境変数参照を使用します。

Warnung

接続文字列を構成ファイルに直接ハードコーディングしないでください。 @env('<variable-name>')またはシークレット マネージャーを使用します。

dab add-telemetry \
  --app-insights-enabled true \
  --app-insights-conn-string "@env('APP_INSIGHTS_CONN_STRING')"

結果の構成

{
  "runtime": {
    "telemetry": {
      "application-insights": {
        "enabled": true,
        "connection-string": "@env('APP_INSIGHTS_CONN_STRING')"
      }
    }
  }
}

完全な例: OpenTelemetry と Application Insights

次の例では、1 つのコマンドで OpenTelemetry と Application Insights の両方を有効にします。

dab add-telemetry \
  --otel-enabled true \
  --otel-endpoint "http://localhost:4317" \
  --otel-protocol "grpc" \
  --otel-service-name "my-dab-api" \
  --app-insights-enabled true \
  --app-insights-conn-string "@env('APP_INSIGHTS_CONN_STRING')"

結果の構成

{
  "runtime": {
    "telemetry": {
      "open-telemetry": {
        "enabled": true,
        "endpoint": "http://localhost:4317",
        "service-name": "my-dab-api",
        "exporter-protocol": "grpc"
      },
      "application-insights": {
        "enabled": true,
        "connection-string": "@env('APP_INSIGHTS_CONN_STRING')"
      }
    }
  }
}