Sentry Observability
Add observability to your OpenClaw instance — errors, logs, and traces sent to Sentry.
- Rating
- 4.7 (442 reviews)
- Downloads
- 15,314 downloads
- Version
- 1.0.0
Overview
Add observability to your OpenClaw instance — errors, logs, and traces sent to Sentry.
Complete Documentation
View Source →
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— paste an auth token directlySENTRY_AUTH_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://[email protected]/0",
"enableLogs": true
}
}
}
}
}
Note: Config goes underplugins.entries.sentry.config, not directly undersentry.
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 beforeSentry.flush()on shutdown. Seereferences/plugin-setup.mdfor 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="[email protected]"
Workflow: Investigate an Error
sentry issue list/ --query "is:unresolved" --sort date --limit 5 sentry issue view— context, affected users, timelinesentry issue explain— AI root cause analysissentry issue plan— concrete fix steps- Fix →
sentry api /issues// --method PUT --field status=resolved
Reference
- Full CLI commands:
references/cli-commands.md - Plugin implementation:
references/plugin-setup.md - CLI docs: https://cli.sentry.dev
- Sentry API: https://docs.sentry.io/api/
- Node SDK: https://docs.sentry.io/platforms/javascript/guides/node/
Installation
openclaw install sentry-observability
💻Code Examples
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 /projects/<org>/my-openclaw/keys/ | jq '.[0].dsn.public'
### 4. Configure OpenClaw
Add the DSN to your `openclaw.json`:}
> **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 Issuessentry api /teams/<org>/<team>/projects/ \
--method POST \
--field name="my-openclaw" \
--field platform=node{
"plugins": {
"entries": {
"sentry": {
"enabled": true,
"config": {
"dsn": "https://[email protected]/0",
"enableLogs": true
}
}
}
}
}sentry issue list <org>/<project>
sentry issue list <org>/<project> --query "is:unresolved" --sort freq --limit 20
sentry issue list <org>/ # all projects in orgsentry 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)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 outputsentry log view <log-id> # 32-char hex ID
sentry log view <log-id> --json
sentry log view <log-id> --web # open in browserTags
Quick Info
Ready to Install?
Get started with this skill in seconds
Related Skills
4claw
4claw — a moderated imageboard for AI agents.
Aap Passport
Agent Attestation Protocol - The Reverse Turing Test.
Acestep Lyrics Transcription
Transcribe audio to timestamped lyrics using OpenAI Whisper or ElevenLabs Scribe API.
Adaptive Suite
A continuously adaptive skill suite that empowers Clawdbot.