既存のデータ 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 |
プロトコルをエクスポートします。 使用できる値: grpc、httpprotobuf。 |
--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 エクスポーターを有効または無効にします。 指定できる値: true、false。
例
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 エクスポーターのエクスポート プロトコル。 使用できる値: grpc、httpprotobuf。 既定値は 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 テレメトリを有効または無効にします。 指定できる値: true、false。
例
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')"
}
}
}
}