OpenClaw 基于 OpenTelemetry 的可观测性与监控
OpenClaw 是一个开源的个人 AI 助手,运行在你自己的设备上,并通过你日常使用的即时通讯应用与你交互,支持 WhatsApp、Telegram、Slack、Discord 和 Signal 等。它由一个本地 gateway 进程作为控制平面,负责管理会话、定时任务和工具执行。
由于 OpenClaw 在本地运行,且会在无人触发的情况下按计划执行任务,遥测数据往往是了解它在你不在时做了什么的唯一途径:调用了哪些模型、运行了哪些工具、一次会话花费多少。
OpenClaw 的可观测性通过 OpenTelemetry 收集 traces、logs 和 metrics,让你获得这些可见性。本指南将介绍如何为 OpenClaw 添加监控埋点,并把遥测数据发送到 SigNoz,从而监控性能、排查故障、了解模型使用情况。
在 SigNoz 中获得完整的 OpenClaw 可观测性后,你可以在同一个仪表盘中关联 traces、logs 和 metrics,针对错误率或高延迟设置告警,并分析各渠道随时间变化的使用模式。
前提条件
- 一个拥有有效 ingestion key 的 SigNoz Cloud 账户,或一个自托管的 SigNoz 实例
- Python 环境:已安装
pip用于管理 Python 包 - 一个正在运行的 OpenClaw 实例
使用 OpenTelemetry 监控 OpenClaw
有关如何在你的环境中上手 OpenClaw 的更多信息,请参阅 OpenClaw 快速入门指南。
启用日志的临时方案当前版本的 OpenClaw 在日志采集方面还存在一些问题。为了启用日志功能,我们在一个fork 仓库中做了修改,并提交了 PR#22478。你可以按照下面的步骤启用日志;如果只需要 traces 和 metrics,可以跳过这些步骤。
前提条件
- 已安装 Node.js 和 pnpm。
- npm 全局 prefix 已设置为用户级目录(如
~/.npm-global)。
克隆仓库并切换到修复分支
Copygit clone https://github.com/LuffySama-Dev/openclaw.git
cd openclaw
git switch logsIsolationIssueFixed安装依赖项并构建
Copypnpm install
pnpm build从本地仓库全局安装(重要:请勿使用 sudo)
npm install -g .确保用户级 npm bin 目录位于 PATH 的最前面
Copyecho 'export PATH="$HOME/.npm-global/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
hash -r验证 OpenClaw 是否解析到用户路径(而非 /usr/bin)
which openclaw
openclaw --version
npm ls -g openclaw --depth=0
第 1 步:启用 Diagnostic-OTel 插件
diagnostics-otel 插件随 OpenClaw 一同提供,但默认处于禁用状态。你可以通过 CLI 启用它:
openclaw plugins enable diagnostics-otel
或者直接在配置文件中添加该插件(~/.openclaw/openclaw.json):
{
"plugins": {
"allow": ["diagnostics-otel"],
"entries": {
"diagnostics-otel": {
"enabled": true
}
}
}
}
第 2 步:配置 OTEL Exporter
你可以通过 CLI 配置导出器:
Copyopenclaw config set diagnostics.enabled true
openclaw config set diagnostics.otel.enabled true
openclaw config set diagnostics.otel.traces true
openclaw config set diagnostics.otel.metrics true
openclaw config set diagnostics.otel.logs true
openclaw config set diagnostics.otel.protocol http/protobuf
openclaw config set diagnostics.otel.endpoint "https://ingest.<region>.signoz.cloud:443"
openclaw config set diagnostics.otel.headers '{"signoz-ingestion-key":"<your-ingestion-key>"}'
openclaw config set diagnostics.otel.serviceName "<service_name>"
<service_name>是你的服务名称<region>:你的 SigNoz Cloud 区域<your-ingestion-key>:你的 SigNoz 摄入密钥
大部分步骤相同。只需按照 Cloud → Self-Hosted 中的说明修改 endpoint 并移除 ingestion key 请求头即可。
配置要点配置注意事项:
protocol- OpenClaw 目前仅支持http/protobuf,设置grpc会被静默忽略。endpoint- SigNoz Cloud 的 OTLP/HTTP 和 OTLP/gRPC 都使用 443 端口,与常见的 4317/4318 端口划分不同。如果 endpoint 中没有包含/v1/traces或/v1/metrics,插件会自动追加相应路径。headers- SigNoz Cloud 需要通过signoz-ingestion-key请求头进行身份验证。flushIntervalMs- 最小值为 1000ms。默认值(60s)意味着快速任务的 trace 最多要等一分钟才能显示,建议设为5000以获得接近实时的可见性。sampleRate- 控制 trace 采样率(0.0–1.0,仅作用于根 span)。个人使用设为1.0即可。
步骤 3:检查配置(可选)
可以使用以下命令快速检查配置:
Copyopenclaw config get diagnostics
输出应如下所示:
Copy{
"enabled": true,
"otel": {
"enabled": true,
"endpoint": "https://ingest.<region>.signoz.cloud:443",
"protocol": "http/protobuf",
"headers": {
"signoz-ingestion-key": "<YOUR_SIGNOZ_INGESTION_KEY>"
},
"serviceName": "openclaw-gateway",
"traces": true,
"metrics": true,
"logs": true,
"sampleRate": 1,
"flushIntervalMs": 5000
}
}
也可以直接查看 ~/.openclaw/openclaw.json 配置文件。
步骤 4:重启 OpenClaw gateway
Copyopenclaw gateway restart
在 SigNoz 中查看 OpenClaw 的 Traces 和 Metrics
配置完成后,OpenClaw 会自动为每次 LLM 请求上报 traces、logs 和 metrics。
OpenClaw 的 traces 可在 SigNoz 的 Traces 标签页中查看:

