Compartir a través de


Configuración del panel

El panel se configura cuando se inicia. La configuración incluye direcciones de front-end y protocolo de OpenTelemetry (OTLP), el punto de conexión del servicio de recursos, la autenticación, los límites de telemetría, etc.

Cuando se inicia el panel con el proyecto host de aplicación de .NET.NET Aspire, se configura automáticamente para mostrar los recursos y la telemetría de la aplicación. La configuración se proporciona al iniciar el panel en modo independiente.

Hay muchas maneras de proporcionar configuración:

  • Argumentos de la línea de comandos.
  • Variables de entorno. El delimitador de : debe reemplazarse por el carácter de subrayado doble (__) en los nombres de variables de entorno.
  • Archivo de configuración de JSON opcional. La configuración DOTNET_DASHBOARD_CONFIG_FILE_PATH se puede usar para especificar un archivo de configuración JSON.

Considere el ejemplo siguiente, que muestra cómo configurar el panel cuando se inicia desde un contenedor de Docker:

docker run --rm -it -p 18888:18888 -p 4317:18889 -d --name aspire-dashboard \
    -e DASHBOARD__TELEMETRYLIMITS__MAXLOGCOUNT='1000' \
    -e DASHBOARD__TELEMETRYLIMITS__MAXTRACECOUNT='1000' \
    -e DASHBOARD__TELEMETRYLIMITS__MAXMETRICSCOUNT='1000' \
    mcr.microsoft.com/dotnet/aspire-dashboard:9.0

Como alternativa, estos mismos valores se pueden configurar mediante un archivo de configuración de JSON que se especifica mediante DOTNET_DASHBOARD_CONFIG_FILE_PATH:

{
  "Dashboard": {
    "TelemetryLimits": {
      "MaxLogCount": 1000,
      "MaxTraceCount": 1000,
      "MaxMetricsCount": 1000
    }
  }
}

Importante

El panel muestra información sobre los recursos, incluida su configuración, los registros de consola y la telemetría detallada.

Los datos que se muestran en el panel pueden ser confidenciales. Por ejemplo, secretos en variables de entorno y datos confidenciales en tiempo de ejecución en telemetría. Se debe tener cuidado para configurar el panel para proteger el acceso.

Para obtener más información, consulte de seguridad del panel .

Nota

La configuración descrita en esta página es para el panel independiente. Para configurar un proyecto host de aplicación de .NET.NET Aspire, consulte configuración del host de aplicación.

Configuración común

Opción Valor predeterminado Descripción
ASPNETCORE_URLS http://localhost:18888 Uno o varios puntos de conexión HTTP a través del cual se sirve el front-end del panel. El punto de conexión de front-end se usa para ver el panel en un explorador. Cuando el host de la aplicación de .NET.NET Aspire inicia el panel, esta dirección está protegida con HTTPS. Se recomienda proteger el panel con HTTPS.
DOTNET_DASHBOARD_OTLP_ENDPOINT_URL http://localhost:18889 Punto de conexión de OTLP/gRPC. Este punto de conexión hospeda un servicio OTLP y recibe telemetría mediante gRPC. Cuando el host de la aplicación de .NET.NET Aspire inicia el panel, esta dirección está protegida con HTTPS. Se recomienda proteger el panel con HTTPS.
DOTNET_DASHBOARD_OTLP_HTTP_ENDPOINT_URL http://localhost:18890 Punto de conexión de OTLP/HTTP de . Este punto de conexión hospeda un servicio OTLP y recibe telemetría mediante Protobuf a través de HTTP. Cuando el panel lo inicia el .NET.NET Aspire host de la aplicación, el punto de conexión OTLP/HTTP no está configurado de forma predeterminada. Para configurar un punto de conexión OTLP/HTTP con el host de la aplicación, establezca un valor de DOTNET_DASHBOARD_OTLP_HTTP_ENDPOINT_URL env var en launchSettings.json. Se recomienda proteger el panel con HTTPS.
DOTNET_DASHBOARD_UNSECURED_ALLOW_ANONYMOUS false Configura el panel para que no use la autenticación y acepte el acceso anónimo. Esta configuración es un acceso directo para configurar Dashboard:Frontend:AuthMode y Dashboard:Otlp:AuthMode para Unsecured.
DOTNET_DASHBOARD_CONFIG_FILE_PATH null Ruta de acceso de un archivo de configuración de JSON. Si el panel se ejecuta en un contenedor de Docker, esta es la ruta de acceso al archivo de configuración de un volumen montado. Este valor es opcional.
DOTNET_RESOURCE_SERVICE_ENDPOINT_URL null Punto de conexión de gRPC al que se conecta el panel para sus datos. Si este valor no está especificado, el panel muestra los datos de telemetría, pero no hay registros de la consola o lista de recursos. Esta configuración es un acceso directo a Dashboard:ResourceServiceClient:Url.

Autenticación de front-end

