Dashboardconfiguratie
Het dashboard wordt geconfigureerd wanneer het wordt gestart. Configuratie omvat front-end- en OpenTelemetry Protocol-adressen (OTLP), het eindpunt van de resourceservice, verificatie, telemetrielimieten en meer.
Wanneer het dashboard wordt gestart met het .NET.NET Aspire app-hostproject, wordt het automatisch geconfigureerd om de resources en telemetrie van de app weer te geven. Configuratie wordt geboden bij het starten van het dashboard in zelfstandige modus.
Er zijn veel manieren om configuratie te bieden:
- Opdrachtregelargumenten.
- Omgevingsvariabelen. Het
:
scheidingsteken moet worden vervangen door dubbele onderstrepingstekens (__
) in namen van omgevingsvariabelen. - Optioneel JSON configuratiebestand. De
DOTNET_DASHBOARD_CONFIG_FILE_PATH
-instelling kan worden gebruikt om een JSON configuratiebestand op te geven.
Bekijk het volgende voorbeeld, waarin wordt getoond hoe u het dashboard configureert wanneer het wordt gestart vanuit een 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
U kunt dezelfde waarden ook configureren met behulp van een JSON configuratiebestand dat is opgegeven met behulp van DOTNET_DASHBOARD_CONFIG_FILE_PATH
:
{
"Dashboard": {
"TelemetryLimits": {
"MaxLogCount": 1000,
"MaxTraceCount": 1000,
"MaxMetricsCount": 1000
}
}
}
Belangrijk
In het dashboard wordt informatie weergegeven over resources, waaronder de configuratie, consolelogboeken en uitgebreide telemetrie.
Gegevens die in het dashboard worden weergegeven, kunnen gevoelig zijn. Bijvoorbeeld geheimen in omgevingsvariabelen en gevoelige runtimegegevens in telemetrie. Zorg ervoor dat u het dashboard configureert om de toegang te beveiligen.
Zie dashboardbeveiligingvoor meer informatie.
Notitie
De configuratie die op deze pagina wordt beschreven, is bedoeld voor het zelfstandige dashboard. Als u een .NET.NET Aspire app-hostproject wilt configureren, raadpleegt u app-hostconfiguratie.
Algemene configuratie
Optie | Standaardwaarde | Beschrijving |
---|---|---|
ASPNETCORE_URLS |
http://localhost:18888 |
Een of meer HTTP-eindpunten waarmee de front-end van het dashboard wordt geleverd. Het front-endeindpunt wordt gebruikt om het dashboard in een browser weer te geven. Wanneer het dashboard wordt gestart door de .NET.NET Aspire app-host, wordt dit adres beveiligd met HTTPS. Het beveiligen van het dashboard met HTTPS wordt aanbevolen. |
DOTNET_DASHBOARD_OTLP_ENDPOINT_URL |
http://localhost:18889 |
Het OTLP/gRPC-eindpunt. Dit eindpunt fungeert als host voor een OTLP-service en ontvangt telemetrie met behulp van gRPC. Wanneer het dashboard wordt gestart door de .NET.NET Aspire app-host, wordt dit adres beveiligd met HTTPS. Het beveiligen van het dashboard met HTTPS wordt aanbevolen. |
DOTNET_DASHBOARD_OTLP_HTTP_ENDPOINT_URL |
http://localhost:18890 |
Het OTLP-/HTTP--eindpunt. Dit eindpunt fungeert als host voor een OTLP-service en ontvangt telemetrie met protobuf via HTTP. Wanneer het dashboard wordt gestart door de .NET.NET Aspire-app host, is het OTLP/HTTP-eindpunt niet standaard geconfigureerd. Als u een OTLP/HTTP-eindpunt wilt configureren met de app-host, stelt u een DOTNET_DASHBOARD_OTLP_HTTP_ENDPOINT_URL var-waarde in launchSettings.jsonin. Het beveiligen van het dashboard met HTTPS wordt aanbevolen. |
DOTNET_DASHBOARD_UNSECURED_ALLOW_ANONYMOUS |
false |
Hiermee configureert u het dashboard om geen verificatie te gebruiken en anonieme toegang te accepteren. Deze instelling is een snelkoppeling voor het configureren van Dashboard:Frontend:AuthMode en Dashboard:Otlp:AuthMode voor Unsecured . |
DOTNET_DASHBOARD_CONFIG_FILE_PATH |
null |
Het pad voor een JSON configuratiebestand. Als het dashboard wordt uitgevoerd in een Docker container, is dit het pad naar het configuratiebestand in een gekoppeld volume. Deze waarde is optioneel. |
DOTNET_RESOURCE_SERVICE_ENDPOINT_URL |
null |
Het gRPC-eindpunt waarmee het dashboard verbinding maakt voor de gegevens. Als deze waarde niet is opgegeven, worden in het dashboard telemetriegegevens weergegeven, maar geen resourcelijst of consolelogboeken. Deze instelling is een snelkoppeling naar Dashboard:ResourceServiceClient:Url . |
Front-endverificatie
De verificatie van het front-endeindpunt van het dashboard is geconfigureerd met Dashboard:Frontend:AuthMode
. De front-end kan worden beveiligd met OpenID Connect (OIDC) of verificatie van browsertoken.
Verificatie van browsertoken werkt door de front-end die om een token vraagt. Het token kan worden ingevoerd in de gebruikersinterface of worden opgegeven als een querytekenreekswaarde voor de aanmeldingspagina. Bijvoorbeeld https://localhost:1234/login?t=TheToken
. Wanneer het token is geverifieerd, wordt een verificatie-cookie behouden blijft in de browser en wordt de browser omgeleid naar de app.
Optie | Standaardwaarde | Beschrijving |
---|---|---|
Dashboard:Frontend:AuthMode |
BrowserToken |
Kan worden ingesteld op BrowserToken , OpenIdConnect of Unsecured .
Unsecured mag alleen worden gebruikt tijdens lokale ontwikkeling. Het wordt niet aanbevolen om het dashboard openbaar of in andere instellingen te hosten. |
Dashboard:Frontend:BrowserToken |
null |
Hiermee geeft u het browsertoken. Als het browsertoken niet is opgegeven, genereert het dashboard er een. Hulpprogramma's die logboekregistratie met browsertokenverificatie willen automatiseren, kunnen een token opgeven en een browser openen met het token in de querytekenreeks. Telkens wanneer het dashboard wordt gestart, moet er een nieuw token worden gegenereerd. |
Dashboard:Frontend:OpenIdConnect:NameClaimType |
name |
Hiermee geeft u een of meer claimtypen op die moeten worden gebruikt om de volledige naam van de geverifieerde gebruiker weer te geven. Kan één claimtype of een door komma's gescheiden lijst met claimtypen zijn. |
Dashboard:Frontend:OpenIdConnect:UsernameClaimType |
preferred_username |
Hiermee geeft u een of meer claimtypen op die moeten worden gebruikt om de gebruikersnaam van de geverifieerde gebruiker weer te geven. Kan één claimtype of een door komma's gescheiden lijst met claimtypen zijn. |
Dashboard:Frontend:OpenIdConnect:RequiredClaimType |
null |
Hiermee geeft u de claim die aanwezig moet zijn voor geautoriseerde gebruikers. Autorisatie mislukt zonder deze claim. Deze waarde is optioneel. |
Dashboard:Frontend:OpenIdConnect:RequiredClaimValue |
null |
Hiermee geeft u de waarde van de vereiste claim. Alleen gebruikt als Dashboard:Frontend:OpenIdConnect:RequireClaimType ook is opgegeven. Deze waarde is optioneel. |
Authentication:Schemes:OpenIdConnect:Authority |
null |
URL naar de id-provider (IdP). |
Authentication:Schemes:OpenIdConnect:ClientId |
null |
Identiteit van de relying party (RP). |
Authentication:Schemes:OpenIdConnect:ClientSecret |
null |
Een geheim dat alleen de echte RP zou weten. |
Andere eigenschappen van OpenIdConnectOptions | null |
Waarden in de configuratiesectie Authentication:Schemes:OpenIdConnect:* zijn gebonden aan OpenIdConnectOptions , zoals Scope . |
Notitie
Er is mogelijk extra configuratie vereist bij het gebruik van OpenIdConnect
als verificatiemodus achter een omgekeerde proxy die SSL beëindigt. Controleer of u ASPNETCORE_FORWARDEDHEADERS_ENABLED
wilt instellen op true
.
Zie ASP.NET Core configureren voor gebruik met proxyservers en load balancersvoor meer informatie.
OTLP-verificatie
De OTLP-eindpuntverificatie is geconfigureerd met Dashboard:Otlp:AuthMode
. Het OTLP-eindpunt kan worden beveiligd met een API-sleutel of clientcertificaat verificatie.
Verificatie van API-sleutels werkt door te vereisen dat elke OTLP-aanvraag een geldige x-otlp-api-key
headerwaarde heeft. Deze moet overeenkomen met de primaire of secundaire sleutel.
Optie | Standaardwaarde | Beschrijving |
---|---|---|
Dashboard:Otlp:AuthMode |
Unsecured |
Kan worden ingesteld op ApiKey , Certificate of Unsecured .
Unsecured mag alleen worden gebruikt tijdens lokale ontwikkeling. Het wordt niet aanbevolen om het dashboard openbaar of in andere instellingen te hosten. |
Dashboard:Otlp:PrimaryApiKey |
null |
Hiermee geeft u de primaire API-sleutel op. De API-sleutel kan elke tekst zijn, maar een waarde met ten minste 128 bits entropie wordt aanbevolen. Deze waarde is vereist als de verificatiemodus API-sleutel is. |
Dashboard:Otlp:SecondaryApiKey |
null |
Hiermee geeft u de secundaire API-sleutel. De API-sleutel kan elke tekst zijn, maar een waarde met ten minste 128 bits entropie wordt aanbevolen. Deze waarde is optioneel. Als er een tweede API-sleutel is opgegeven, kan de binnenkomende x-otlp-api-key headerwaarde overeenkomen met de primaire of secundaire sleutel. |
OTLP CORS
CorS (Cross-Origin Resource Sharing) kan zo worden geconfigureerd dat browser-apps telemetrie naar het dashboard kunnen verzenden.
Browser-apps kunnen standaard geen API-aanroepen tussen domeinen maken. Dit heeft gevolgen voor het verzenden van telemetrie naar het dashboard, omdat het dashboard en de browser-app zich altijd op verschillende domeinen bevinden. Als u CORS wilt configureren, gebruikt u de sectie Dashboard:Otlp:Cors
en geeft u de toegestane oorsprongen en headers op:
{
"Dashboard": {
"Otlp": {
"Cors": {
"AllowedOrigins": "http://localhost:5000,https://localhost:5001"
}
}
}
}
Houd rekening met de volgende configuratieopties:
Optie | Standaardwaarde | Beschrijving |
---|---|---|
Dashboard:Otlp:Cors:AllowedOrigins |
null |
Hiermee geeft u de toegestane oorsprongen voor CORS. Het is een door komma's gescheiden tekenreeks en kan het * jokerteken bevatten om elk domein toe te staan. Deze optie is optioneel en kan worden ingesteld met behulp van de omgevingsvariabele DASHBOARD__OTLP__CORS__ALLOWEDORIGINS . |
Dashboard:Otlp:Cors:AllowedHeaders |
null |
Een door komma's gescheiden tekenreeks die de toegestane headers voor CORS vertegenwoordigt. Deze instelling is optioneel en kan worden ingesteld met behulp van de omgevingsvariabele DASHBOARD__OTLP__CORS__ALLOWEDHEADERS . |
Notitie
Het dashboard ondersteunt alleen de POST
methode voor het verzenden van telemetrie en staat geen configuratie toe van de toegestane methoden (Access-Control-Allow-Methods
) voor CORS.
Weg
Het dashboard maakt verbinding met een resourceservice om resourcegegevens te laden en weer te geven. De client wordt geconfigureerd in het dashboard om verbinding te maken met de service.
De verificatie van de resourceserviceclient is geconfigureerd met Dashboard:ResourceServiceClient:AuthMode
. De client kan worden geconfigureerd voor ondersteuning van API-sleutel- of clientcertificaatverificatie.
Optie | Standaardwaarde | Beschrijving |
---|---|---|
Dashboard:ResourceServiceClient:Url |
null |
Het gRPC-eindpunt waarmee het dashboard verbinding maakt voor de gegevens. Als deze waarde niet is opgegeven, worden in het dashboard telemetriegegevens weergegeven, maar geen resourcelijst of consolelogboeken. |
Dashboard:ResourceServiceClient:AuthMode |
null |
Kan worden ingesteld op ApiKey , Certificate of Unsecured .
Unsecured mag alleen worden gebruikt tijdens lokale ontwikkeling. Het wordt niet aanbevolen om het dashboard openbaar of in andere instellingen te hosten. Deze waarde is vereist als er een URL voor de resourceservice is opgegeven. |
Dashboard:ResourceServiceClient:ApiKey |
null |
De API die moet worden verzonden naar de resourceservice in de x-resource-service-api-key -header. Deze waarde is vereist als de verificatiemodus API-sleutel is. |
Dashboard:ResourceServiceClient:ClientCertificate:Source |
null |
Kan worden ingesteld op File of KeyStore . Deze waarde is vereist als de verificatiemodus een clientcertificaat is. |
Dashboard:ResourceServiceClient:ClientCertificate:FilePath |
null |
Het pad naar het certificaatbestand. Deze waarde is vereist als de bron is File . |
Dashboard:ResourceServiceClient:ClientCertificate:Password |
null |
Het wachtwoord voor het certificaatbestand. Deze waarde is optioneel. |
Dashboard:ResourceServiceClient:ClientCertificate:Subject |
null |
Het certificaatonderwerp. Deze waarde is vereist als de bron is KeyStore . |
Dashboard:ResourceServiceClient:ClientCertificate:Store |
My |
Het certificaat StoreName. |
Dashboard:ResourceServiceClient:ClientCertificate:Location |
CurrentUser |
Het certificaat StoreLocation. |
Telemetrielimieten
Telemetrie wordt opgeslagen in het geheugen. Om overmatig geheugengebruik te voorkomen, heeft het dashboard limieten voor het aantal en de grootte van opgeslagen telemetrie. Wanneer een tellingslimiet is bereikt, wordt nieuwe telemetrie toegevoegd en wordt de oudste telemetrie verwijderd. Wanneer een groottelimiet is bereikt, worden gegevens afgekapt tot de limiet.
Telemetrielimieten hebben verschillende bereiken, afhankelijk van het telemetrietype:
-
MaxLogCount
enMaxTraceCount
worden gedeeld tussen resources. Met eenMaxLogCount
waarde van 5.000 configureert u bijvoorbeeld het dashboard voor het opslaan van maximaal 5000 totaal aantal logboekvermeldingen voor alle resources. -
MaxMetricsCount
is per resource. EenMaxMetricsCount
waarde van 10.000 configureert bijvoorbeeld het dashboard om maximaal 10.000 metrische gegevenspunten per resource op te slaan.
Optie | Standaardwaarde | Beschrijving |
---|---|---|
Dashboard:TelemetryLimits:MaxLogCount |
10,000 | Het maximum aantal logboekvermeldingen. Limiet wordt gedeeld tussen resources. |
Dashboard:TelemetryLimits:MaxTraceCount |
10,000 | Het maximum aantal logboektraceringen. Limiet wordt gedeeld tussen resources. |
Dashboard:TelemetryLimits:MaxMetricsCount |
50,000 | Het maximum aantal metrische gegevenspunten. Limiet is per resource. |
Dashboard:TelemetryLimits:MaxAttributeCount |
128 | Het maximum aantal kenmerken voor telemetrie. |
Dashboard:TelemetryLimits:MaxAttributeLength |
null |
De maximale lengte van kenmerken. |
Dashboard:TelemetryLimits:MaxSpanEventCount |
null |
Het maximum aantal gebeurtenissen op spankenmerken. |
Ander
Optie | Standaardwaarde | Beschrijving |
---|---|---|
Dashboard:ApplicationName |
Aspire |
De toepassingsnaam die moet worden weergegeven in de gebruikersinterface. Dit geldt alleen wanneer er geen URL voor de resourceservice is opgegeven. Wanneer er een resourceservice bestaat, geeft de service de naam van de toepassing op. |