Skip to content

Hardware Requirements

Minimum Specs

Fleet SizevCPURAMDisk
< 10 agents24 GB40 GB SSD
10–50 agents28 GB80 GB SSD
50–500 agents416 GB200 GB
500–2000 agents832 GB500 GB
> 2000 agentsmultiple nodes (postgres replica + horizontal hub-api)

Consumption per Agent

  • Ingest: ~1 KB / 15 sec / agent → 50 agents ≈ 17 MB/u
  • Inventory: ~80 KB / 6u / agent
  • Telemetry 30 days: ~50 MB / agent in TimescaleDB (after compression)

Backup Strategy

Terminal window
# Daily logical dump
pg_dump -U monsys -h postgres monsys | zstd -19 > /backups/$(date -I).sql.zst
# 30 day retention
find /backups -name "*.sql.zst" -mtime +30 -delete

For production: also create a hot replica via streaming replication with pg_basebackup on a second node.

Scaling Advice

  • Split hub-api and hub-ingest into separate instances when > 200 agents.
  • Postgres connection pool: minimum max_connections = 100; use PgBouncer for > 500 agents.
  • TimescaleDB compression after 7 days — saves 80–95% disk space.
  • For multi-region: cross-region replication is not needed — agents choose the closest ingest endpoint via DNS.