Sdílet prostřednictvím


Konfigurace řídicího panelu

Řídicí panel se nakonfiguruje při spuštění. Konfigurace zahrnuje front-end OpenTelemetry ové adresy a adresy protokolu OTLP (OTLP), koncový bod služby prostředků, ověřování, limity telemetrie a další.

Po spuštění řídicího panelu s hostitelským projektem aplikace .NET.NET Aspire se automaticky nakonfiguruje tak, aby zobrazoval prostředky a telemetrii aplikace. Konfigurace se poskytuje při spuštění řídicího panelu v samostatném režimu.

Konfigurace je k dispozici mnoha způsoby:

  • Argumenty příkazového řádku
  • Proměnné prostředí. Oddělovač : by měl být v názvech proměnných prostředí nahrazen dvojitým podtržítkem (__).
  • Volitelný konfigurační soubor JSON. Nastavení DOTNET_DASHBOARD_CONFIG_FILE_PATH lze použít k zadání konfiguračního souboru JSON.

Podívejte se na následující příklad, který ukazuje, jak nakonfigurovat řídicí panel při spuštění z kontejneru 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

Případně je možné tyto stejné hodnoty nakonfigurovat pomocí konfiguračního souboru JSON zadaného pomocí DOTNET_DASHBOARD_CONFIG_FILE_PATH:

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

Důležitý

Řídicí panel zobrazuje informace o prostředcích, včetně jejich konfigurace, protokolů konzoly a podrobné telemetrie.

Data zobrazená na řídicím panelu můžou být citlivá. Například tajné kódy v proměnných prostředí a citlivá data modulu runtime v telemetrii. Při konfiguraci řídicího panelu pro zabezpečení přístupu je potřeba dbát na to, aby se zajistil přístup.

Další informace najdete v tématu zabezpečení řídicího panelu.

Poznámka

Konfigurace popsaná na této stránce je určená pro samostatný řídicí panel. Pokud chcete nakonfigurovat projekt hostitele aplikace .NET.NET Aspire, přečtěte si téma konfigurace hostitele aplikace.

Běžná konfigurace

Možnost Výchozí hodnota Popis
ASPNETCORE_URLS http://localhost:18888 Jeden nebo více koncových bodů HTTP, prostřednictvím kterých se obsluhuje front-end řídicího panelu. Koncový bod front-endu slouží k zobrazení řídicího panelu v prohlížeči. Po spuštění řídicího panelu hostitelem aplikace .NET.NET Aspire je tato adresa zabezpečená pomocí protokolu HTTPS. Doporučuje se zabezpečení řídicího panelu pomocí protokolu HTTPS.
DOTNET_DASHBOARD_OTLP_ENDPOINT_URL http://localhost:18889 Koncový bod OTLP/gRPC. Tento koncový bod hostuje službu OTLP a přijímá telemetrii pomocí gRPC. Po spuštění řídicího panelu hostitelem aplikace .NET.NET Aspire je tato adresa zabezpečená pomocí protokolu HTTPS. Doporučuje se zabezpečení řídicího panelu pomocí protokolu HTTPS.
DOTNET_DASHBOARD_OTLP_HTTP_ENDPOINT_URL http://localhost:18890 Koncový bod OTLP/HTTP. Tento koncový bod hostuje službu OTLP a přijímá telemetrii pomocí Protobuf přes HTTP. Když řídicí panel spustí hostitel aplikace .NET.NET Aspire, koncový bod OTLP/HTTP není ve výchozím nastavení nakonfigurovaný. Pokud chcete nakonfigurovat koncový bod OTLP/HTTP s hostitelem aplikace, nastavte hodnotu DOTNET_DASHBOARD_OTLP_HTTP_ENDPOINT_URL env var v launchSettings.json. Doporučuje se zabezpečení řídicího panelu pomocí protokolu HTTPS.
DOTNET_DASHBOARD_UNSECURED_ALLOW_ANONYMOUS false Nakonfiguruje řídicí panel tak, aby nepoužít ověřování a přijímá anonymní přístup. Toto nastavení je zkratka pro konfiguraci Dashboard:Frontend:AuthMode a Dashboard:Otlp:AuthMode pro Unsecured.
DOTNET_DASHBOARD_CONFIG_FILE_PATH null Cesta ke konfiguračnímu souboru JSON. Pokud se řídicí panel spouští v kontejneru Docker, jedná se o cestu ke konfiguračnímu souboru v připojeném svazku. Tato hodnota je nepovinná.
DOTNET_RESOURCE_SERVICE_ENDPOINT_URL null Koncový bod gRPC, ke kterému se řídicí panel připojuje pro svá data. Pokud tato hodnota není zadaná, řídicí panel zobrazuje telemetrická data, ale žádný seznam prostředků ani protokoly konzoly. Toto nastavení je zástupcem Dashboard:ResourceServiceClient:Url.

