Troubleshooting¶
Common Issues¶
Proxy Won't Start¶
Symptom: Container exits immediately.
Check logs:
Common causes:
| Error | Fix |
|---|---|
config: backend-endpoint is required |
Set --backend-endpoint or SEMCONV_PROXY_BACKEND_ENDPOINT |
failed to create data directory |
Ensure --data-dir is writable by the proxy user (UID 65532) |
api: listen: address already in use |
Change the port with --api-port or check for conflicting services |
Signals Not Reaching Backend¶
Check forwarding metrics:
| Symptom | Check | Fix |
|---|---|---|
received > 0 but forwarded = 0 |
Backend unreachable | Verify --backend-endpoint is correct and reachable |
dropped > 0 |
Backend returning errors | Check backend health, TLS settings |
received = 0 |
No signals arriving | Verify Collector exporter points at the proxy |
Test backend connectivity:
Dictionary Is Empty¶
Possible causes:
- No signals have been sent through the proxy yet
- Signals are being forwarded but not analyzed (ring buffer full)
- Persistence is not loading on restart
Check pipeline metrics:
If pipeline_drops_total is increasing, the ring buffer is overflowing. Increase --ring-buffer-size or --worker-count.
High Memory Usage¶
Check cardinality:
If utilization_pct is high:
- Identify high-cardinality attributes:
GET /api/v1/cardinality?threshold=50 - Add OTel Collector processors to drop or aggregate those attributes
- Reduce
--global-budgetto force more aggressive eviction
Readiness Probe Failing¶
If status is loading:
- Dictionary is still recovering from Pebble — wait for it to complete
- If stuck, check Pebble data directory for corruption
If a component shows DEGRADED or FAILED:
- Check logs for that component
- The proxy continues operating in degraded mode for non-critical component failures
Export Produces Empty YAML¶
Check dictionary state:
If total is 0, the dictionary is empty. Ensure signals have been flowing through the proxy.
Persistence Not Working¶
Verify the data directory:
Common issues:
- Volume not mounted correctly in Docker/Kubernetes
- Permissions: proxy runs as UID 65532, directory must be writable
--data-dirpointing to wrong location
Debug Mode¶
Run with debug logging for detailed component-level output:
Debug logs include:
- Every signal received and forwarded
- Dictionary upsert details
- Ring buffer and worker pool state
- Pebble batch writes
- API request details
Getting Help¶
- GitHub Issues — bug reports and feature requests
- Discussions — questions and community