更新时间:2026-11-02 GMT+08:00
分享

OpenClaw Agent

本文介绍如何将OpenClaw Agent接入华为云AgentArts观测服务,实现调用链追踪和业务指标监控。

快速入门:

前提:本地已安装OpenClaw(版本>= 2026.7.1)。

  1. 在AgentArts平台创建OpenClaw智能体,获取接入参数。
  2. 在OpenClaw所在机器执行安装命令。
  3. 触发OpenClaw会话,在AgentArts观测页面查看数据。

详细步骤见下方接入步骤。

前提条件

  • Node.js 版本 >= 20
  • OpenClaw 版本 >= 2026.7.1
  • 在AgentArts观测界面查看数据不收费。
  • 但数据上报会产生费用:
    • 调用链上报到APM(应用性能管理服务),费用明细请参考APM计费说明。
    • 指标上报到AOM(应用运维管理服务),费用明细请参考AOM计费说明。
  • AOM和APM都是按需计费,并有一定量的免费额度,超出后按实际使用量收费。

工作原理

OpenClaw是一款开源的AI Agent,提供工具调用、模型调用、多轮对话等能力。

OpenClaw可观测扩展插件(huawei-otel)是华为云AgentArts基于OpenTelemetry标准为OpenClaw开发的可观测采集插件。插件以Node.js扩展的形式安装到OpenClaw的扩展目录中,通过OpenClaw的运行时事件Hook机制采集数据,无需修改业务代码。

数据流转过程:

OpenClaw Agent运行时
  ├── gateway加载huawei-otel插件
  │     └── 注册事件Hook
  │           ├── before_agent_run / agent_end           Agent回合
  │           ├── model_call_started / model_call_ended   模型调用
  │           ├── llm_input / llm_output                 输入输出
  │           ├── before_tool_call / after_tool_call      工具调用
  │           └── before_message_write                    消息写入
  │
  ├── Trace数据 ──OTLP gRPC──→ APM(调用链)
  └── Metrics数据 ──OTLP gRPC──→ AOM(指标)
                                         │
                                         ▼
                               AgentArts观测平台展示

接入后,以下能力将被自动监控:

  • Agent执行链路(invoke_agent):Agent回合的完整生命周期。
  • 推理步骤(react step):每轮“模型推理 + 工具调用”的详细过程。
  • LLM调用(chat):模型名称、Token用量、输入/输出内容、首Token时延。
  • 工具调用(execute_tool):工具名称、输入参数、返回结果、执行耗时。
  • 技能调用(Skill):技能名称、调用次数、耗时、错误数等指标。

接入步骤

步骤一:获取接入参数

  1. 登录AgentArts 智能体平台。
  2. 在左侧导航栏选择“观测与优化 > 观测”。
  3. 在“智能体列表”页面,单击“接入智能体”,按照页面指引填写名称、智能体类型,创建一个“OpenClaw”智能体,并获取各配置参数。

    图1 获取配置参数

步骤二:安装探针

下载OpenClaw探针。

表1 探针下载地址

平台

产物包

Linux / macOS

huawei-openclaw-otel-plugin-1.0.0.tgz

Windows

huawei-openclaw-otel-plugin-1.0.0.zip

打开终端,执行以下命令,进行探针包的解压,及安装操作。

Linux / macOS

  1. 将下载的探针包解压到一个独立目录。

    # 1. 解压到一个独立目录(包内无顶层目录,解压后即为插件包和脚本)
    mkdir -p openclaw-otel
    tar -xzf huawei-openclaw-otel-plugin-1.0.0.tgz -C openclaw-otel
    cd openclaw-otel

  2. 执行以下命令安装探针,命令中的参数按实际替换。参数获取方法参考步骤一:获取接入参数,参数说明参考表2。

    # 2. 安装(安装脚本自动发现同目录下的插件包及其 .sha256)
    ./install.sh \
      --agent-id <your-agent-id> \
      --domain-id <your-domain-id> \
      --project-id <your-project-id> \
      --apm-endpoint <apm-endpoint:port> \
      --apm-token <your-apm-token> \
      --aom-endpoint <aom-endpoint:port> \
      --aom-access-code <your-aom-access-code> \
      --aom-prometheus-id <your-prometheus-id> \
      --agent-name <your-agent-name>

  3. 重启gateway,安装完成后请手动重启使其生效。

    openclaw gateway restart

