OpenClaw 通过官方 diagnostics-otel 插件使用 OTLP/HTTP(protobuf) 导出诊断数据,支持任何接受 OTLP/HTTP 的 collector 或后端(Grafana、Datadog、Honeycomb、New Relic、Tempo 等)。
快速开始
openclaw plugins install clawhub:@openclaw/diagnostics-otel
openclaw plugins enable diagnostics-otel{
plugins: {
allow: ["diagnostics-otel"],
entries: { "diagnostics-otel": { enabled: true } },
},
diagnostics: {
enabled: true,
otel: {
enabled: true,
endpoint: "http://otel-collector:4318",
protocol: "http/protobuf",
serviceName: "openclaw-gateway",
traces: true,
metrics: true,
logs: true,
sampleRate: 0.2,
flushIntervalMs: 60000,
},
},
}注意:protocol 目前仅支持 http/protobuf,grpc 被忽略。
导出信号
| 信号 | 内容 |
|---|---|
| Metrics | token 用量、成本、运行时长、消息流、Talk 事件、队列、会话状态、exec、内存压力 |
| Traces | 模型调用、harness 生命周期、工具执行、exec、webhook/消息处理、上下文组装、工具循环 |
| Logs | 结构化 logging.file 记录通过 OTLP 导出 |
配置参考
{
diagnostics: {
otel: {
endpoint: "http://otel-collector:4318",
tracesEndpoint: "...", // 信号级别端点覆盖
metricsEndpoint: "...",
logsEndpoint: "...",
headers: { "x-collector-token": "..." },
sampleRate: 0.2, // 根 span 采样率 0.0..1.0
flushIntervalMs: 60000, // 指标导出间隔(最小 1000ms)
captureContent: { // 默认全部关闭
enabled: false,
inputMessages: false,
outputMessages: false,
toolInputs: false,
toolOutputs: false,
systemPrompt: false,
},
},
},
}环境变量
| 变量 | 用途 |
|---|---|
OTEL_EXPORTER_OTLP_ENDPOINT | 覆盖 diagnostics.otel.endpoint |
OTEL_SERVICE_NAME | 覆盖 diagnostics.otel.serviceName |
OTEL_SEMCONV_STABILITY_OPT_IN | 设为 gen_ai_latest_experimental 使用最新 GenAI span 属性 |
OPENCLAW_OTEL_PRELOADED | 设为 1 跳过 NodeSDK 生命周期(已有全局 SDK 时) |
隐私模型
默认不导出原始内容:
- 不含提示词、响应文本、工具输入/输出、系统提示
- Span 仅携带有界标识符(channel、provider、model、错误类别、请求 ID 哈希)
仅在 captureContent.* 显式启用时才导出对应内容类别。
诊断标志(无 OTLP 时)
OPENCLAW_DIAGNOSTICS=telegram.http,telegram.payload openclaw gateway或配置:
{ diagnostics: { flags: ["telegram.http"] } }相关链接
- gateway-logging — 文件日志与控制台输出
- gateway-diagnostics — 诊断导出(支持包)
- gateway-prometheus — Prometheus 指标