Skip to main content
A running agent is not a working agent. This page is the difference.
Availability. The zero-code agent is an early-access distribution. It is installable, upgradable, tested and visible in the product, and it is not yet self-service: there is no in-product installer and no download. Ask your account contact for the distribution.Once it is running, find it under Zero-code in the dashboard — the hosts reporting, the services each discovered, the agent version on every node, and how recently each was last heard from. Its telemetry is ordinary OTLP and needs nothing special: it also appears in Services, Traces and Metrics exactly like SDK telemetry. That is the design rather than a shortcut.
The failure you are ruling out is silent. With perf_event_paranoid above 1, the agent starts, holds every capability it asked for, passes its own internal checks, logs nothing alarming — and collects nothing at all.Every check below exists because “the process is up” does not answer the question.

The four checks, in order

1

The process is running

If it is not, the reason is almost always a missing capability, and the startup message names exactly which. See Troubleshooting.
2

Probes actually attached

On Kubernetes:
A line reading 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.
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.
This is the check that answers the question directly: the fleet is built from telemetry carrying 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:
Run it after every install and every upgrade. “We deployed profile B” is a belief until this has been run once.

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:
It collects configuration, versions, capability state, host facts and recent logs into an archive, with the license key and other credentials redacted. If redaction cannot be completed the bundle deletes itself rather than write a file that leaks.

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.