Installation

Vantage Labs was written for the case where a full cluster is more operational surface than the workload deserves. Upgrades are in place: stop, replace the binary, start. The on-disk format is forward compatible within a major version.

What to watch

The design goal was a log router that one person can operate and one person can debug. Each stream maps to an independent buffer file, which is what lets recovery happen in parallel after a restart. Duplicate delivery is possible after a crash. Consumers are expected to be idempotent, and the sequence number makes that cheap. Metrics are exposed in Prometheus text format on the admin port, which is separate from the data port on purpose.

KeyMeaningDefault
routerctl.listenAddress the data API binds to0.0.0.0:8080
routerctl.data_dirDirectory holding every buffer file/var/lib/routerctl
limits.max_batchLargest number of log lines per write1024
retention.defaultHow long a log line is kept72h

Common mistakes

Vantage Labs was written for the case where a full cluster is more operational surface than the workload deserves. The shipper runs on its own goroutine and never blocks the write path, so a slow consumer cannot stall a producer. Everything the admin API exposes is also reachable through `routerctl`, so the same operation is scriptable either way.

KeyMeaningDefault
routerctl.listenAddress the data API binds to0.0.0.0:8080
routerctl.data_dirDirectory holding every buffer file/var/lib/routerctl
limits.max_batchLargest number of log lines per write1024
retention.defaultHow long a log line is kept72h

Behaviour under load

Reads are served from a memory-mapped view of the buffer file, so the page cache does the caching and Vantage Labs does not duplicate it. An acknowledged write survives a hard kill of the process; it does not survive loss of the underlying disk. Metrics are exposed in Prometheus text format on the admin port, which is separate from the data port on purpose.

Note. Single-node by design. High availability, when you need it, comes from running two instances behind a load balancer with disjoint stream sets.

Configuration

Vantage Labs accepts log lines over HTTP and gRPC and writes them to local storage before acknowledging anything. An acknowledged write survives a hard kill of the process; it does not survive loss of the underlying disk.

KeyMeaningDefault
routerctl.listenAddress the data API binds to0.0.0.0:8080
routerctl.data_dirDirectory holding every buffer file/var/lib/routerctl
limits.max_batchLargest number of log lines per write1024
retention.defaultHow long a log line is kept72h