The four checks, in order
1
The process is running
2
Probes actually attached
opening perf event: permission denied confirms the silent
failure. Fix it on the host or node:3
The agent can see other processes
If it discovered only itself, it has no shared PID namespace:
--pid=host
under Docker, pid: host in Compose, hostPID: true on Kubernetes (the
chart sets it).The symptom is a service inventory that did not grow.4
aiAxonIQ accepted the data
Open Zero-code in the dashboard. Your host appears in the fleet within a
minute or two of the first accepted batch, with its agent version, the
services it discovered, and when it was last heard from.This is the check that answers the question directly: the fleet is built
from telemetry carrying
An empty agent version is expected on a container install made before
distribution 1.1.0, and is not a fault on the host. Upstream builds its
release tarball with the version ldflags and its container image without
them, so the image reports
telemetry.distro.version as the empty string.
The Docker, Compose and Kubernetes targets now declare it; reinstall and
the column fills in. The Linux installer was never affected.The fleet page counts those hosts and says so, rather than reporting a
single-version fleet it cannot vouch for.telemetry.distro.name = opentelemetry-ebpf-instrumentation, an attribute the agent stamps on
every export. A host listed there is, by construction, one whose
eBPF-instrumented telemetry we accepted.Get Started’s Send your first telemetry step also completes, and it is
the weaker signal of the two: it counts rows in logs, metrics_samples
and spans, none of which record what produced them, so it cannot tell
agent telemetry from SDK telemetry.A rejected license key shows as 401 in the agent log — see
Troubleshooting.What you should see in the product
Nothing in aiAxonIQ was changed to accommodate the agent, so verification uses the ordinary surfaces. Within a minute or two of the agent attaching:The agent’s telemetry is ordinary OTLP, and every surface above except
Zero-code treats it exactly like SDK telemetry. Verification reads the same
row counts, the same overview counters and the same span-derived service names
it always did — none of which know or care what produced the batch.That is the design, not a shortcut: it is why there is no separate “is the
agent working” page in the product to keep in sync with reality.
Confirm the privilege you actually got
Intent and reality diverge quietly — a chart default that moved, an upgrade that regenerated a unit, a flag that was not accepted. The audit tool reports what the running agent actually holds:When something is missing
The most common outcome is not “nothing” but “some services”. That is a different problem with different causes — TLS library coverage, discovery scope, or a protocol the agent does not decode. See Only some services appear.Collecting diagnostics
If you need to hand something to support:Next
Troubleshooting
Symptom to cause to fix, in likelihood order.
Performance
What drives overhead and how to measure it on your own hosts.
Known limitations
What is missing on purpose.