The minimum that works
The pipeline
service.pipelines.Processors worth adding
memory_limiter — stop the Collector from being the outage
memory_limiter — stop the Collector from being the outage
batch — fewer, larger requests
batch — fewer, larger requests
send_batch_max_size also stops a batch growing past the
body size limit. See Exporters.filter — drop what you will never read
filter — drop what you will never read
resource — set or normalise resource attributes
resource — set or normalise resource attributes
insert only fills a missing value; upsert overwrites what the
application sent. Prefer insert unless you mean to override applications.
See Resource attributes.redaction and transform — keep sensitive values out
redaction and transform — keep sensitive values out
k8sattributes — Kubernetes metadata
k8sattributes — Kubernetes metadata
tail_sampling — keep the traces that matter
tail_sampling — keep the traces that matter
Receivers beyond OTLP
The Collector can collect as well as receive, which is where host and infrastructure telemetry comes from:Environment variables and secrets
Validate before restarting
Watch the Collector itself
The Collector exposes its own metrics, and two of them answer most questions:prometheus receiver and send them to aiAxonIQ, so your
telemetry pipeline is itself monitored. A silently failing Collector otherwise
looks exactly like an application that stopped producing traffic.
Troubleshooting
The collector starts, then logs 'Exporting failed. Will retry'
The collector starts, then logs 'Exporting failed. Will retry'
error field on that line — it names the cause exactly.no such host— the endpoint hostname does not resolve. Check$OIQ_ENDPOINTagainst the value on Get Started.connection refused— the host resolves but nothing is listening on that port.401 Unauthorized— the key is missing, malformed or revoked.404— the endpoint already ends in/v1/…. It must be the base URL; the collector appends the signal path itself.
Nothing at all in the logs after 'Everything is ready'
Nothing at all in the logs after 'Everything is ready'
OTEL_EXPORTER_OTLP_ENDPOINT points at the
collector’s OTLP port (4318 for HTTP, 4317 for gRPC), not at aiAxonIQ.401 with a key you know is correct
401 with a key you know is correct
- A trailing newline. A key read from a file created by a shell heredoc,
or a Kubernetes Secret made with
--from-file, carries the newline as part of the value. Use--from-literal, orprintfrather thanecho. - A validation outage. If the receiver cannot reach the service that
validates keys it fails closed and returns the same
401. A sudden401across every service at once, with a key you have not changed, is far more likely to be this. Check$OIQ_ENDPOINT/healthfirst.
Config changes appear to do nothing
Config changes appear to do nothing