AgentSight Troubleshooting
Work top to bottom: most "AgentSight shows nothing" reports come from the first three sections.
Quick check
systemctl is-active agentsight.service # is it running?
ps -eo pid,cmd | grep -E "agentsight (trace|serve)" # both workers alive?
sudo agentsight discover # is your Agent recognised?
sudo agentsight summary --last 1 # did anything land?
journalctl -u agentsight.service -n 50 --no-pager # what does it complain about?
No data at all
1. The tracer is not running as root. eBPF attachment fails silently for an unprivileged user
and you simply see no events. Run sudo agentsight trace, or use the packaged service. If the
environment cannot grant privileges at all, agentsight trace --no-ebpf still collects trajectories
(see CLI reference); token, audit, and
interruption data remain unavailable.
2. The kernel has no BTF. ls /sys/kernel/btf/vmlinux must succeed. Without it the CO-RE probes
cannot load; journalctl shows a probe load error.
3. Your Agent is not matched by any rule. This is the most common cause after privileges. Check whether a rule covers it:
sudo agentsight discover --list-known | grep -i <your-agent>
discover reads the same config.json the tracer uses, so --list-known reflects your custom
rules (add --config <path> for a non-default file). If the file is missing or unparseable it warns
and falls back to the built-in rules. See
Agent discovery rules.
Remember that a user-provided config.json replaces the built-in rules instead of extending
them — a partially customised file silently drops discovery for every Agent it does not mention.
Start from src/agentsight/agentsight.json and add to it.
4. The provider domain is missing. TLS capture only applies to domains listed under https. Add
your gateway or provider domain and reload.
5. Two tracers are competing. A foreground agentsight trace plus the service means both
attach to the same uprobes. Stop one:
sudo systemctl stop agentsight.service # before running a foreground tracer
6. You are querying as the wrong user. The service writes root-only data, so agentsight token
without sudo reads an empty or non-existent database.
Some Agents appear, one does not
- A compiled Agent (Rust, Go) is not matched by
node*-style rules — add a rule for its binary name. - Wrapper processes matter: cosh-ng runs
cosh-shellandcosh-core, and both need rules. - Codex CLI needs an offset entry for brand-new releases; regenerate it with
src/agentsight/scripts/extract-codex-offsets.py. [attach_process] pid=… no SSL libraries found in mapsin the log means the process was matched but exposes no TLS library to hook — expected for short-lived helper processes.
Dashboard problems
401 or the login screen from a remote browser. Remote access requires the token:
sudo agentsight dashboard --no-open # prints URL + token
Then use http://<host>:7396/?token=<TOKEN>, or paste the token into the login form. Loopback
access never asks. To disable authentication on a trusted network, set
server.auth.enabled to false and reload.
The page does not load at all. Check the listener and the network path:
ss -ltnp | grep 7396
curl -s -o /dev/null -w '%{http_code}\n' http://127.0.0.1:7396/
If localhost answers 200 but your browser times out, the port is blocked. serve must bind
0.0.0.0 (the packaged unit does), and the firewall or cloud security group must allow TCP 7396.
agentsight dashboard prints the ECS console link for exactly this.
Some pages are missing. The navigation only lists pages the host can serve: Token Savings needs Tokenless, Security Observability and System Audit need agent-sec-core, Risk Enforcement needs the enforcer. See page availability.
A page is empty although data exists. Token Savings, Skill Metrics, and System Audit wait for you to press Query after choosing a time range. Also check the Agent filter and that the range covers when the sessions happened.
"No agents discovered" on the Agent Dashboard. That panel shows live processes. Historical sessions remain on the other pages.
AgentSight enforcement unavailable on every start
The enforcer daemon is not running:
sudo systemctl status agentsight-enforcer.service
sudo systemctl start agentsight-enforcer.service
Source builds need make build-all; plain make build skips the enforcer binary. Capture and
analysis are unaffected — only the Risk Enforcement page disappears.
Data grows too fast
sudo du -sh /var/log/sysak/.agentsight
genai_events.db is capped at 200 MB (pruning starts at 90%) and interruption_events.db at
30 days / 100 MB. Raise or lower them as described in
Retention and size limits. Large -wal files are
normal while the service runs; they are checkpointed on clean shutdown.
Memory or CPU concerns
The packaged unit caps the service at CPUQuota=30% and MemoryMax=350M, which matches the default
runtime_limits. On very busy hosts, prefer lowering the buffers over raising the cap:
"runtime_limits": {
"event_channel_capacity": 5000,
"event_channel_policy": "drop_newest",
"event_channel_max_bytes_mb": 32,
"pending_genai_max_bytes_mb": 32,
"max_connection_body_mb": 4
}
drop_newest and sample trade completeness for a hard bound on memory.
event_channel_max_bytes_mb bounds what the slot count cannot: one captured SSL record can be up to
4 MiB, so a full channel is not the same as a full buffer. Set it to 0 to disable the byte gate.
When the budget rejects events, the service logs a watermark line once a minute:
sudo journalctl -u agentsight | grep "Buffer watermarks"
A rising dropped over budget count means the pipeline cannot keep up — events are being shed to
stay inside MemoryMax. A count that stays at zero while the cgroup still approaches its cap means
the memory is held downstream (HTTP connection buffers) rather than in the channel, so lower
max_connection_body_mb instead:
sudo cat /sys/fs/cgroup/system.slice/agentsight.service/memory.current
If the service is ever OOM-killed it restarts on its own; the packaged unit disables systemd's start rate limit precisely so a repeated kill cannot leave the host permanently unobserved.
Interruption events look wrong
- Nothing detected although a task failed: check
features.interruption_detection.enabled, and remember detection is derived from captured traffic — an Agent that never reached the provider produces no LLM-side signal. - Unsure which
--typevalues are valid:agentsight interruption list --helpprints the full set; every detected type is accepted. - Duplicate-looking events: interruptions are de-duplicated per conversation, so the same underlying error in two conversations is intentionally two events.
token_limiton healthy sessions: it fires at 95% ofmax_tokens. Raise the Agent'smax_tokensif answers are being cut off.
macOS limitations
Only trace (trajectory collector over local JSONL sessions) and serve exist. There is no eBPF,
so Token, audit, interruption, and discover commands are unavailable, and --db / --config are
Linux-only.
Output language looks inconsistent
summary, metrics, and interruption print English; discover and token print Chinese
regardless of locale. Use --json where you need stable machine-readable output — discover has no
--json, so query /api/agent-health instead. The Dashboard
follows the browser language and has a manual switch.
Frequently asked
Why is there no Token data for OpenClaw? AgentSight watches the openclaw-gateway daemon.
Verify the client reaches the gateway; a "pairing required" error means you need
openclaw devices approve.
Why does the Token Savings page show 0? Tokenless produced no savings for those sessions — check that it is enabled for that Agent, and that its statistics database exists.
Why do cumulative savings exceed the per-call difference? Agents resend conversation history on every turn, so savings accumulate across turns.
Can I trace an Agent that already runs? Yes. Discovery scans /proc at startup and watches
execve, so a running Agent is picked up without restarting it.
Collect diagnostics before filing an issue
agentsight --version
uname -r
ls /sys/kernel/btf/vmlinux
systemctl status agentsight.service
journalctl -u agentsight.service -n 200 --no-pager
sudo agentsight discover --list-known | head -40
sudo agentsight summary --last 24 --json
sudo ls -la /var/log/sysak/.agentsight