Skip to main content
The agent as a service in your Compose stack. One per host, not one per application.
Availability. The zero-code agent is an early-access distribution. It is installable, upgradable and tested, and it is not yet an integrated part of the product: there is no dashboard page for it, no in-product installer and no self-service download. Ask your account contact for access.Its telemetry, once flowing, is ordinary OTLP and needs nothing special — it appears in Services, Traces and Metrics exactly like SDK telemetry does. That is the design rather than a shortcut.
Before you start, you need two values.
  1. Your base endpoint — shown on Get Started in the dashboard. These pages write it as $OIQ_ENDPOINT.
  2. A license key — created in Settings → License Keys, starting oiq_. Requires the Admin role. See Create a license key. These pages write it as $OIQ_LICENSE_KEY.
Export both before running anything below:

Generate the configuration

You never hand-write agent configuration. The generator produces it from your endpoint and profile:

Start it

The reference Compose file contains no secrets and is safe to commit. Both the endpoint and the key are read from the environment, and Compose refuses to start with a readable error if either is missing — rather than starting with an empty value and failing later at ingest with a 401 you have to trace back.

A different profile

The reference file is profile B. For A or C, generate a Compose file rather than editing one by hand:
Generating rather than editing is what keeps the capability set, the PID namespace setting and the profile consistent with each other. See Capability profiles.

What the generated service needs

Two settings carry the whole install, and both are easy to lose when merging the agent into an existing stack:
pid: host is required, and its absence is silent. Without it the agent shares no PID namespace with your other containers, sees only itself, and produces essentially nothing while reporting healthy.If you copy the agent service into your own docker-compose.yaml, this is the line that gets dropped.
Capabilities are dropped and then added back, rather than the service being privileged. If a merge leaves you with privileged: true, you have granted far more than the agent needs — regenerate rather than patch.

Confirm it is working

Then confirm data is arriving in the product — see Verification.

Updating configuration

Regenerate and restart:
A configuration change with no restart has no effect. The agent reads its configuration at start. “I changed the routes and nothing happened” is almost always this.

Next

Verification

Confirm data is arriving, and rule out the silent failure.

Kubernetes

The DaemonSet, for when the stack outgrows one host.

Troubleshooting

Symptom to cause to fix.