独立 .NET.NET Aspire 仪表板
.NET .NET Aspire 仪表板 提供了用于查看遥测的出色 UI。 仪表板:
- 作为容器映像提供,可与任何已启用 OpenTelemetry 的应用一起使用。
- 可以独立使用,无需 rest的 .NET Aspire。
启动仪表板
仪表板是使用 Docker 命令行启动的。
docker run --rm -it -d \
-p 18888:18888 \
-p 4317:18889 \
--name aspire-dashboard \
mcr.microsoft.com/dotnet/aspire-dashboard:9.0
前面的 Docker 命令:
- 从
mcr.microsoft.com/dotnet/aspire-dashboard:9.0
映像启动容器。 - 容器公开两个端口:
- 将仪表板的 OTLP 端口
18889
映射到主机的端口4317
。 端口4317
从应用接收 OpenTelemetry 数据。 应用使用 OpenTelemetry 协议 (OTLP)发送数据。 - 将仪表板的端口
18888
映射到主机的端口18888
。 端口18888
具有仪表板 UI。 导航到浏览器中http://localhost:18888
以查看仪表板。
- 将仪表板的 OTLP 端口
登录到仪表板
仪表板中显示的数据可能很敏感。 默认情况下,仪表板受到身份验证保护,需要令牌登录。
从独立容器运行仪表板时,会将登录令牌打印到容器日志。 将突出显示的令牌复制到登录页后,选择“登录”按钮
提示
若要避免登录,可以通过将 DOTNET_DASHBOARD_UNSECURED_ALLOW_ANONYMOUS
环境变量设置为 true
来禁用身份验证要求。 其他配置可用,请参阅 仪表板配置。
有关登录到仪表板的详细信息,请参阅 仪表板身份验证。
浏览仪表板
仪表板提供用于查看遥测的 UI。 请参阅文档,了解遥测功能:
尽管仪表板的运行位置没有限制,但仪表板设计为开发和短期诊断工具。 仪表板会保留内存中的遥测数据,这会产生一些限制:
- 如果超过 遥测限制,则会自动删除遥测数据。
- 重启仪表板时,不会保留任何遥测数据。
仪表板还具有查看 .NET.NET Aspire 资源的功能。 仪表板资源功能在独立模式下运行时处于禁用状态。 若要启用资源 UI,添加资源服务的配置。
将遥测数据发送到仪表板
应用使用 OpenTelemetry 协议(OTLP)将遥测数据发送到仪表板。 仪表板必须公开用于接收 OpenTelemetry 数据的端口,并且应用配置为将数据发送到该地址。
前面显示了一个 Docker 命令来 启动仪表板。 它配置了容器以接收端口 OpenTelemetry上的 4317
数据。 OTLP 终结点的完整地址 http://localhost:4317
。
配置 OpenTelemetry SDK
应用使用 其语言的 OpenTelemetry SDK收集和发送遥测数据。
配置的重要 OpenTelemetry SDK 选项:
- OTLP 终结点,该终结点应与仪表板的配置匹配,例如
http://localhost:4317
。 - OTLP 协议,仪表板当前仅支持 OTLP/gRPC 协议。 将应用程序配置为使用
grpc
协议。
配置应用程序:
- 在应用程序中使用 OpenTelemetry SDK API,或者
- 使用 已知环境变量启动应用:
- 值为
OTEL_EXPORTER_OTLP_PROTOCOL
的grpc
。 - 值为
OTEL_EXPORTER_OTLP_ENDPOINT
的http://localhost:4317
。
- 值为
样本
有关使用独立仪表板的示例,请参阅 独立 .NET.NET Aspire 仪表板示例应用。