Skip to content

独立运行仪表板 ​

更新: 2026-10-16 15:20:09   字数: 0 字   时长: 0 分钟

独立仪表板(Standalone dashboard)是一个纯粹的 OTLP 查看器:不需要 Aspire AppHost,任何配置了 OpenTelemetry 导出的应用都可以把遥测发过来。这一点对 Python、Node.js 等非 .NET 应用尤其有用。

启动 ​

bash
aspire dashboard run

启动后:

用途地址
仪表板 UIhttp://localhost:18888
OTLP(gRPC)http://localhost:4317
OTLP(HTTP)http://localhost:4318

请使用带令牌的登录地址

保持认证开启,并使用 CLI 打印出来的完整登录地址(形如 http://localhost:18888/login?t=<token>)。裸地址通常无法直接登录。

让应用发送遥测 ​

.NET ​

csharp
builder.Services.AddOpenTelemetry()
    .WithTracing(tracing => tracing.AddAspNetCoreInstrumentation())
    .UseOtlpExporter();

或通过环境变量:

bash
OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318

Node.js ​

bash
npm install @opentelemetry/sdk-node @opentelemetry/exporter-trace-otlp-http
bash
OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318
OTEL_SERVICE_NAME=my-node-app
node --require ./instrumentation.js app.js

Python ​

bash
pip install opentelemetry-sdk opentelemetry-exporter-otlp
bash
OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318
OTEL_SERVICE_NAME=my-python-app
python app.py

用 CLI 查询遥测 ​

独立模式下,需要把 CLI 指向仪表板地址:

bash
aspire otel logs   --dashboard-url "http://localhost:18888/login?t=<token>"
aspire otel traces --dashboard-url "http://localhost:18888/login?t=<token>"
aspire otel spans  --dashboard-url "http://localhost:18888/login?t=<token>"

加 --format Json 可获得结构化输出。

独立模式的限制 ​

能力随 AppHost 运行独立模式
接收并查看 OTLP 遥测✅✅
资源生命周期控制(启停)✅❌
资源环境变量与配置查看✅❌
资源终端✅❌

为什么会这样?

独立模式没有 AppHost 提供的资源服务,因此不知道「有哪些资源、它们的状态如何」。它只能显示应用主动发送过来的遥测数据。

典型使用场景 ​

  • 非 .NET 团队:只想用一个统一的 OTel 查看器,不引入完整 Aspire 编排。
  • 部署后观察:把生产/预发环境的 OTLP 端点指向一个独立仪表板实例,临时查看问题。
  • 本地混合调试:既有 Aspire 项目,也有独立运行的脚本。

排查建议 ​

收不到任何遥测
  1. 确认应用真的配置了 OTLP 导出器(只装 SDK 不会自动导出)。
  2. 确认端点拼写与端口正确(HTTP 用 4318,gRPC 用 4317)。
  3. 若仪表板不在本机,检查防火墙与 Dashboard:Otlp:Cors 配置。
  4. HTTPS 场景可能需要配置 Dashboard:Otlp:AllowedCertificates。
浏览器打开是白屏或要求登录

使用 CLI 打印出来的完整登录地址(含 ?t=<token>)。令牌只在本机有效,不要提交到版本库或贴到公开渠道。

下一步 ​

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