Prometheus & Grafana Requirements — Per Target Growth Model

Version 1.6.9-option-3 | Updated: August 07, 2026

Prometheus & Grafana Requirements — Per Target Growth Model

This document describes how to calculate the infrastructure requirements for Prometheus 3.5.0 and Grafana v12.1.0 when adding new servers and exporters. It provides a baseline setup, a per-target growth impact matrix, and scaling thresholds.


1. Current Baseline

  • Prometheus

    • 4 vCPU

    • 16 GB RAM

    • NVMe SSD ≥ 500 GB (≥5k IOPS)

    • Retention: 90 days

    • Scrape interval: 60s

    • Reference footprint: ~111k active series (3-node cluster) — scales roughly linearly per node (see §2 and §5)

  • Grafana

    • 2 vCPU

    • 4 GB RAM

This setup is stable for the current workload.


2. Per-Target Growth Impact

The following table shows the average number of active series per target.

On Kubernetes, cAdvisor (per-container metrics from the kubelet) is the largest single contributor and scales with the number of pods per node. The JVM and database exporter counts are comparable to a VM/Compose deployment.

Exporter / Job Series per Target Notes

cAdvisor (K8s)

~14k / node

Per-container metrics; scales with pods per node

JmxExporter (HC)

~8.1k / member

Fixed metric set — does not grow with the device fleet

Process Exporter

~6.4k / node

Per-process metrics

Node Exporter

~6.2k / node

Host-level metrics

ClickHouse

~1.9k

MySQL Exporter

~1.0k

Prometheus (self)

~0.9k

PostgreSQL

~0.73k

Alertmanager

~0.53k

Northbound API

~0.42k

FTACS

~0.42k

Provision API

~0.37k

UI Backend

~0.34k

Service API

~0.29k

FT Device Network

~0.16k

Reference footprint (3-node cluster): ~111k active series — the three infrastructure exporters (cAdvisor + node + process) account for most of it; all application and database exporters combined are under 8k.


3. Growth Calculation Rule

  1. List the exporters that will run on the new node.

    • A Kubernetes worker node always adds cAdvisor + node-exporter + process-exporter, plus one job per application/database pod scheduled on it.

  2. Take the series-per-target values from the table above.

  3. Sum the series across all exporters on the new node(s).

  4. Compare with the thresholds to decide if scaling is needed.


4. Scaling Thresholds

  • <2M active series → Baseline (4 vCPU / 16 GB) is sufficient.

  • 2—​4M active series → Scale Prometheus → 8 vCPU / 32 GB RAM, SSD 1 TB.

  • 4—​8M active series → Scale Prometheus → 16 vCPU / 64—​96 GB RAM, SSD 2—​4 TB.

  • >8M active series → Scale Prometheus → 32 vCPU / 96-124 GB RAM, SSD 4-8 TB.

Grafana load is mainly driven by the number of users/dashboards rather than series count.


5. Example: Adding a Kubernetes Worker Node

A new worker node contributes its infrastructure exporters plus the pods scheduled on it:

  • cAdvisor: ~14k series

  • node-exporter: ~6.2k series

  • process-exporter: ~6.4k series

  • application / database pods: ~0.2—​2k series each

Per-node total: ~28—​30k series.

For a 3-node reference cluster this is ~111k series — comfortably within the < 2M baseline threshold, so the baseline Prometheus (4 vCPU / 16 GB) is sufficient.