Konfiguration av instrumentpanel
Instrumentpanelen konfigureras när den startas. Konfigurationen omfattar klientdels- och OpenTelemetry Protocol-adresser (OTLP), resurstjänstens slutpunkt, autentisering, telemetrigränser med mera.
När instrumentpanelen startas med .NET.NET Aspire appvärdprojekt konfigureras den automatiskt för att visa appens resurser och telemetri. Konfiguration tillhandahålls när instrumentpanelen startas i fristående läge.
Det finns många sätt att tillhandahålla konfiguration:
- Kommandoradsargument.
- Miljövariabler. Den
:
avgränsare bör ersättas med dubbelt understreck (__
) i miljövariabelnamn. - Valfritt JSON konfigurationsfil. Inställningen
DOTNET_DASHBOARD_CONFIG_FILE_PATH
kan användas för att ange en JSON konfigurationsfil.
Tänk på följande exempel som visar hur du konfigurerar instrumentpanelen när den startas från en Docker container:
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
Du kan också konfigurera samma värden med hjälp av en JSON konfigurationsfil som anges med hjälp av DOTNET_DASHBOARD_CONFIG_FILE_PATH
:
{
"Dashboard": {
"TelemetryLimits": {
"MaxLogCount": 1000,
"MaxTraceCount": 1000,
"MaxMetricsCount": 1000
}
}
}
Viktig
Instrumentpanelen visar information om resurser, inklusive deras konfiguration, konsolloggar och djupgående telemetri.
Data som visas på instrumentpanelen kan vara känsliga. Till exempel hemligheter i miljövariabler och känsliga körningsdata i telemetri. Du bör vara noga med att konfigurera instrumentpanelen för att skydda åtkomsten.
Mer information finns i instrumentpanelssäkerhet.
Not
Konfigurationen som beskrivs på den här sidan är för den fristående instrumentpanelen. Information om hur du konfigurerar ett .NET.NET Aspire appvärdprojekt finns i appvärdkonfiguration.
Gemensam konfiguration
Alternativ | Standardvärde | Beskrivning |
---|---|---|
ASPNETCORE_URLS |
http://localhost:18888 |
En eller flera HTTP-slutpunkter genom vilka instrumentpanelens klientdel hanteras. Klientdelsslutpunkten används för att visa instrumentpanelen i en webbläsare. När instrumentpanelen startas av .NET.NET Aspire appvärd skyddas den här adressen med HTTPS. Vi rekommenderar att du skyddar instrumentpanelen med HTTPS. |
DOTNET_DASHBOARD_OTLP_ENDPOINT_URL |
http://localhost:18889 |
slutpunkten OTLP/gRPC. Den här slutpunkten är värd för en OTLP-tjänst och tar emot telemetri med hjälp av gRPC. När instrumentpanelen startas av .NET.NET Aspire appvärd skyddas den här adressen med HTTPS. Vi rekommenderar att du skyddar instrumentpanelen med HTTPS. |
DOTNET_DASHBOARD_OTLP_HTTP_ENDPOINT_URL |
http://localhost:18890 |
Slutpunkten OTLP/HTTP. Den här slutpunkten är värd för en OTLP-tjänst och tar emot telemetri med Protobuf via HTTP. När instrumentpanelen startas av .NET.NET Aspire appvärd konfigureras inte OTLP/HTTP-slutpunkten som standard. Om du vill konfigurera en OTLP/HTTP-slutpunkt med appvärden anger du värdet DOTNET_DASHBOARD_OTLP_HTTP_ENDPOINT_URL env var i launchSettings.json. Vi rekommenderar att du skyddar instrumentpanelen med HTTPS. |
DOTNET_DASHBOARD_UNSECURED_ALLOW_ANONYMOUS |
false |
Konfigurerar instrumentpanelen så att den inte använder autentisering och accepterar anonym åtkomst. Den här inställningen är en genväg till att konfigurera Dashboard:Frontend:AuthMode och Dashboard:Otlp:AuthMode till Unsecured . |
DOTNET_DASHBOARD_CONFIG_FILE_PATH |
null |
Sökvägen till en JSON konfigurationsfil. Om instrumentpanelen körs i en Docker container är det här sökvägen till konfigurationsfilen på en monterad volym. Det här värdet är valfritt. |
DOTNET_RESOURCE_SERVICE_ENDPOINT_URL |
null |
Den gRPC-slutpunkt som instrumentpanelen ansluter till för sina data. Om det här värdet är ospecificerat visar instrumentpanelen telemetridata men ingen resurslista eller konsolloggar. Den här inställningen är en genväg till Dashboard:ResourceServiceClient:Url . |
Klientdelsautentisering
Autentiseringen av klientdelsslutpunkten på instrumentpanelen konfigureras med Dashboard:Frontend:AuthMode
. Klientdelen kan skyddas med OpenID Connect (OIDC) eller webbläsartokenautentisering.
Autentisering med webbläsartoken fungerar av klientdelen som ber om en token. Token kan antingen anges i användargränssnittet eller anges som ett frågesträngsvärde på inloggningssidan. Till exempel https://localhost:1234/login?t=TheToken
. När token har autentiserats sparas en autentisering cookie i webbläsaren och webbläsaren omdirigeras till appen.
Alternativ | Standardvärde | Beskrivning |
---|---|---|
Dashboard:Frontend:AuthMode |
BrowserToken |
Kan anges till BrowserToken , OpenIdConnect eller Unsecured .
Unsecured bör endast användas under lokal utveckling. Det rekommenderas inte när du är värd för instrumentpanelen offentligt eller i andra inställningar. |
Dashboard:Frontend:BrowserToken |
null |
Anger webbläsartoken. Om webbläsartoken inte har angetts genererar instrumentpanelen en. Verktyg som vill automatisera inloggning med webbläsartokenautentisering kan ange en token och öppna en webbläsare med token i frågesträngen. En ny token ska genereras varje gång instrumentpanelen startas. |
Dashboard:Frontend:OpenIdConnect:NameClaimType |
name |
Anger en eller flera anspråkstyper som ska användas för att visa den autentiserade användarens fullständiga namn. Kan vara en enskild anspråkstyp eller en kommaavgränsad lista över anspråkstyper. |
Dashboard:Frontend:OpenIdConnect:UsernameClaimType |
preferred_username |
Anger en eller flera anspråkstyper som ska användas för att visa den autentiserade användarens användarnamn. Kan vara en enskild anspråkstyp eller en kommaavgränsad lista över anspråkstyper. |
Dashboard:Frontend:OpenIdConnect:RequiredClaimType |
null |
Anger det anspråk som måste finnas för behöriga användare. Auktoriseringen misslyckas utan det här anspråket. Det här värdet är valfritt. |
Dashboard:Frontend:OpenIdConnect:RequiredClaimValue |
null |
Anger värdet för det anspråk som krävs. Används endast om Dashboard:Frontend:OpenIdConnect:RequireClaimType också anges. Det här värdet är valfritt. |
Authentication:Schemes:OpenIdConnect:Authority |
null |
URL till identitetsprovidern (IdP). |
Authentication:Schemes:OpenIdConnect:ClientId |
null |
Identitet för den förlitande parten (RP). |
Authentication:Schemes:OpenIdConnect:ClientSecret |
null |
En hemlighet som bara den riktiga RP:en skulle känna till. |
Andra egenskaper för OpenIdConnectOptions | null |
Värden i konfigurationsavsnittet Authentication:Schemes:OpenIdConnect:* är bundna till OpenIdConnectOptions , till exempel Scope . |
Not
Ytterligare konfiguration kan krävas när du använder OpenIdConnect
som autentiseringsläge bakom en omvänd proxy som avslutar SSL. Kontrollera om du behöver ASPNETCORE_FORWARDEDHEADERS_ENABLED
anges till true
.
Mer information finns i Konfigurera ASP.NET Core att fungera med proxyservrar och lastbalanserare.
OTLP-autentisering
OTLP-slutpunktsautentiseringen konfigureras med Dashboard:Otlp:AuthMode
. OTLP-slutpunkten kan skyddas med en API-nyckel eller klientcertifikat autentisering.
API-nyckelautentisering fungerar genom att kräva att varje OTLP-begäran har ett giltigt x-otlp-api-key
huvudvärde. Den måste matcha antingen den primära eller sekundära nyckeln.
Alternativ | Standardvärde | Beskrivning |
---|---|---|
Dashboard:Otlp:AuthMode |
Unsecured |
Kan anges till ApiKey , Certificate eller Unsecured .
Unsecured bör endast användas under lokal utveckling. Det rekommenderas inte när du är värd för instrumentpanelen offentligt eller i andra inställningar. |
Dashboard:Otlp:PrimaryApiKey |
null |
Anger den primära API-nyckeln. API-nyckeln kan vara valfri text, men ett värde med minst 128 bitar entropi rekommenderas. Det här värdet krävs om autentiseringsläget är API-nyckel. |
Dashboard:Otlp:SecondaryApiKey |
null |
Anger den sekundära API-nyckeln. API-nyckeln kan vara valfri text, men ett värde med minst 128 bitar entropi rekommenderas. Det här värdet är valfritt. Om en andra API-nyckel anges kan det inkommande x-otlp-api-key huvudvärdet matcha antingen den primära eller sekundära nyckeln. |
OTLP CORS
Resursdelning mellan ursprung (CORS) kan konfigureras så att webbläsarappar kan skicka telemetri till instrumentpanelen.
Som standard är webbläsarappar begränsade från att göra API-anrop mellan domäner. Detta påverkar sändning av telemetri till instrumentpanelen eftersom instrumentpanelen och webbläsarappen alltid finns på olika domäner. Om du vill konfigurera CORS använder du avsnittet Dashboard:Otlp:Cors
och anger de tillåtna ursprungen och rubrikerna:
{
"Dashboard": {
"Otlp": {
"Cors": {
"AllowedOrigins": "http://localhost:5000,https://localhost:5001"
}
}
}
}
Överväg följande konfigurationsalternativ:
Alternativ | Standardvärde | Beskrivning |
---|---|---|
Dashboard:Otlp:Cors:AllowedOrigins |
null |
Anger det tillåtna ursprunget för CORS. Det är en kommaavgränsad sträng och kan innehålla * jokertecken för att tillåta alla domäner. Det här alternativet är valfritt och kan anges med hjälp av miljövariabeln DASHBOARD__OTLP__CORS__ALLOWEDORIGINS . |
Dashboard:Otlp:Cors:AllowedHeaders |
null |
En kommaavgränsad sträng som representerar de tillåtna rubrikerna för CORS. Den här inställningen är valfri och kan anges med hjälp av miljövariabeln DASHBOARD__OTLP__CORS__ALLOWEDHEADERS . |
Not
Instrumentpanelen stöder endast POST
-metoden för att skicka telemetri och tillåter inte konfiguration av tillåtna metoder (Access-Control-Allow-Methods
) för CORS.
Resurser
Instrumentpanelen ansluter till en resurstjänst för att läsa in och visa resursinformation. Klienten är konfigurerad på instrumentpanelen för hur du ansluter till tjänsten.
Klientautentiseringen för resurstjänsten har konfigurerats med Dashboard:ResourceServiceClient:AuthMode
. Klienten kan konfigureras för att stödja API-nyckel- eller klientcertifikatautentisering.
Alternativ | Standardvärde | Beskrivning |
---|---|---|
Dashboard:ResourceServiceClient:Url |
null |
Den gRPC-slutpunkt som instrumentpanelen ansluter till för sina data. Om det här värdet är ospecificerat visar instrumentpanelen telemetridata men ingen resurslista eller konsolloggar. |
Dashboard:ResourceServiceClient:AuthMode |
null |
Kan anges till ApiKey , Certificate eller Unsecured .
Unsecured bör endast användas under lokal utveckling. Det rekommenderas inte när du är värd för instrumentpanelen offentligt eller i andra inställningar. Det här värdet krävs om en resurstjänst-URL anges. |
Dashboard:ResourceServiceClient:ApiKey |
null |
API:et som ska skickas till resurstjänsten i x-resource-service-api-key -huvudet. Det här värdet krävs om autentiseringsläget är API-nyckel. |
Dashboard:ResourceServiceClient:ClientCertificate:Source |
null |
Kan anges till File eller KeyStore . Det här värdet krävs om autentiseringsläget är klientcertifikat. |
Dashboard:ResourceServiceClient:ClientCertificate:FilePath |
null |
Sökvägen till certifikatfilen. Det här värdet krävs om källan är File . |
Dashboard:ResourceServiceClient:ClientCertificate:Password |
null |
Lösenordet för certifikatfilen. Det här värdet är valfritt. |
Dashboard:ResourceServiceClient:ClientCertificate:Subject |
null |
Certifikatämnet. Det här värdet krävs om källan är KeyStore . |
Dashboard:ResourceServiceClient:ClientCertificate:Store |
My |
Certifikatet StoreName. |
Dashboard:ResourceServiceClient:ClientCertificate:Location |
CurrentUser |
Certifikatet StoreLocation. |
Telemetrigränser
Telemetri lagras i minnet. För att undvika överdriven minnesanvändning har instrumentpanelen gränser för antalet och storleken på lagrad telemetri. När gränsen för antal nås läggs ny telemetri till och den äldsta telemetrin tas bort. När en storleksgräns nås trunkeras data till gränsen.
Telemetrigränser har olika omfång beroende på telemetrityp:
-
MaxLogCount
ochMaxTraceCount
delas mellan resurser. Till exempel konfigurerar ettMaxLogCount
värde på 5 000 instrumentpanelen att lagra upp till 5 000 totala loggposter för alla resurser. -
MaxMetricsCount
är per resurs. Till exempel konfigurerar ettMaxMetricsCount
-värde på 10 000 instrumentpanelen att lagra upp till 10 000 måttdatapunkter per resurs.
Alternativ | Standardvärde | Beskrivning |
---|---|---|
Dashboard:TelemetryLimits:MaxLogCount |
10,000 | Maximalt antal loggposter. Gränsen delas mellan resurser. |
Dashboard:TelemetryLimits:MaxTraceCount |
10,000 | Det maximala antalet loggspårningar. Gränsen delas mellan resurser. |
Dashboard:TelemetryLimits:MaxMetricsCount |
50,000 | Det maximala antalet måttdatapunkter. Gränsen är per resurs. |
Dashboard:TelemetryLimits:MaxAttributeCount |
128 | Det maximala antalet attribut för telemetri. |
Dashboard:TelemetryLimits:MaxAttributeLength |
null |
Den maximala längden på attribut. |
Dashboard:TelemetryLimits:MaxSpanEventCount |
null |
Det maximala antalet händelser för span-attribut. |
Annan
Alternativ | Standardvärde | Beskrivning |
---|---|---|
Dashboard:ApplicationName |
Aspire |
Programnamnet som ska visas i användargränssnittet. Detta gäller endast när ingen resurstjänst-URL har angetts. När en resurstjänst finns anger tjänsten programnamnet. |
Nästa steg
.NET Aspire