Dashboardkonfiguration
Das Dashboard wird beim Starten konfiguriert. Die Konfiguration umfasst Frontend- und OpenTelemetry-Protokolladressen (OTLP), den Ressourcendienstendpunkt, die Authentifizierung, Telemetriebeschränkungen und vieles mehr.
Wenn das Dashboard mit dem .NET.NET Aspire App-Hostprojekt gestartet wird, wird es automatisch so konfiguriert, dass die Ressourcen und Telemetrie der App angezeigt werden. Die Konfiguration wird beim Starten des Dashboards im eigenständigen Modus bereitgestellt.
Es gibt viele Möglichkeiten zum Bereitstellen der Konfiguration:
- Befehlszeilenargumente.
- Umgebungsvariablen. Das
:
Trennzeichen sollte durch doppelten Unterstrich (__
) in Umgebungsvariablennamen ersetzt werden. - Optionale JSON Konfigurationsdatei. Die
DOTNET_DASHBOARD_CONFIG_FILE_PATH
Einstellung kann verwendet werden, um eine JSON Konfigurationsdatei anzugeben.
Sehen Sie sich das folgende Beispiel an, in dem gezeigt wird, wie Sie das Dashboard beim Starten aus einem Docker-Container konfigurieren:
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
Alternativ können dieselben Werte mithilfe einer JSON Konfigurationsdatei konfiguriert werden, die mit DOTNET_DASHBOARD_CONFIG_FILE_PATH
angegeben wird:
{
"Dashboard": {
"TelemetryLimits": {
"MaxLogCount": 1000,
"MaxTraceCount": 1000,
"MaxMetricsCount": 1000
}
}
}
Wichtig
Das Dashboard zeigt Informationen zu Ressourcen an, einschließlich ihrer Konfiguration, Konsolenprotokolle und detaillierter Telemetrie.
Daten, die im Dashboard angezeigt werden, können vertraulich sein. Beispielsweise geheime Schlüssel in Umgebungsvariablen und vertrauliche Laufzeitdaten in Telemetrie. Achten Sie darauf, das Dashboard so zu konfigurieren, dass der Zugriff sicher ist.
Weitere Informationen finden Sie unter Dashboardsicherheit.
Anmerkung
Die auf dieser Seite beschriebene Konfiguration ist für das eigenständige Dashboard vorgesehen. Informationen zum Konfigurieren eines .NET.NET Aspire App-Hostprojekts finden Sie unter App-Hostkonfiguration.
Allgemeine Konfiguration
Option | Standardwert | Beschreibung |
---|---|---|
ASPNETCORE_URLS |
http://localhost:18888 |
Mindestens ein HTTP-Endpunkt, über den das Dashboard-Frontend bereitgestellt wird. Der Frontend-Endpunkt wird verwendet, um das Dashboard in einem Browser anzuzeigen. Wenn das Dashboard vom .NET.NET Aspire App-Host gestartet wird, wird diese Adresse mit HTTPS gesichert. Das Sichern des Dashboards mit HTTPS wird empfohlen. |
DOTNET_DASHBOARD_OTLP_ENDPOINT_URL |
http://localhost:18889 |
Der OTLP/gRPC Endpunkt. Dieser Endpunkt hostt einen OTLP-Dienst und empfängt Telemetrie mithilfe von gRPC. Wenn das Dashboard vom .NET.NET Aspire App-Host gestartet wird, wird diese Adresse mit HTTPS gesichert. Das Sichern des Dashboards mit HTTPS wird empfohlen. |
DOTNET_DASHBOARD_OTLP_HTTP_ENDPOINT_URL |
http://localhost:18890 |
Der OTLP/HTTP--Endpunkt. Dieser Endpunkt hostt einen OTLP-Dienst und empfängt Telemetrie mithilfe von Protobuf über HTTP. Wenn das Dashboard vom .NET.NET Aspire App-Host gestartet wird, ist der OTLP/HTTP-Endpunkt nicht standardmäßig konfiguriert. Um einen OTLP/HTTP-Endpunkt mit dem App-Host zu konfigurieren, legen Sie einen DOTNET_DASHBOARD_OTLP_HTTP_ENDPOINT_URL env var value in launchSettings.jsonfest. Das Sichern des Dashboards mit HTTPS wird empfohlen. |
DOTNET_DASHBOARD_UNSECURED_ALLOW_ANONYMOUS |
false |
Konfiguriert das Dashboard so, dass keine Authentifizierung verwendet wird und anonymen Zugriff akzeptiert wird. Diese Einstellung ist eine Verknüpfung zum Konfigurieren von Dashboard:Frontend:AuthMode und Dashboard:Otlp:AuthMode zum Unsecured . |
DOTNET_DASHBOARD_CONFIG_FILE_PATH |
null |
Der Pfad für eine JSON Konfigurationsdatei. Wenn das Dashboard in einem Docker-Container ausgeführt wird, ist dies der Pfad zur Konfigurationsdatei in einem bereitgestellten Volume. Dieser Wert ist optional. |
DOTNET_RESOURCE_SERVICE_ENDPOINT_URL |
null |
Der gRPC-Endpunkt, mit dem das Dashboard eine Verbindung für seine Daten herstellt. Wenn dieser Wert nicht angegeben ist, zeigt das Dashboard Telemetriedaten, aber keine Ressourcenliste oder Konsolenprotokolle an. Diese Einstellung ist eine Verknüpfung zu Dashboard:ResourceServiceClient:Url . |
Front-End-Authentifizierung
Die Dashboard-Frontend-Endpunktauthentifizierung ist mit Dashboard:Frontend:AuthMode
konfiguriert. Das Frontend kann mit openID Connect (OIDC) oder Browsertokenauthentifizierung gesichert werden.
Die Browsertokenauthentifizierung funktioniert vom Frontend, das nach einem Token fragt. Das Token kann entweder in die Benutzeroberfläche eingegeben oder als Abfragezeichenfolgenwert für die Anmeldeseite bereitgestellt werden. Beispiel: https://localhost:1234/login?t=TheToken
. Wenn das Token erfolgreich authentifiziert wird, wird eine Authentifizierung cookie im Browser beibehalten, und der Browser wird an die App umgeleitet.
Option | Standardwert | Beschreibung |
---|---|---|
Dashboard:Frontend:AuthMode |
BrowserToken |
Kann auf BrowserToken , OpenIdConnect oder Unsecured festgelegt werden.
Unsecured sollten nur während der lokalen Entwicklung verwendet werden. Es wird nicht empfohlen, das Dashboard öffentlich oder in anderen Einstellungen zu hosten. |
Dashboard:Frontend:BrowserToken |
null |
Gibt das Browsertoken an. Wenn das Browsertoken nicht angegeben ist, generiert das Dashboard eins. Tools, die die Protokollierung mit der Browsertokenauthentifizierung automatisieren möchten, können ein Token angeben und einen Browser mit dem Token in der Abfragezeichenfolge öffnen. Jedes Mal, wenn das Dashboard gestartet wird, sollte ein neues Token generiert werden. |
Dashboard:Frontend:OpenIdConnect:NameClaimType |
name |
Gibt einen oder mehrere Anspruchstypen an, die verwendet werden sollen, um den vollständigen Namen des authentifizierten Benutzers anzuzeigen. Dies kann ein einzelner Anspruchstyp oder eine durch Trennzeichen getrennte Liste von Anspruchstypen sein. |
Dashboard:Frontend:OpenIdConnect:UsernameClaimType |
preferred_username |
Gibt einen oder mehrere Anspruchstypen an, die zum Anzeigen des Benutzernamens des authentifizierten Benutzers verwendet werden sollen. Dies kann ein einzelner Anspruchstyp oder eine durch Trennzeichen getrennte Liste von Anspruchstypen sein. |
Dashboard:Frontend:OpenIdConnect:RequiredClaimType |
null |
Gibt den Anspruch an, der für autorisierte Benutzer vorhanden sein muss. Die Autorisierung schlägt ohne diesen Anspruch fehl. Dieser Wert ist optional. |
Dashboard:Frontend:OpenIdConnect:RequiredClaimValue |
null |
Gibt den Wert des erforderlichen Anspruchs an. Wird nur verwendet, wenn Dashboard:Frontend:OpenIdConnect:RequireClaimType ebenfalls angegeben ist. Dieser Wert ist optional. |
Authentication:Schemes:OpenIdConnect:Authority |
null |
URL zum Identitätsanbieter (IdP). |
Authentication:Schemes:OpenIdConnect:ClientId |
null |
Identität der vertrauenden Seite (RP). |
Authentication:Schemes:OpenIdConnect:ClientSecret |
null |
Ein Geheimnis, das nur das echte RP kennen würde. |
Andere Eigenschaften von OpenIdConnectOptions | null |
Werte im Konfigurationsabschnitt Authentication:Schemes:OpenIdConnect:* sind an OpenIdConnectOptions gebunden, z. B. Scope . |
Anmerkung
Bei Verwendung von OpenIdConnect
als Authentifizierungsmodus hinter einem Reverseproxy, der SSL beendet, kann eine zusätzliche Konfiguration erforderlich sein. Überprüfen Sie, ob ASPNETCORE_FORWARDEDHEADERS_ENABLED
auf true
festgelegt werden muss.
Weitere Informationen finden Sie unter Configure ASP.NET Core to work with proxy servers and load balancers.
OTLP-Authentifizierung
Die OTLP-Endpunktauthentifizierung ist mit Dashboard:Otlp:AuthMode
konfiguriert. Der OTLP-Endpunkt kann mit einem API-Schlüssel oder Clientzertifikat Authentifizierung gesichert werden.
Die API-Schlüsselauthentifizierung funktioniert, indem jede OTLP-Anforderung einen gültigen x-otlp-api-key
Headerwert aufweisen muss. Er muss entweder mit dem primären oder sekundären Schlüssel übereinstimmen.
Option | Standardwert | Beschreibung |
---|---|---|
Dashboard:Otlp:AuthMode |
Unsecured |
Kann auf ApiKey , Certificate oder Unsecured festgelegt werden.
Unsecured sollten nur während der lokalen Entwicklung verwendet werden. Es wird nicht empfohlen, das Dashboard öffentlich oder in anderen Einstellungen zu hosten. |
Dashboard:Otlp:PrimaryApiKey |
null |
Gibt den primären API-Schlüssel an. Der API-Schlüssel kann ein beliebiger Text sein, aber ein Wert mit mindestens 128 Bit Entropie wird empfohlen. Dieser Wert ist erforderlich, wenn der Authentifizierungsmodus API-Schlüssel ist. |
Dashboard:Otlp:SecondaryApiKey |
null |
Gibt den sekundären API-Schlüssel an. Der API-Schlüssel kann ein beliebiger Text sein, aber ein Wert mit mindestens 128 Bit Entropie wird empfohlen. Dieser Wert ist optional. Wenn ein zweiter API-Schlüssel angegeben wird, kann der eingehende x-otlp-api-key Headerwert entweder mit dem Primärschlüssel oder dem sekundären Schlüssel übereinstimmen. |
OTLP CORS
Die ursprungsübergreifende Ressourcenfreigabe (CROSS-Origin Resource Sharing, CORS) kann so konfiguriert werden, dass Browser-Apps Telemetrie an das Dashboard senden können.
Browser-Apps sind standardmäßig daran eingeschränkt, domänenübergreifende API-Aufrufe durchzuführen. Dies wirkt sich auf das Senden von Telemetrie an das Dashboard aus, da sich das Dashboard und die Browser-App immer auf unterschiedlichen Domänen befinden. Verwenden Sie zum Konfigurieren von CORS den Abschnitt Dashboard:Otlp:Cors
, und geben Sie die zulässigen Ursprünge und Header an:
{
"Dashboard": {
"Otlp": {
"Cors": {
"AllowedOrigins": "http://localhost:5000,https://localhost:5001"
}
}
}
}
Berücksichtigen Sie die folgenden Konfigurationsoptionen:
Option | Standardwert | Beschreibung |
---|---|---|
Dashboard:Otlp:Cors:AllowedOrigins |
null |
Gibt die zulässigen Ursprünge für CORS an. Es ist eine durch Trennzeichen getrennte Zeichenfolge und kann die * -Wildcard enthalten, um eine beliebige Domäne zuzulassen. Diese Option ist optional und kann mithilfe der umgebungsvariablen DASHBOARD__OTLP__CORS__ALLOWEDORIGINS festgelegt werden. |
Dashboard:Otlp:Cors:AllowedHeaders |
null |
Eine durch Trennzeichen getrennte Zeichenfolge, die die zulässigen Header für CORS darstellt. Diese Einstellung ist optional und kann mithilfe der umgebungsvariablen DASHBOARD__OTLP__CORS__ALLOWEDHEADERS festgelegt werden. |
Anmerkung
Das Dashboard unterstützt nur die POST
Methode zum Senden von Telemetrie und lässt keine Konfiguration der zulässigen Methoden (Access-Control-Allow-Methods
) für CORS zu.
Betriebsmittel
Das Dashboard stellt eine Verbindung mit einem Ressourcendienst zum Laden und Anzeigen von Ressourceninformationen bereit. Der Client ist im Dashboard für die Verbindung mit dem Dienst konfiguriert.
Die Clientauthentifizierung des Ressourcendiensts ist mit Dashboard:ResourceServiceClient:AuthMode
konfiguriert. Der Client kann für die Unterstützung der API-Schlüssel- oder Clientzertifikatauthentifizierung konfiguriert werden.
Option | Standardwert | Beschreibung |
---|---|---|
Dashboard:ResourceServiceClient:Url |
null |
Der gRPC-Endpunkt, mit dem das Dashboard eine Verbindung für seine Daten herstellt. Wenn dieser Wert nicht angegeben ist, zeigt das Dashboard Telemetriedaten, aber keine Ressourcenliste oder Konsolenprotokolle an. |
Dashboard:ResourceServiceClient:AuthMode |
null |
Kann auf ApiKey , Certificate oder Unsecured festgelegt werden.
Unsecured sollten nur während der lokalen Entwicklung verwendet werden. Es wird nicht empfohlen, das Dashboard öffentlich oder in anderen Einstellungen zu hosten. Dieser Wert ist erforderlich, wenn eine Ressourcendienst-URL angegeben ist. |
Dashboard:ResourceServiceClient:ApiKey |
null |
Die API, die im x-resource-service-api-key -Header an den Ressourcendienst gesendet werden soll. Dieser Wert ist erforderlich, wenn der Authentifizierungsmodus API-Schlüssel ist. |
Dashboard:ResourceServiceClient:ClientCertificate:Source |
null |
Kann auf File oder KeyStore festgelegt werden. Dieser Wert ist erforderlich, wenn der Authentifizierungsmodus clientzertifikat ist. |
Dashboard:ResourceServiceClient:ClientCertificate:FilePath |
null |
Der Zertifikatdateipfad. Dieser Wert ist erforderlich, wenn die Quelle File ist. |
Dashboard:ResourceServiceClient:ClientCertificate:Password |
null |
Das Kennwort für die Zertifikatdatei. Dieser Wert ist optional. |
Dashboard:ResourceServiceClient:ClientCertificate:Subject |
null |
Der Zertifikatbetreff. Dieser Wert ist erforderlich, wenn die Quelle KeyStore ist. |
Dashboard:ResourceServiceClient:ClientCertificate:Store |
My |
Das Zertifikat StoreName. |
Dashboard:ResourceServiceClient:ClientCertificate:Location |
CurrentUser |
Das Zertifikat StoreLocation. |
Telemetriegrenzwerte
Telemetrie wird im Arbeitsspeicher gespeichert. Um eine übermäßige Speicherauslastung zu vermeiden, hat das Dashboard Beschränkungen für die Anzahl und Größe der gespeicherten Telemetrie. Wenn ein Zählungslimit erreicht ist, wird neue Telemetrie hinzugefügt, und die älteste Telemetrie wird entfernt. Wenn eine Größenbeschränkung erreicht ist, werden die Daten bis zum Grenzwert abgeschnitten.
Telemetriegrenzwerte weisen je nach Telemetrietyp unterschiedliche Bereiche auf:
-
MaxLogCount
undMaxTraceCount
werden über Ressourcen hinweg gemeinsam genutzt. Beispielsweise konfiguriert einMaxLogCount
Wert von 5.000 das Dashboard so, dass bis zu 5.000 Protokolleinträge für alle Ressourcen gespeichert werden. -
MaxMetricsCount
ist pro Ressource. Beispielsweise konfiguriert einMaxMetricsCount
Wert von 10.000 das Dashboard so, dass bis zu 10.000 Metrikdatenpunkte pro Ressource gespeichert werden.
Option | Standardwert | Beschreibung |
---|---|---|
Dashboard:TelemetryLimits:MaxLogCount |
10,000 | Die maximale Anzahl von Protokolleinträgen. Der Grenzwert wird für alle Ressourcen freigegeben. |
Dashboard:TelemetryLimits:MaxTraceCount |
10,000 | Die maximale Anzahl von Protokollablaufverfolgungen. Der Grenzwert wird für alle Ressourcen freigegeben. |
Dashboard:TelemetryLimits:MaxMetricsCount |
50,000 | Die maximale Anzahl von Metrikdatenpunkten. Der Grenzwert ist pro Ressource. |
Dashboard:TelemetryLimits:MaxAttributeCount |
128 | Die maximale Anzahl von Attributen für Telemetrie. |
Dashboard:TelemetryLimits:MaxAttributeLength |
null |
Die maximale Länge von Attributen. |
Dashboard:TelemetryLimits:MaxSpanEventCount |
null |
Die maximale Anzahl von Ereignissen für Span-Attribute. |
Andere
Option | Standardwert | Beschreibung |
---|---|---|
Dashboard:ApplicationName |
Aspire |
Der Anwendungsname, der in der Benutzeroberfläche angezeigt werden soll. Dies gilt nur, wenn keine Ressourcendienst-URL angegeben wird. Wenn ein Ressourcendienst vorhanden ist, gibt der Dienst den Anwendungsnamen an. |