仪表板 Aspire 提供了 用于查看遥测的出色 UI。 仪表板:
- 作为容器映像提供,可与任何已启用 OpenTelemetry 的应用一起使用。
- 可以独立使用,而不使用其余部分 Aspire。
启动仪表板
仪表板是使用 Docker 命令行启动的。
docker run --rm -it -d \
-p 18888:18888 \
-p 4317:18889 \
--name aspire-dashboard \
mcr.microsoft.com/dotnet/aspire-dashboard:latest
前面的 Docker 命令:
- 从
mcr.microsoft.com/dotnet/aspire-dashboard:9.5映像启动容器。 - 容器公开两个端口:
- 将仪表板的 OTLP 端口
18889映射到主机的端口4317。 端口4317从应用接收 OpenTelemetry 数据。 应用使用 OpenTelemetry 协议 (OTLP)发送数据。 - 将仪表板的端口
18888映射到主机的端口18888。 端口18888具有仪表板 UI。 导航到浏览器中http://localhost:18888以查看仪表板。
- 将仪表板的 OTLP 端口
登录到仪表板
仪表板中显示的数据可能很敏感。 默认情况下,仪表板受到身份验证保护,需要令牌登录。
从独立容器运行仪表板时,会将登录令牌打印到容器日志。 日志显示在 Dockeraspire 仪表板容器的“日志”选项卡上的“桌面”用户界面中:
将突出显示的令牌复制到登录页后,选择 “登录 ”按钮。
或者,可以使用以下命令从日志 docker 中获取令牌:
#!/bin/bash
loginLine=$(docker container logs aspire-dashboard | grep "login?t=")
match=$(echo "$loginLine" | sed -n 's/.*login?t=\([^[:space:]]*\).*/\1/p')
echo -n "$match" | xclip -selection clipboard
echo "$match"
Note
此脚本要求系统已安装 sed 工具和 xclip 工具。
Tip
若要避免登录,可以通过将 ASPIRE_DASHBOARD_UNSECURED_ALLOW_ANONYMOUS 环境变量设置为 true来禁用身份验证要求。 其他配置可用,请参阅 仪表板配置。
有关登录到仪表板的详细信息,请参阅 仪表板身份验证。
浏览仪表板
仪表板提供用于查看遥测的 UI。 请参阅文档,了解遥测功能:
尽管仪表板的运行位置没有限制,但仪表板设计为开发和短期诊断工具。 仪表板会保留内存中的遥测数据,这会产生一些限制:
- 如果超出 遥测限制 ,则会自动删除遥测数据。
- 重启仪表板时,不会保留任何遥测数据。
独立时不可用的功能
仪表板具有查看 Aspire 资源的功能。 仪表板资源功能在独立模式下运行时处于禁用状态。 若要启用资源 UI,添加资源服务的配置。
GitHub 独立仪表板中不提供 Copilot 功能 。 Copilot 使用与 IDE 的连接来与 GitHub Copilot 通信,当仪表板处于独立模式时,该连接不可用。
将遥测数据发送到仪表板
应用使用 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。
- 值为
Sample
有关使用独立仪表板的示例,请参阅 独立 Aspire 仪表板示例应用。