The endpoint
Both forms carry the
/otlp prefix because nginx serves OTLP under it and
strips it before forwarding, so the receiver still sees /v1/logs. Dropping the
prefix is the most common setup mistake: the request reaches the dashboard
instead of the receiver and comes back as an HTML 404 rather than an ingest
error.
Get Started in the dashboard shows the exact base endpoint for your
deployment next to a license key you create there, with copy buttons, and
then watches for your first records. Where these pages write
$OIQ_ENDPOINT, that page has the real value.OTLP over HTTP or gRPC
aiAxonIQ accepts both. They carry identical data.Choose HTTP unless you have a reason not to. It survives corporate
proxies, TLS-terminating load balancers and egress inspection that gRPC does
not, and you can reproduce any failure with one
curl.gRPC is worth it for high-volume Collector-to-backend links, where the
multiplexing and smaller framing measurably help.SDK exporter configuration
The portable environment variables, read by every OpenTelemetry SDK:Batching
Nothing should export one span at a time. Every SDK and the Collector batch by default, and the defaults are usually right.Batching is what keeps you inside the ingest rate limit. The receiver
limits requests, not records, so a thousand small requests per second is a
problem where one large request carrying a thousand records is not.If you are seeing
429, batch harder before anything else. See
Ingest endpoints.send_batch_max_size also protects you from the opposite failure: a batch that
grows past the receiver’s body limit and is rejected with 413 in full. Cap it
rather than discovering the ceiling.
When aiAxonIQ is unreachable
This is the part worth configuring deliberately, because the default answer to “what happens to my telemetry during a network blip” is it is discarded.Multiple destinations
Telemetry can be exported to more than one place — aiAxonIQ and an existing system during a migration, for instance:This is what makes an evaluation low-risk. Because everything speaks
standard OTLP, you can send to both your current backend and aiAxonIQ from
the same Collector, compare them on real traffic, and change nothing in your
applications either way.
Debugging what is leaving
debug exporter prints what is being exported to the Collector’s own log —
which settles “is my application sending this at all” without guessing.
Verify
Any exporter change is confirmed the same way: send something recognisable and find it.202 Acceptedmeans the receiver took it. Anything else is answered by Ingest endpoints.- Then look in the product, because accepted is not queryable — see Verify your data arrived.
Next
Collector configuration
The full pipeline: receivers, processors, exporters.
Sampling
Reduce what you export in the first place.
Ingest endpoints
Status codes, rate limits and size caps.