在 SigNoz 中点击任意追踪,即可查看其详细视图,包含所有相关 spans、事件及属性。

SigNoz 的 Metrics 标签页提供 OpenClaw 相关指标:

点击 SigNoz 中的任意指标,可查看该指标的详细信息,包括其属性:

AI Observability 视图
AI Observability 展示 OpenClaw agent 发起 LLM 调用时的成本、token 用量、延迟和错误。在 SigNoz 中打开 AI Observability,并通过 service_name 筛选器选择目标服务。

要查询单条 trace,打开 Explorer 标签页。Trace View 会为每条 trace 显示一行,包含 token 数、成本、调用次数等汇总数据。你可以基于这些数据进行过滤、聚合和排序,例如 trace.total_tokens > 1000。详情请参阅 AI Observability Explorer。
如果面板一直是空的,请确认你的 span 是否带有 Telemetry Requirements 中列出的属性。若要映射其他属性名,可以使用 Attribute Mapping。
OpenClaw 可观测性问题排查
如果看不到遥测数据:
- 检查网络连通性 —— 确保应用能够访问 SigNoz Cloud 的端点
- 检查 ingestion key —— 确认 SigNoz 的 ingestion key 填写正确
- 等待数据 —— OpenTelemetry 会先批量缓存数据再发送,因此调用 API 后需等待 10–30 秒
- 试试 console exporter —— 在本地启用 console exporter,确认应用在发送到 SigNoz 之前确实生成了遥测数据
OpenClaw 可观测性仪表盘
OpenClaw 可观测性仪表盘提供了专为 LLM 使用场景设计的预置图表,开箱即可监控 token 用量、请求速率和延迟。

配置 OpenTelemetry Collector(可选)
什么是 OpenTelemetry Collector?
可以把 OTel Collector 视为应用与 SigNoz 之间的中间层。应用不直接向 SigNoz 发送数据,而是先将其全部传至 Collector,再由 Collector 转发。
为什么需要它?
- 数据清洗——过滤