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 |
DOTNET_DASHBOARD_OTLP_HTTP_ENDPOINT_URL |
http://localhost:18890 |
Punto de conexión de OTLP/HTTP 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
yMaxTraceCount
se comparten entre recursos. Por ejemplo, unMaxLogCount
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 deMaxMetricsCount
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. |