Freigeben über


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_PATHangegeben 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:AuthModekonfiguriert. 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 Unsecuredfestgelegt 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 OpenIdConnectOptionsgebunden, 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 truefestgelegt 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:AuthModekonfiguriert. 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 Unsecuredfestgelegt 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:AuthModekonfiguriert. 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 Unsecuredfestgelegt 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 KeyStorefestgelegt werden. Dieser Wert ist erforderlich, wenn der Authentifizierungsmodus clientzertifikat ist.
Dashboard:ResourceServiceClient:ClientCertificate:FilePath null Der Zertifikatdateipfad. Dieser Wert ist erforderlich, wenn die Quelle Fileist.
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 KeyStoreist.
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 und MaxTraceCount werden über Ressourcen hinweg gemeinsam genutzt. Beispielsweise konfiguriert ein MaxLogCount 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 ein MaxMetricsCount 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.

Nächste Schritte