Windows(PowerShell)

  1. 将下载的探针包解压到一个独立目录。

    # 1. 解压到一个独立目录
    Expand-Archive .\huawei-openclaw-otel-plugin-1.0.0.zip -DestinationPath .\openclaw-otel
    Set-Location .\openclaw-otel

  2. 临时放开脚本执行权限。

    仅对当前窗口生效,不影响系统全局策略,关闭窗口后自动失效。

    # 2. 允许当前窗口执行脚本
    Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass

  3. 执行以下命令安装探针,命令中的参数按实际替换。参数获取方法参考步骤一:获取接入参数,参数说明参考表2。

    # 3. 安装(自动发现同目录下的 .zip 插件包)
    .\install.ps1 `
      --agent-id <your-agent-id> `
      --domain-id <your-domain-id> `
      --project-id <your-project-id> `
      --apm-endpoint <apm-endpoint:port> `
      --apm-token <your-apm-token> `
      --aom-endpoint <aom-endpoint:port> `
      --aom-access-code <your-aom-access-code> `
      --aom-prometheus-id <your-prometheus-id> `
      --agent-name <your-agent-name>

    安装脚本只写入%USERPROFILE%\.openclaw\目录,无需管理员权限。

  4. 重启gateway,安装完成后请手动重启使其生效。

    openclaw gateway restart

参数说明

  • 必填:--agent-id、--apm-endpoint、--apm-token
  • 启用AOM指标时还需:--project-id、--aom-endpoint、--aom-access-code、--aom-prometheus-id
表2 参数说明

参数

是否必填

说明

--agent-name

否

智能体名称。

--agent-id

是

智能体ID。

--domain-id

否

账号domain ID。

--project-id

否

华为云项目ID。

--apm-endpoint

是

APM数据上报地址。

--apm-token

是

APM接入凭证Token。

--aom-endpoint

否

AOM数据上报地址。

--aom-access-code

否

AOM接入凭证Access Code。

--aom-prometheus-id

否

AOM Prometheus实例ID。

--apm-enable

否

是否启用调用链上报,取值true、false,默认true。

--aom-enable

否

是否启用指标上报,取值true、false,默认true。

--resource-type

否

智能体类型:agent(单智能体)、multiagents(多智能体)、workflow(工作流)。

--content-capture

否

是否采集LLM输入/输出文本内容,取值true、false,默认true。

步骤三:验证数据上报

安装完成后,可通过以下步骤验证插件是否正常工作。

  1. 安装完成后,查看 OpenClaw gateway 日志确认插件已加载。

    日志文件位置:

    # Linux / macOS
    /tmp/openclaw/openclaw-YYYY-MM-DD.log
    
    # Windows
    %TEMP%\openclaw\openclaw-YYYY-MM-DD.log

    如果看到以下日志,说明插件已经成功加载并开始工作:

    [huawei-otel] APM OTLP traces — exporting to <apm-endpoint>
    [huawei-otel] AOM OTLP metrics — exporting to <aom-endpoint>
    [huawei-otel] APM=on, AOM=on, content_capture=on
    [huawei-otel] registered 9 hooks: before_agent_run, agent_end, model_call_started, model_call_ended, llm_input, llm_output, before_tool_call, after_tool_call, before_message_write

    也可以用命令直接查看:

    openclaw logs --follow

  2. 触发OpenClaw会话,进入AgentArts平台观测功能中查看数据上报。

查看监控数据

数据上报成功后,可在AgentArts智能体平台的观测功能中查看监控数据。

  1. 登录AgentArts 智能体平台。
  2. 在左侧导航栏选择“观测与优化 > 观测”。
  3. 在“智能体列表”页面,找到已接入的智能体,单击智能体名称进入详情页面。

查看业务指标

在“指标分析”页签中,可以查看关键业务指标:

  • Tokens消耗:Input Tokens和Output Tokens的消耗总量
  • 模型调用次数:应用调用大模型的累计次数
  • 模型调用平均耗时:模型调用的平均响应时间
  • 模型调用成功率:大模型调用成功的比例
  • 会话数:应用产生的会话总数
  • 响应成功率:服务响应的成功率

查看调用链信息

在“调用链分析”页签中,可以查看完整的Trace调用链路:

  • 查看各Span类型的层级关系及各节点耗时
  • 单击具体Span查看详细信息

查看会话分析

在“会话分析”页签中,可以查看智能体与用户对话的历史数据:

  • 追踪对话上下文
  • 分析模型响应耗时
  • 统计Token消耗
  • 快速定位对话异常问题

常见问题

插件未加载(日志中无huawei-otel)

依次检查以下项目:

  1. 检查~/.openclaw/openclaw.json文件中plugins.allow配置项是否包含huawei-otel。
  2. 检查openclaw.json中plugins.load.paths是否包含扩展目录路径。
  3. 检查~/.openclaw/extensions/huawei-otel/dist/index.js文件是否存在。
  4. 检查~/.openclaw/extensions/huawei-otel/node_modules/目录下的依赖是否安装完整。

如以上检查均正常但仍无插件日志,建议重新执行安装脚本。

安装脚本提示校验和不匹配

日志出现Checksum mismatch:

  1. 插件包在下载或传输过程中可能已损坏,请重新解压产物包。
  2. 确认插件包与同名.sha256来自同一次发布(都在产物包内,正常情况不会错配)。
  3. 如果.sha256缺失,安装只会告警并继续;此时无法确认包完整性,建议重新下载产物包。

Windows提示无法加载文件,因为在此系统上禁止运行脚本

执行install.ps1时报UnauthorizedAccess:

Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass

在当前窗口重新执行即可,无需修改系统级策略。

调用链无数据

  1. 确认apm_enable=true,且apm_exporter_endpoint和apm_token已正确配置。
  2. 确认目标节点能够访问APM端点,可通过curl <endpoint>命令验证网络连通性。
  3. 确认已通过OpenClaw发起实际的Agent对话活动(发送消息触发LLM调用)。
  4. 查看gateway日志中是否出现export result: code=0, error=none。

指标无数据

  1. 确认aom_enable=true(安装时默认已开启)。
  2. 确认已配置aom_access_code、aom_exporter_endpoint、aom_prometheus_id三个参数。
  3. 确认agentarts_project_id已正确配置。
  4. 指标上报存在15秒周期延迟,请等待后再查询。

AOM认证失败

日志出现UNAUTHENTICATED: accesscode_does_not_match_the_projectId错误:

  1. 确认aom_access_code与agentarts_project_id是同一账号下的一对凭证。
  2. 确认aom_prometheus_id属于同一AOM实例。
  3. 登录AgentArts平台,重新创建“OpenClaw”智能体,获取最新凭证参数,并重新执行安装脚本。

调用链中看不到LLM输入/输出内容

  1. 确认content_capture_enable=true(默认已开启)。
  2. 确认openclaw.json中已配置hooks.allowConversationAccess: true。
  3. 中间推理步骤的内容由插件自动补全,无需额外配置。

技能指标始终为0

技能指标仅在检测到Skill相关的工具调用时触发,普通工具调用(如exec、calculator等)不会产生技能指标。满足以下条件之一时才会触发技能指标采集:

  1. 工具调用参数中包含skills/<name>/路径模式(如~/.openclaw/skills/hatch-pet/...)。
  2. 工具调用参数中包含<name>/SKILL.md文件路径模式(如~/.openclaw/hatch-pet/SKILL.md)。
  3. 工具名匹配技能名单(如Skill、load_skill、read_skill、skill_view、skill_manage等)。

全局Provider冲突警告

日志中出现以下WARN日志属于正常行为,不影响数据上报:

[huawei-otel] a global OTel TracerProvider/MeterProvider is already registered by another component.

插件使用独立的Provider实例,业务属性注入和指标记录不受影响。

重启gateway

openclaw gateway restart

卸载探针

卸载脚本就在安装时解压出的产物包目录里(与 install.sh / install.ps1 同级),在该目录下执行:

# Linux / macOS
./uninstall.sh

# Windows
.\uninstall.ps1

卸载脚本会移除插件目录、清理 openclaw.json 中的插件配置、删除环境变量文件。加 --yes(或 -y)可跳过确认。

与安装一致,卸载脚本不会重启 gateway(避免中断正在运行的 agent 任务)。卸载完成后请手动重启使其生效:

openclaw gateway restart

相关文档