独立 .NET.NET Aspire 仪表板

.NET .NET Aspire 仪表板 提供了用于查看遥测的出色 UI。 仪表板:

  • 作为容器映像提供,可与任何已启用 OpenTelemetry 的应用一起使用。
  • 可以独立使用,无需 rest的 .NET Aspire。

独立模式下运行的 .NET.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 以查看仪表板。

登录到仪表板

仪表板中显示的数据可能很敏感。 默认情况下,仪表板受到身份验证保护,需要令牌登录。

从独立容器运行仪表板时,会将登录令牌打印到容器日志。 将突出显示的令牌复制到登录页后,选择“登录”按钮

.NET.NET Aspire 仪表板容器日志的屏幕截图。

提示

若要避免登录,可以通过将 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_PROTOCOLgrpc
    • 值为 OTEL_EXPORTER_OTLP_ENDPOINThttp://localhost:4317

样本

有关使用独立仪表板的示例,请参阅 独立 .NET.NET Aspire 仪表板示例应用

后续步骤