Ga naar inhoud

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_pct
operator: >
threshold: 85
duration: 3600 (1 uur op > 85%)
severity: warn

Capacity tab toont je waarschijnlijk al weken vooruit wanneer dat zou gebeuren. De alert is de failsafe — capacity-planning is de early-warning.