Skip to content

功能导览 ​

更新: 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
  1. 点击资源名查看日志。
  2. 找启动异常或连接失败信息。
  3. 确认健康检查端点存在(/health 返回 200)。
  4. 确认依赖资源都已成功启动。
前端报 Connection refused
  1. 在追踪里看请求是否发出。
  2. 检查是否遗漏了 WithReference。
  3. 检查是否遗漏了 WaitFor(后端尚未就绪时前端就发起了请求)。

下一步 ​

你觉得这篇文章怎么样?
  • 0
  • 0
  • 0
  • 0
  • 0
  • 0
评论
  • 按正序
  • 按倒序
  • 按热度