The write path
Every signal follows the same five steps.1
Your service exports over OTLP
An OpenTelemetry SDK or collector exports to the aiAxonIQ receiver.
2
The receiver authenticates and stamps
It validates your license key, applies rate limits, and stamps every record
with your tenant ID.
3
Records are queued
Published to a durable log, partitioned by tenant.
4
A worker batches and writes
Records land in ClickHouse, the telemetry store. Logs are additionally
indexed into OpenSearch for full-text search.
5
Rollups are maintained as data lands
Materialised views roll metrics up into one-minute and one-hour tables, so
a query over a long window does not scan raw samples.
202 means your data is in the
pipeline, and it becomes queryable a short time later once the worker has
flushed a batch.
Why your first data can take a moment to appear. Workers batch before
writing, flushing when a batch fills or after a few seconds — whichever comes
first. A single test span is in the small-batch case, so give it a few seconds
before concluding something is wrong.
Your tenant ID is assigned, never sent
The receiver derives your tenant from the license key on the request and stamps it onto every record. Nothing your SDK sends can set or change it. This matters in one practical way: there is no attribute you can add to route data into a different tenant. If you want to separate staging from production, separate them with a resource attribute such asdeployment.environment and
filter on it at query time, or use two accounts. Sending a tenant.id attribute
does nothing.
Which store answers which question
You do not query these directly — the dashboard and API do it for you — but knowing the split explains why some queries offer options others do not.ClickHouse
Logs, spans and metric samples. Backs the Logs Explorer, traces, metrics and
every dashboard chart. Supports field filters and boolean operators.
OpenSearch
A full-text index of your logs, per tenant, per day. Backs the fuzzy
log-search API.
PostgreSQL
The control plane — your account, users, alert rules, dashboards and
license-key metadata. No telemetry lives here.
What you need to send data
Three things, in order.- A license key — created in the dashboard, sent as the
X-License-Keyheader. See Create a license key. - An endpoint — the receiver’s OTLP/HTTP address. See Send data with OpenTelemetry.
- An exporter — any OpenTelemetry SDK or the OpenTelemetry Collector. aiAxonIQ speaks standard OTLP, so there is no aiAxonIQ-specific SDK to install and nothing to rewrite if you later point the same exporter somewhere else.
Placeholders used throughout these docs
Values marked above differ per deployment, which is why no single URL appears
in these pages. Get Started in the dashboard renders the ones that are
correct for yours.
Next
Create a license key
The credential every ingest request carries.
Send data with OpenTelemetry
Endpoints, headers, and a first request.