You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
High-performance, strictly-typed log collection, validation, and routing platform.
Prevents invalid, unstructured data from reaching Elasticsearch by enforcing
JSON Schema contracts at the entry point.
Ingestor throughput is bottlenecked by network I/O, not CPU or memory.
At 23K logs/s with batch mode (50 logs/req), 256MB is sufficient with ~4% headroom.
No data loss — all 2.6M ingested logs were delivered to Elasticsearch.
No duplicates — idempotent Kafka producer + _id-based ES indexing.
No backpressure — max-pending-sends=10000 was never reached in testing.
For higher throughput, scale horizontally — add more ingestor instances behind
a load balancer. Kafka acts as the buffer.
Scaling Guidance
Throughput Target
Ingestor Instances
Ingestor Memory (each)
Sink Instances
< 20K logs/s
1
256 MB
1
20K – 100K logs/s
2–3
256 MB
1–2
100K – 500K logs/s
5–10
256 MB
3–5
500K+ logs/s
10+
512 MB
5+
Quick Start
# 1. Start all services
docker compose -f deployments/docker-compose/docker-compose.yml up -d
# 2. Check health
curl http://localhost:8080/q/health # ingestor
curl http://localhost:8081/q/health # sink# 3. Send a test log
curl -X POST http://localhost:8080/api/v1/logs \
-H "Content-Type: application/json" \
-d '{"@timestamp":"2026-07-24T10:00:00Z","level":"INFO","message":"Hello Logix","service":"demo"}'# 4. Query Elasticsearch
curl "http://localhost:9200/lgx-$(date -u +%Y.%m.%d)/_search?pretty"