Capacity planning
/agents/<id> → Capacity tab toont per server een 14-daagse evolutie van CPU%, mem%, en netwerk-throughput, plus een lineaire-regressie-projectie “wanneer hit je je plafond”. Disk-groei staat onder de Disks tab.
Wat de hub doet
Per metric per agent berekent het:
SELECT time_bucket('1 day', time)::DATE AS day, AVG(metric_expr)::FLOAT AS avg, MAX(metric_expr)::FLOAT AS max FROM <metric_table> WHERE agent_id = X AND time > NOW() - INTERVAL '14 days' GROUP BY 1 ORDER BY 1;Daarna lineaire regressie over day-index → avg:
slope = (n × ΣXY − ΣX × ΣY) / (n × ΣX² − ΣX²)days_until_ceiling = (ceiling − current_avg) / slope, met datumprojectie. Negatieve slope of slope=0 → geen projectie.
Voor disk per mount: identiek maar uit disk_metrics per (agent, mount_point). Ceiling = total_bytes.
Wat je ziet in de UI
Drie kaarten in de Capacity tab:
- CPU 14d — daily avg + max bars, current value, slope/day, projection date als slope > 0
- Memory 14d — idem
- Network 14d — totaal rx+tx Mbps. Geen ceiling (geen vaste limiet), enkel slope-trend.
Per kaart zie je:
current avg X.XX % · slope +0.012/day[14 daily bars: light = max, dark = avg]~ 73 days until 100% (2026-07-22)Disk-tab toont per mount-point hetzelfde plus inode%, perms, fs-type. “Days until full” gekleurd: rood < 30d, geel < 90d, anders muted.
Wat dit NIET is
- Geen ML / time-series-forecasting. Lineaire fit op 14 punten — werkt voor monotone groei (logs die accumuleren, db-storage). Werkt slecht voor seizoens-spiky workloads.
- Geen confidence interval. Je krijgt één projectie-datum, geen [P5–P95] band.
- Geen multi-resource model. CPU-projectie weet niets van memory-pressure.
Voor échte capacity planning op kritieke systemen heb je een spreadsheet met expert oordeel of een tool zoals Prophet. Deze tab is bedoeld om de 80%-case te dekken: “wanneer raakt deze disk vol”.
Tip: alert rule + capacity sleep
Combineer met alert builder:
metric: disk_pctoperator: >threshold: 85duration: 3600 (1 uur op > 85%)severity: warnCapacity tab toont je waarschijnlijk al weken vooruit wanneer dat zou gebeuren. De alert is de failsafe — capacity-planning is de early-warning.