Ověřování front-endem

Ověřování koncového bodu front-endu řídicího panelu je nakonfigurováno s Dashboard:Frontend:AuthMode. Front-end je možné zabezpečit pomocí OpenID Connect (OIDC) nebo pomocí ověřování tokenu prohlížeče.

Ověřování tokenu prohlížeče funguje front-endem s žádostí o token. Token můžete zadat do uživatelského rozhraní nebo zadat jako hodnotu řetězce dotazu na přihlašovací stránku. Například https://localhost:1234/login?t=TheToken. Po úspěšném ověření tokenu se ověřovací cookie zachová v prohlížeči a prohlížeč se přesměruje do aplikace.

Možnost Výchozí hodnota Popis
Dashboard:Frontend:AuthMode BrowserToken Lze nastavit na BrowserToken, OpenIdConnect nebo Unsecured. Unsecured by se měly používat pouze při místním vývoji. Nedoporučuje se při veřejném hostování řídicího panelu nebo v jiných nastaveních.
Dashboard:Frontend:BrowserToken null Určuje token prohlížeče. Pokud není zadaný token prohlížeče, řídicí panel ho vygeneruje. Nástroje, které chtějí automatizovat přihlašování pomocí ověřování pomocí tokenu prohlížeče, můžou zadat token a otevřít prohlížeč s tokenem v řetězci dotazu. Při každém spuštění řídicího panelu by se měl vygenerovat nový token.
Dashboard:Frontend:OpenIdConnect:NameClaimType name Určuje jeden nebo více typů deklarací identity, které by se měly použít k zobrazení celého jména ověřeného uživatele. Může to být jeden typ deklarace identity nebo čárkami oddělený seznam typů deklarací identity.
Dashboard:Frontend:OpenIdConnect:UsernameClaimType preferred_username Určuje jeden nebo více typů deklarací identity, které by se měly použít k zobrazení uživatelského jména ověřeného uživatele. Může to být jeden typ deklarace identity nebo čárkami oddělený seznam typů deklarací identity.
Dashboard:Frontend:OpenIdConnect:RequiredClaimType null Určuje deklaraci identity, která musí být k dispozici pro oprávněné uživatele. Autorizace selže bez této deklarace identity. Tato hodnota je nepovinná.
Dashboard:Frontend:OpenIdConnect:RequiredClaimValue null Určuje hodnotu požadované deklarace identity. Používá se pouze v případě, že je zadán Dashboard:Frontend:OpenIdConnect:RequireClaimType. Tato hodnota je nepovinná.
Authentication:Schemes:OpenIdConnect:Authority null Adresa URL zprostředkovatele identity (IdP).
Authentication:Schemes:OpenIdConnect:ClientId null Identita předávající strany (RP).
Authentication:Schemes:OpenIdConnect:ClientSecret null Tajemství, které by znal pouze skutečný RP.
Další vlastnosti OpenIdConnectOptions null Hodnoty uvnitř oddílu konfigurace Authentication:Schemes:OpenIdConnect:* jsou vázány na OpenIdConnectOptions, například Scope.