La autenticación del punto de conexión de front-end del panel está configurada con Dashboard:Frontend:AuthMode. El front-end se puede proteger con la autenticación de token de explorador o OpenID Connect (OIDC).

La autenticación de token del explorador funciona mediante el front-end que solicita un token. El token se puede escribir en la interfaz de usuario o proporcionarse como un valor de cadena de consulta en la página de inicio de sesión. Por ejemplo, https://localhost:1234/login?t=TheToken. Cuando el token se autentica correctamente, se conserva un cookie de autenticación en el explorador y el explorador se redirige a la aplicación.

Opción Valor predeterminado Descripción
Dashboard:Frontend:AuthMode BrowserToken Se puede establecer en BrowserToken, OpenIdConnect o Unsecured. Unsecured solo se debe usar durante el desarrollo local. No se recomienda al hospedar el panel públicamente o en otras configuraciones.
Dashboard:Frontend:BrowserToken null Especifica el token del explorador. Si no se especifica el token del explorador, el panel genera uno. Las herramientas que quieren automatizar el inicio de sesión con la autenticación de tokens del explorador pueden especificar un token y abrir un explorador con el token en la cadena de consulta. Se debe generar un nuevo token cada vez que se inicie el panel.
Dashboard:Frontend:OpenIdConnect:NameClaimType name Especifica uno o varios tipos de notificación que se deben usar para mostrar el nombre completo del usuario autenticado. Puede ser un tipo de notificación único o una lista delimitada por comas de tipos de notificación.
Dashboard:Frontend:OpenIdConnect:UsernameClaimType preferred_username Especifica uno o varios tipos de notificación que se deben usar para mostrar el nombre de usuario del usuario autenticado. Puede ser un tipo de notificación único o una lista delimitada por comas de tipos de notificación.
Dashboard:Frontend:OpenIdConnect:RequiredClaimType null Especifica la notificación que debe estar presente para los usuarios autorizados. Se produce un error en la autorización sin esta notificación. Este valor es opcional.
Dashboard:Frontend:OpenIdConnect:RequiredClaimValue null Especifica el valor de la notificación necesaria. Solo se usa si también se especifica Dashboard:Frontend:OpenIdConnect:RequireClaimType. Este valor es opcional.
Authentication:Schemes:OpenIdConnect:Authority null Dirección URL al proveedor de identidades (IdP).
Authentication:Schemes:OpenIdConnect:ClientId null Identidad del usuario de confianza (RP).
Authentication:Schemes:OpenIdConnect:ClientSecret null Un secreto que solo sabría el rp real.
Otras propiedades de OpenIdConnectOptions null Los valores de la sección de configuración Authentication:Schemes:OpenIdConnect:* se enlazan a OpenIdConnectOptions, como Scope.

Nota

Es posible que se requiera una configuración adicional al usar OpenIdConnect como modo de autenticación detrás de un proxy inverso que finalice SSL. Compruebe si necesita ASPNETCORE_FORWARDEDHEADERS_ENABLED establecer en true.

Para obtener más información, consulte Configuración de ASP.NET Core para trabajar con servidores proxy y equilibradores de carga.

Autenticación de OTLP

La autenticación del punto de conexión de OTLP se configura con Dashboard:Otlp:AuthMode. El punto de conexión de OTLP se puede proteger con una clave de API o client certificado autenticación.

La autenticación de clave de API funciona al requerir que cada solicitud de OTLP tenga un valor de encabezado x-otlp-api-key válido. Debe coincidir con la clave principal o secundaria.

Opción Valor predeterminado Descripción
Dashboard:Otlp:AuthMode Unsecured Se puede establecer en ApiKey, Certificate o Unsecured. Unsecured solo se debe usar durante el desarrollo local. No se recomienda al hospedar el panel públicamente o en otras configuraciones.
Dashboard:Otlp:PrimaryApiKey null Especifica la clave de API principal. La clave de API puede ser cualquier texto, pero se recomienda un valor con al menos 128 bits de entropía. Este valor es necesario si el modo de autenticación es clave de API.
Dashboard:Otlp:SecondaryApiKey null Especifica la clave de API secundaria. La clave de API puede ser cualquier texto, pero se recomienda un valor con al menos 128 bits de entropía. Este valor es opcional. Si se especifica una segunda clave de API, el valor de encabezado de x-otlp-api-key entrante puede coincidir con la clave principal o secundaria.

OTLP CORS

El uso compartido de recursos entre orígenes (CORS) se puede configurar para permitir que las aplicaciones del explorador envíen telemetría al panel.

De forma predeterminada, las aplicaciones del explorador están restringidas a realizar llamadas API entre dominios. Esto afecta al envío de telemetría al panel porque el panel y la aplicación del explorador siempre están en dominios diferentes. Para configurar CORS, use la sección Dashboard:Otlp:Cors y especifique los orígenes y encabezados permitidos:

