360 Secure SkillHub
360 安全技能中心

Sentry Observability

该工具为OpenClaw实例提供Sentry可观测能力,分为配置与排查两大模块:配置环节通过CLI完成认证、创建Sentry项目、配置OpenClaw,实现错误、结构化日志、性能追踪数据的采集;排查环节可通过CLI查询问题、查看事件详情、调用AI做根因分析与修复计划,支持实时日志流、API调用等。适用于OpenClaw实例的运行监控与故障排查,输入为bash命令与JSON配置,输出为终端结果或Sentry平台事件。

sergical
sergical
热度 79.61
最近更新 2026-05-11 17:26:03
分类:开发依赖:代码执行 / 第三方 API / 读写文件应用场景:DevOps / 调试排错 / API 集成

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add sentry-observability
Metadata
name
sentry
description
Add observability to your OpenClaw instance — errors, logs, and traces sent to Sentry. Set up monitoring with the Sentry plugin, then investigate issues with the `sentry` CLI.
metadata
{"openclaw":{"emoji":"🐛","requires":{"bins":["sentry"]},"install":[{"id":"npm","kind":"npm","package":"sentry","global":true,"bins":["sentry"],"label":"Install Sentry CLI (npm)"}]}}

Sentry — OpenClaw Observability

See what your OpenClaw instance is doing: errors, structured logs, and performance traces — all in Sentry.

Two halves: setup (get telemetry flowing) and investigation (query it with the CLI).


Setup

1. Authenticate

sentry auth login

OAuth device flow — follow the browser prompt. Credentials stored in ~/.sentry/cli.db.

Alternatives (one-liners):

  • sentry auth login --token <TOKEN> — paste an auth token directly
  • SENTRY_AUTH_TOKEN=<token> — env var, useful in CI

2. Create a Project

Create a dedicated Sentry project for your OpenClaw instance:

sentry api /teams/<org>/<team>/projects/ \
  --method POST \
  --field name="my-openclaw" \
  --field platform=node

Don't know your org/team slugs? List them:

sentry api /organizations/                          # list orgs
sentry api /organizations/<org>/teams/              # list teams in org

3. Get the DSN

sentry project view <org>/my-openclaw --json | jq -r '.dsn'

Or via the keys endpoint:

sentry api /projects/<org>/my-openclaw/keys/ | jq '.[0].dsn.public'

4. Configure OpenClaw

Add the DSN to your openclaw.json:

{
  "plugins": {
    "entries": {
      "sentry": {
        "enabled": true,
        "config": {
          "dsn": "https://examplePublicKey@o0.ingest.sentry.io/0",
          "enableLogs": true
        }
      }
    }
  }
}

Note: Config goes under plugins.entries.sentry.config, not directly under sentry.

Then install the Sentry plugin. See references/plugin-setup.md for the full plugin implementation using @sentry/node.

Log buffer gotcha: Sentry's structured logs buffer up to 100 items before auto-flushing. For low-volume services like OpenClaw, logs may sit in the buffer for a long time. The plugin should call _INTERNAL_flushLogsBuffer(client) periodically (e.g. every 30s) and before Sentry.flush() on shutdown. See references/plugin-setup.md for the implementation.

5. Verify

Restart your OpenClaw gateway, then check Sentry for incoming events:

sentry issue list <org>/my-openclaw --limit 5

Investigation

Once telemetry is flowing, use the CLI to query your OpenClaw's errors, traces, and events.

List Issues

sentry issue list <org>/<project>
sentry issue list <org>/<project> --query "is:unresolved" --sort freq --limit 20
sentry issue list <org>/                              # all projects in org

View an Issue

sentry issue view <short-id>                          # e.g. MY-OPENCLAW-42
sentry issue view <short-id> --json                   # structured output

AI Root Cause Analysis

sentry issue explain <issue-id>                       # Seer analyzes the root cause
sentry issue explain <issue-id> --force               # force fresh analysis
sentry issue plan <issue-id>                          # generate a fix plan (run explain first)

Structured Logs

sentry log list <org>/<project>                       # last 100 logs
sentry log list <org>/<project> --limit 50            # last 50
sentry log list <org>/<project> -q 'level:error'      # filter by level
sentry log list <org>/<project> -q 'database'         # filter by message
sentry log list <org>/<project> -f                    # stream in real-time (2s poll)
sentry log list <org>/<project> -f 5                  # stream with 5s poll
sentry log list <org>/<project> --json                # structured output

View a specific log entry:

sentry log view <log-id>                              # 32-char hex ID
sentry log view <log-id> --json
sentry log view <log-id> --web                        # open in browser

Inspect Events

sentry event view <event-id>                          # full stack trace + context
sentry event view <event-id> --json

Direct API Calls

sentry api /projects/<org>/<project>/issues/ --paginate
sentry api /issues/<id>/ --method PUT --field status=resolved
sentry api /issues/<id>/ --method PUT --field assignedTo="user@example.com"

Workflow: Investigate an Error

  1. sentry issue list <org>/<project> --query "is:unresolved" --sort date --limit 5
  2. sentry issue view <short-id> — context, affected users, timeline
  3. sentry issue explain <issue-id> — AI root cause analysis
  4. sentry issue plan <issue-id> — concrete fix steps
  5. Fix → sentry api /issues/<id>/ --method PUT --field status=resolved

Reference