Poznámka

Při použití OpenIdConnect jako režimu ověřování za reverzním proxy serverem, který ukončuje SSL, může být vyžadována další konfigurace. Zkontrolujte, jestli potřebujete ASPNETCORE_FORWARDEDHEADERS_ENABLED nastavit na true.

Další informace najdete v tématu Konfigurace ASP.NET Core pro práci s proxy servery a nástroji pro vyrovnávání zatížení.

Ověřování OTLP

Ověřování koncového bodu OTLP je nakonfigurováno s Dashboard:Otlp:AuthMode. Koncový bod OTLP je možné zabezpečit pomocí klíče rozhraní API nebo klientského certifikátu ověřování.

Ověřování pomocí klíče rozhraní API funguje tak, že vyžaduje, aby každý požadavek OTLP měl platnou hodnotu hlavičky x-otlp-api-key. Musí odpovídat primárnímu nebo sekundárnímu klíči.

Možnost Výchozí hodnota Popis
Dashboard:Otlp:AuthMode Unsecured Lze nastavit na ApiKey, Certificate nebo Unsecured. Unsecured by se měly používat pouze při místním vývoji. Nedoporučuje se při veřejném hostování řídicího panelu nebo v jiných nastaveních.
Dashboard:Otlp:PrimaryApiKey null Určuje primární klíč rozhraní API. Klíč rozhraní API může být libovolný text, ale doporučuje se hodnota s nejméně 128 bity entropie. Tato hodnota se vyžaduje, pokud je režim ověřování klíčem rozhraní API.
Dashboard:Otlp:SecondaryApiKey null Určuje sekundární klíč rozhraní API. Klíč rozhraní API může být libovolný text, ale doporučuje se hodnota s nejméně 128 bity entropie. Tato hodnota je nepovinná. Pokud je zadán druhý klíč rozhraní API, může příchozí hodnota hlavičky x-otlp-api-key odpovídat primárnímu nebo sekundárnímu klíči.

OTLP CORS

Sdílení prostředků mezi zdroji (CORS) je možné nakonfigurovat tak, aby aplikace prohlížeče mohly odesílat telemetrii na řídicí panel.

Ve výchozím nastavení jsou aplikace prohlížeče omezené na volání rozhraní API napříč doménou. To má vliv na odesílání telemetrie na řídicí panel, protože řídicí panel a aplikace prohlížeče jsou vždy na různých doménách. Ke konfiguraci CORS použijte oddíl Dashboard:Otlp:Cors a zadejte povolené zdroje a hlavičky:

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

Zvažte následující možnosti konfigurace:

Možnost Výchozí hodnota Popis
Dashboard:Otlp:Cors:AllowedOrigins null Určuje povolené zdroje pro CORS. Jedná se o řetězec oddělený čárkami a může obsahovat * zástupný znak, který umožňuje libovolnou doménu. Tato možnost je volitelná a lze ji nastavit pomocí proměnné prostředí DASHBOARD__OTLP__CORS__ALLOWEDORIGINS.
Dashboard:Otlp:Cors:AllowedHeaders null Řetězec oddělený čárkami představující povolené hlavičky CORS. Toto nastavení je volitelné a lze ho nastavit pomocí proměnné prostředí DASHBOARD__OTLP__CORS__ALLOWEDHEADERS.

Poznámka

Řídicí panel podporuje pouze metodu POST pro odesílání telemetrie a neumožňuje konfiguraci povolených metod (Access-Control-Allow-Methods) pro CORS.

Prostředky

Řídicí panel se připojí ke službě prostředků, aby se načetly a zobrazily informace o prostředku. Klient je nakonfigurovaný na řídicím panelu, aby se připojil ke službě.

Ověřování klienta služby prostředků je nakonfigurováno s Dashboard:ResourceServiceClient:AuthMode. Klient je možné nakonfigurovat tak, aby podporoval klíč rozhraní API nebo ověřování klientských certifikátů.