{
  "Dashboard": {
    "Otlp": {
      "Cors": {
        "AllowedOrigins": "http://localhost:5000,https://localhost:5001"
      }
    }
  }
}

Tenga en cuenta las siguientes opciones de configuración:

Opción Valor predeterminado Descripción
Dashboard:Otlp:Cors:AllowedOrigins null Especifica los orígenes permitidos para CORS. Es una cadena delimitada por comas y puede incluir el * comodín para permitir cualquier dominio. Esta opción es opcional y se puede establecer mediante la variable de entorno DASHBOARD__OTLP__CORS__ALLOWEDORIGINS.
Dashboard:Otlp:Cors:AllowedHeaders null Cadena delimitada por comas que representa los encabezados permitidos para CORS. Esta configuración es opcional y se puede establecer mediante la variable de entorno DASHBOARD__OTLP__CORS__ALLOWEDHEADERS.

Nota

El panel solo admite el método POST para enviar telemetría y no permite la configuración de los métodos permitidos (Access-Control-Allow-Methods) para CORS.

Recursos

El panel se conecta a un servicio de recursos para cargar y mostrar información de recursos. El client está configurado en el panel para conectarse al servicio.

El servicio de recursos client autenticación se configura con Dashboard:ResourceServiceClient:AuthMode. El client se puede configurar para admitir la clave de API o la autenticación de certificados client.

Opción Valor predeterminado Descripción
Dashboard:ResourceServiceClient:Url null Punto de conexión de gRPC al que se conecta el panel para sus datos. Si este valor no está especificado, el panel muestra los datos de telemetría, pero no hay registros de la consola o lista de recursos.
Dashboard:ResourceServiceClient:AuthMode null Se puede establecer en ApiKey, Certificate o Unsecured. Unsecured solo se debe usar durante el desarrollo local. No se recomienda al hospedar el panel públicamente o en otras configuraciones. Este valor es necesario si se especifica una dirección URL del servicio de recursos.
Dashboard:ResourceServiceClient:ApiKey null API que se va a enviar al servicio de recursos en el encabezado x-resource-service-api-key. Este valor es necesario si el modo de autenticación es clave de API.
Dashboard:ResourceServiceClient:ClientCertificate:Source null Se puede establecer en File o KeyStore. Este valor es necesario si el modo de autenticación es client certificado.
Dashboard:ResourceServiceClient:ClientCertificate:FilePath null Ruta de acceso del archivo de certificado. Este valor es necesario si source es File.
Dashboard:ResourceServiceClient:ClientCertificate:Password null Contraseña del archivo de certificado. Este valor es opcional.
Dashboard:ResourceServiceClient:ClientCertificate:Subject null Asunto del certificado. Este valor es necesario si source es KeyStore.
Dashboard:ResourceServiceClient:ClientCertificate:Store My El certificado StoreName.
Dashboard:ResourceServiceClient:ClientCertificate:Location CurrentUser El certificado StoreLocation.

Límites de telemetría

La telemetría se almacena en la memoria. Para evitar un uso excesivo de memoria, el panel tiene límites en el recuento y el tamaño de la telemetría almacenada. Cuando se alcanza un límite de recuento, se agrega nueva telemetría y se quita la telemetría más antigua. Cuando se alcanza un límite de tamaño, los datos se truncan al límite.

Los límites de telemetría tienen ámbitos diferentes en función del tipo de telemetría:

  • MaxLogCount y MaxTraceCount se comparten entre recursos. Por ejemplo, un MaxLogCount valor de 5000 configura el panel para almacenar hasta 5000 entradas de registro totales para todos los recursos.
  • MaxMetricsCount es por recurso. Por ejemplo, un valor de MaxMetricsCount de 10 000 configura el panel para almacenar hasta 10 000 puntos de datos de métricas por recurso.
Opción Valor predeterminado Descripción
Dashboard:TelemetryLimits:MaxLogCount 10,000 Número máximo de entradas de registro. El límite se comparte entre los recursos.
Dashboard:TelemetryLimits:MaxTraceCount 10,000 Número máximo de seguimientos de registro. El límite se comparte entre los recursos.
Dashboard:TelemetryLimits:MaxMetricsCount 50,000 Número máximo de puntos de datos de métricas. El límite es por recurso.
Dashboard:TelemetryLimits:MaxAttributeCount 128 Número máximo de atributos en la telemetría.
Dashboard:TelemetryLimits:MaxAttributeLength null Longitud máxima de los atributos.
Dashboard:TelemetryLimits:MaxSpanEventCount null Número máximo de eventos en atributos de intervalo.

Otro

Opción Valor predeterminado Descripción
Dashboard:ApplicationName Aspire Nombre de la aplicación que se va a mostrar en la interfaz de usuario. Esto solo se aplica cuando no se especifica ninguna dirección URL del servicio de recursos. Cuando existe un servicio de recursos, el servicio especifica el nombre de la aplicación.

Pasos siguientes