功能导览
更新: 2026-10-16 15:20:09 字数: 0 字 时长: 0 分钟
这一页按照排障时最常用的顺序,介绍 Aspire 仪表板的各个界面。
资源(Resources)
首屏是资源列表,显示每个资源的:
| 列 | 说明 |
|---|---|
| Name | 资源名(即 AppHost 中声明的名称)。 |
| Type | 资源类型(Project、Container、Executable…)。 |
| State | 运行状态(Running、Finished、FailedToStart…)。 |
| Health | 健康状态,来自健康检查。 |
| Endpoints | 可点击访问的地址。 |
| Actions | 停止 / 启动 / 重启等操作。 |
点击资源名进入详情页,可以查看它的环境变量、命令行、日志与遥测。
环境变量视图能直接回答「连接字符串注入了吗」
排查配置注入问题时,先看资源详情页的环境变量,比在代码里打断点快得多。
结构化日志(Console Logs)
每个资源都有独立的控制台日志页,支持:
- 按级别过滤(Trace / Debug / Information / Warning / Error)。
- 关键字搜索。
- 展开结构化日志的属性。
日志与追踪已关联
结构化日志如果带有 TraceId / SpanId,可以直接跳到对应的追踪,这是定位「某次请求为什么失败」最快的路径。
追踪(Traces)
追踪页展示所有分布式追踪。展开一条追踪可以看到完整的调用链:
text
webfrontend GET /products 120 ms
└── apiservice GET /api/products 95 ms
└── catalogdb SELECT ... 30 ms排障时的典型问题:
| 现象 | 看什么 |
|---|---|
| 某个请求很慢 | 追踪里哪一段 span 最长。 |
| 跨服务调用失败 | 失败 span 的 status 与 event(异常信息)。 |
| 请求没到达下游 | 追踪断在哪个服务。 |
| 重试风暴 | 同一个下游 span 是否重复出现(弹性策略触发)。 |
指标(Metrics)
指标页按仪表(instrument)聚合展示数值。常用于观察:
- HTTP 请求速率与错误率。
- 垃圾回收与内存占用(
AddRuntimeInstrumentation)。 HttpClient调用耗时分布。
终端(Terminals)
仪表板内置交互式终端,可以:
- 为资源应用打开会话,直接在里面执行命令。
- 打开 AppHost 的 shell。
- 处理认证对话框。
- 用「磁带(tape)」文件回放/自动化终端交互。
详见 aspire terminal 相关命令。
AI 编码代理
仪表板的数据可以通过 Aspire CLI 与 MCP 服务器暴露给 AI 编码代理。代理的典型工作流是:
bash
aspire start # 后台启动
aspire wait apiservice # 等待资源就绪
aspire otel logs # 查看日志
aspire otel traces # 查看追踪
aspire describe # 查看资源状态加 --format Json 即可获得结构化输出。
这是对「应用」的观测
共享给代理的是您的应用遥测(日志、追踪、指标与资源状态),不是对代理推理过程或 Token 用量的监控。
数据持久化
仪表板会把资源信息与遥测数据持久化,因此可以:
- 检查已经跑完的一次运行。
- 对比两次运行之间的差异。
相关配置见仪表板配置中的 Dashboard:Data:*。
常见排障路径
服务在仪表板里显示 Unhealthy
- 点击资源名查看日志。
- 找启动异常或连接失败信息。
- 确认健康检查端点存在(
/health返回 200)。 - 确认依赖资源都已成功启动。
前端报 Connection refused
- 在追踪里看请求是否发出。
- 检查是否遗漏了
WithReference。 - 检查是否遗漏了
WaitFor(后端尚未就绪时前端就发起了请求)。