Možnost Výchozí hodnota Popis
Dashboard:ResourceServiceClient:Url null Koncový bod gRPC, ke kterému se řídicí panel připojuje pro svá data. Pokud tato hodnota není zadaná, řídicí panel zobrazuje telemetrická data, ale žádný seznam prostředků ani protokoly konzoly.
Dashboard:ResourceServiceClient:AuthMode null Lze nastavit na ApiKey, Certificate nebo Unsecured. Unsecured by se měly používat pouze při místním vývoji. Nedoporučuje se při veřejném hostování řídicího panelu nebo v jiných nastaveních. Tato hodnota se vyžaduje, pokud je zadána adresa URL služby prostředků.
Dashboard:ResourceServiceClient:ApiKey null Rozhraní API pro odeslání do služby prostředků v hlavičce x-resource-service-api-key. Tato hodnota se vyžaduje, pokud je režim ověřování klíčem rozhraní API.
Dashboard:ResourceServiceClient:ClientCertificate:Source null Lze nastavit na File nebo KeyStore. Tato hodnota se vyžaduje, pokud je režim ověřování klientským certifikátem.
Dashboard:ResourceServiceClient:ClientCertificate:FilePath null Cesta k souboru certifikátu. Tato hodnota je vyžadována, pokud je zdroj File.
Dashboard:ResourceServiceClient:ClientCertificate:Password null Heslo pro soubor certifikátu. Tato hodnota je nepovinná.
Dashboard:ResourceServiceClient:ClientCertificate:Subject null Předmět certifikátu. Tato hodnota je vyžadována, pokud je zdroj KeyStore.
Dashboard:ResourceServiceClient:ClientCertificate:Store My Certifikát StoreName.
Dashboard:ResourceServiceClient:ClientCertificate:Location CurrentUser Certifikát StoreLocation.

Limity telemetrie

Telemetrie se ukládá do paměti. Aby se zabránilo nadměrnému využití paměti, řídicí panel má omezení počtu a velikosti uložených telemetrických dat. Po dosažení limitu počtu se přidá nová telemetrie a nejstarší telemetrie se odebere. Po dosažení limitu velikosti se data zkrátí na limit.

Omezení telemetrie mají různé obory v závislosti na typu telemetrie:

  • MaxLogCount a MaxTraceCount se sdílejí napříč prostředky. Například hodnota MaxLogCount 5 000 konfiguruje řídicí panel tak, aby ukládaly až 5 000 položek protokolu pro všechny prostředky.
  • MaxMetricsCount je pro jednotlivé prostředky. Například hodnota MaxMetricsCount 10 000 konfiguruje řídicí panel tak, aby ukládaly až 10 000 datových bodů metrik na prostředek.
Možnost Výchozí hodnota Popis
Dashboard:TelemetryLimits:MaxLogCount 10,000 Maximální počet položek protokolu. Limit se sdílí napříč prostředky.
Dashboard:TelemetryLimits:MaxTraceCount 10,000 Maximální počet trasování protokolu. Limit se sdílí napříč prostředky.
Dashboard:TelemetryLimits:MaxMetricsCount 50,000 Maximální počet datových bodů metrik Limit je pro jednotlivé prostředky.
Dashboard:TelemetryLimits:MaxAttributeCount 128 Maximální počet atributů v telemetrii
Dashboard:TelemetryLimits:MaxAttributeLength null Maximální délka atributů.
Dashboard:TelemetryLimits:MaxSpanEventCount null Maximální počet událostí u atributů span.

Jiný

Možnost Výchozí hodnota Popis
Dashboard:ApplicationName Aspire Název aplikace, který se má zobrazit v uživatelském rozhraní. To platí jenom v případě, že není zadána žádná adresa URL služby prostředků. Pokud existuje služba prostředků, služba určuje název aplikace.

Další kroky