Skip to content

StatsD through a Collector

This guide configures metrics. Replace YOUR_INGEST_KEY with your key on your server, never in a public example.

Use the contrib distribution. StatsD listens only on your local Collector at UDP 8125. Site Qwality does not expose a public StatsD UDP port.

receivers:
otlp:
protocols:
http:
endpoint: 127.0.0.1:4318
statsd:
endpoint: 127.0.0.1:8125
aggregation_interval: 10s
processors:
memory_limiter:
check_interval: 1s
limit_mib: 256
spike_limit_mib: 64
resource:
attributes:
- {key: service.name, value: "my-service", action: upsert}
- {key: deployment.environment.name, value: "production", action: upsert}
batch:
send_batch_size: 256
send_batch_max_size: 512
timeout: 1s
exporters:
otlphttp/siteqwality:
endpoint: https://otlp.siteqwality.com
headers:
Authorization: "Bearer YOUR_INGEST_KEY"
compression: gzip
sending_queue: {enabled: true, queue_size: 1000}
retry_on_failure: {enabled: true, initial_interval: 1s, max_interval: 30s, max_elapsed_time: 300s}
service:
pipelines:
metrics:
receivers: [statsd]
processors: [memory_limiter, resource, batch]
exporters: [otlphttp/siteqwality]

A memory queue survives transient failures, not process loss. Use the file_storage extension and a persistent sending queue for host restart durability. Keep batches within the receiver byte limits; record counts alone do not bound large records.

Terminal window
otelcol-contrib --config=collector.yaml

Wait for the aggregation interval, then inspect Metrics. StatsD datagrams have no durable sender acknowledgement.

Terminal window
printf 'example.requests:1|c
' | nc -u -w 1 127.0.0.1 8125

Open Logs, Traces or Metrics. New data usually shows up within a minute, and a page that says it is waiting for data switches to your data on its own. Nothing arriving? See what each status code means in failure handling.

Store the key in your platform secret mechanism, rotate it when exposed and remove test keys. Set a stable service.name and deployment.environment.name; avoid user IDs or unbounded values in metric labels. Prefer a persistent queue, bounded retries and exporter failure monitoring. Review redaction and processors before increasing traffic.