Dela via


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 Aspire AppHost-projektet 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 ASPIRE_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.5

Du kan också konfigurera samma värden med hjälp av en JSON konfigurationsfil som anges med hjälp av ASPIRE_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 Aspire AppHost-projekt finns i AppHost-konfiguration.

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 AppHost skyddas den Aspire här adressen med HTTPS. Vi rekommenderar att du skyddar instrumentpanelen med HTTPS.
ASPIRE_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 AppHost skyddas den Aspire här adressen med HTTPS. Vi rekommenderar att du skyddar instrumentpanelen med HTTPS.
ASPIRE_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 Aspire AppHost konfigureras inte OTLP/HTTP-slutpunkten som standard. Om du vill konfigurera en OTLP/HTTP-slutpunkt med AppHost anger du värdet env ASPIRE_DASHBOARD_OTLP_HTTP_ENDPOINT_URL var i launchSettings.json. Vi rekommenderar att du skyddar instrumentpanelen med HTTPS.
ASPIRE_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.
ASPIRE_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.
ASPIRE_DASHBOARD_FILE_CONFIG_DIRECTORY null Katalogen där instrumentpanelen söker efter nyckel-per-fil-konfiguration. Det här värdet är valfritt.
ASPIRE_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 ASPIRE_DASHBOARD_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 klientcertifikatautentisering.

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.

Client certifikatautentisering verifierar TLS-anslutningens klientcertifikat. När en begäran med ett klientcertifikat tas emot utförs två uppsättningar verifiering:

  • ASP.NET Core validering av certifikatautentisering: Som standard verifierar detta att certifikatet kedjas till en betrodd rot på datorn, att certifikatet inte har upphört att gälla och att värdet för utökad nyckelanvändning är lämpligt för Client Autentisering. Mer information om den här valideringen och hur du konfigurerar den finns i Konfigurera ASP.NET Core certifikatverifiering.
  • Valfri explicit lista över tillåtna certifikat: Du kan också konfigurera en explicit lista över tillåtna certifikat med hjälp av AllowedCertificates. Om AllowedCertificates har konfigurerats och ett klientcertifikat inte matchar något av tumavtrycken i listan avvisas begäran. Om inga tillåtna certifikat anges godkänns alla certifikat som klarar minimiverifieringen.
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.
Dashboard:Otlp:AllowedCertificates null Anger en lista över tillåtna klientcertifikat. Mer information finns i Tillåtna certifikat .
Egenskaper för CertificateAuthenticationOptions null Värden i konfigurationsavsnittet Dashboard:Otlp:CertificateAuthOptions:* är bundna till CertificateAuthenticationOptions, till exempel AllowedCertificateTypes.

Tillåtna certifikat

När du använder klientcertifikatautentisering kan du välja att konfigurera en explicit lista över tillåtna certifikat med .AllowedCertificates Varje tillåtet certifikat i Dashboard:Otlp:AllowedCertificates samlingen stöder följande egenskaper:

Fastighet Beskrivning
Thumbprint (krävs) SHA256-tumavtrycket för certifikatet som ska tillåtas.

I följande exempel visas hur du konfigurerar tillåtna certifikat med hjälp av JSON konfiguration:

{
  "Dashboard": {
    "Otlp": {
      "AllowedCertificates": [
        {
          "Thumbprint": "HEX_SHA256_THUMBPRINT"
        }
      ]
    }
  }
}

Eller använda miljövariabler för konfiguration:

export Dashboard__Otlp__AllowedCertificates__0__Thumbprint="HEX_SHA256_THUMBPRINT"

Not

Om inga tillåtna certifikat har konfigurerats kan alla certifikat som klarar ASP.NET Core certifikatverifieringen autentiseras.

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 och MaxTraceCount delas mellan resurser. Till exempel konfigurerar ett MaxLogCount 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 ett MaxMetricsCount-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.
Dashboard:UI:DisableResourceGraph false Inaktiverar visning av användargränssnittet för resursdiagram på instrumentpanelen.

Nästa steg