.NET Aspire dashboard overview
.NET Aspire project templates offer a sophisticated dashboard for comprehensive app monitoring and inspection. This dashboard allows you to closely track various aspects of your app, including logs, traces, and environment configurations, in real-time. It's purpose-built to enhance the local development experience, providing an insightful overview of your app's state and structure.
Using the dashboard with .NET Aspire projects
The dashboard is integrated into the .NET Aspire AppHost. During development the dashboard is automatically launched when you start the project. It's configured to display the .NET Aspire app's resources and telemetry.
For more information about using the dashboard during .NET Aspire development, see Explore dashboard features.
Standalone mode
The .NET Aspire dashboard is also shipped as a Docker image and can be used standalone, without the rest of .NET Aspire. The standalone dashboard provides a great UI for viewing telemetry and can be used by any application.
docker run --rm -it -p 18888:18888 -p 4317:18889 -d --name aspire-dashboard \
mcr.microsoft.com/dotnet/nightly/aspire-dashboard:8.0.0-preview.6
The preceding Docker command:
- Starts a container from the
mcr.microsoft.com/dotnet/nightly/aspire-dashboard:8.0.0-preview.6
image. - The container has two ports:
- Port
4317
receives OpenTelemetry data from apps. Apps send data using OpenTelemetry Protocol (OTLP). - Port
18888
has the dashboard UI. Navigate tohttp://localhost:18888
in the browser to view the dashboard.
- Port
For more information, see the Standalone .NET Aspire dashboard sample app.
Note
The dashboard currently only supports the OTLP/gRPC protocol. Apps sending telemetry to the dashboard must be configured to use the grpc
protocol. There are a couple of options for configuring apps:
- Configure the OpenTelemetry SDK inside the app to use the gRPC OTLP protocol, or
- Start the app with the
OTEL_EXPORTER_OTLP_PROTOCOL
environment variable with a value ofgrpc
.
Configuration
The dashboard is configured when it starts up. Configuration includes frontend and OTLP addresses, the resource service endpoint, authentication, telemetry limits and more.
For more information, see .NET Aspire dashboard configuration.
Architecture
The dashboard user experience is built with a variety of technologies. The frontend is built with Microsoft's Fluent UI Blazor component library. Each app communicates to the dashboard using the OpenTelemetry Protocol (OTLP). A resource server exists within this architecture to provide information about the app's resources, such as a resource listing, console logs, and command execution. The dashboard communicates using gRPC (specifically with the Grpc.AspNetCore NuGet package) to the resource server. Consider the following diagram that illustrates the architecture of the .NET Aspire dashboard:
Security
The .NET Aspire dashboard offers powerful insights to your apps. The UI displays information about resources, including their configuration, console logs and in-depth telemetry.
Data displayed in the dashboard can be sensitive. For example, configuration can include secrets in environment variables, and telemetry can include sensitive runtime data. Care should be taken to secure access to the dashboard.
For more information, see .NET Aspire dashboard security considerations.
.NET Aspire
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for