用途:观察 Aspire 应用的运行状况,包括日志、追踪、指标、资源状态与遥测导出,并决定本地或已部署环境应使用哪种诊断工具。
主要能力:本地开发通过 Aspire CLI 获取控制台日志(aspire logs <resource>)、结构化 OpenTelemetry 日志(aspire otel logs)、分布式追踪(aspire otel traces)、跨度详情(aspire otel spans)、资源状态(aspire describe)、遥测导出(aspire export)。独立仪表板可用 aspire dashboard run 启动,无需 AppHost,任何 OTLP 应用均可接入,默认地址为 http://localhost:18888/login?t=<TOKEN>,OTLP/gRPC 为 http://localhost:4317,OTLP/HTTP 为 http://localhost:4318。该命令为前台阻塞式,需作为长时后台进程运行。aspire otel logs 与 aspire otel traces 支持 --dashboard-url(可传完整登录 URL)及可选 --api-key 查询独立仪表板。浏览器遥测通过 Aspire.Hosting.Browsers 与 WithBrowserLogs() 采集前端控制台日志、网络请求和截图,并在仪表板中与服务器遥测并列显示。
使用方式:排查问题时先 aspire describe 查看资源状态与端点,再用 aspire otel logs 看结构化日志,aspire logs 看控制台输出,aspire otel traces 看跨服务活动,aspire export 导出遥测快照。机器解析可用 --format Json(支持 ps、describe、start)。默认过滤隐藏资源,缺失时加 --include-hidden。存在多个 AppHost 时用 --apphost <path>。
适用场景与限制:本地运行用 Aspire CLI;AKS 用 kubectl 与 Container Insights;其他 Azure 部署用 azure-diagnostics;Docker/Compose 用 docker logs。CLI 通过本地 backchannel 通信,无法远程诊断,仅 otel 命令可经 --dashboard-url 查询可达仪表板。已知问题包括 TS AppHost DNS 失败可用 --dashboard-url localhost:PORT 规避,--isolated 模式遥测端口未随机化应避免使用。AppHost 代码修改、部署与生命周期操作需转交其他技能。