Compartir a través de


Comando add-telemetry

Agregue o actualice la configuración de OpenTelemetry y Azure Application Insights en un archivo de configuración de Data API Builder existente. Si la runtime.telemetry sección no existe, se crea. Las opciones no especificadas dejan los valores existentes sin modificar.

Nota:

La configuración de telemetría no se puede configurar con dab configure. Use dab add-telemetry para todos los runtime.telemetry cambios.

Para obtener instrucciones conceptuales y tutoriales de un extremo a otro, consulte Uso de OpenTelemetry y seguimientos de actividad y Uso de Azure Application Insights.

Sintaxis

dab add-telemetry [options]

Vista rápida

Opción Resumen
-c, --config Ruta de acceso del archivo de configuración. El valor predeterminado es dab-config.json.

Sección OpenTelemetry

Opción Resumen
--otel-enabled Habilite o deshabilite OpenTelemetry.
--otel-endpoint Dirección URL del punto de conexión del recopilador de OpenTelemetry.
--otel-protocol Protocolo de exportación. Valores permitidos: grpc, httpprotobuf.
--otel-service-name Etiqueta de nombre de servicio en todos los datos de telemetría.
--otel-headers Encabezados adicionales que se van a enviar al recopilador de OpenTelemetry.

Sección de Azure Application Insights

Opción Resumen
--app-insights-enabled Habilite o deshabilite Azure Application Insights.
--app-insights-conn-string Cadena de conexión de Application Insights.

-c, --config

Ruta de acceso al archivo de configuración. El valor predeterminado es a dab-config.json menos que dab-config.<DAB_ENVIRONMENT>.json exista, donde DAB_ENVIRONMENT es una variable de entorno.

Ejemplo

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

--otel-enabled

Habilite o deshabilite el exportador de OpenTelemetry. Valores aceptados: true y false.

Ejemplo

dab add-telemetry \
  --otel-enabled true

Configuración resultante

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

--otel-endpoint

Dirección URL del recopilador o back-end de OpenTelemetry. Para gRPC, use http://<host>:<port>. Para HTTP, incluya la ruta de acceso completa, por ejemplo http://<host>:<port>/v1/traces.

Ejemplo

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

Configuración resultante

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

--otel-protocol

Protocolo de exportación para el exportador de OpenTelemetry. Valores permitidos: grpc, httpprotobuf. Tiene como valor predeterminado grpc.

Ejemplo

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

Configuración resultante

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

--otel-service-name

Etiqueta de nombre de servicio asociada a todos los seguimientos y métricas. Aparece como identificador de servicio en el back-end de telemetría. Tiene como valor predeterminado dab.

Ejemplo

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

Configuración resultante

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

--otel-headers

Encabezados HTTP adicionales que se van a incluir al exportar la telemetría al recopilador. Use una lista separada por comas key=value . Use esta opción para los puntos de conexión del recopilador autenticados que requieren una clave de API o un encabezado de autorización.

Ejemplo

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

--app-insights-enabled

Habilite o deshabilite la telemetría de Azure Application Insights. Valores aceptados: true y false.

Ejemplo

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

Configuración resultante

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

--app-insights-conn-string

Cadena de conexión para el recurso de Azure Application Insights. Use una referencia de variable de entorno para evitar confirmar secretos en el control de código fuente.

Advertencia

Nunca codifique de forma rígida la cadena de conexión directamente en el archivo de configuración. Use @env('<variable-name>') o un administrador de secretos.

Ejemplo

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

Configuración resultante

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

Ejemplo completo: OpenTelemetry y Application Insights

En el ejemplo siguiente se habilitan OpenTelemetry y Application Insights en un solo comando.

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')"

Configuración resultante

{
  "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')"
      }
    }
  }
}