This page outlines the system requirements for running various Metoro components in your environment.

There are three main components which run in your Kubernetes cluster:

  1. The node agent - Runs on each node in your Kubernetes cluster
  2. The exporter - Runs multiple replicas depending on load, scales with horizontal pod autoscaler
  3. The redis cache - One replica per cluster

Each component has specific resource requirements as detailed below. All requirements are approximate and assume a relatively up to date cpu. Testing is perfomed on AWS M5 instances running on a Skylake 8175M.

The node agents resource requirements scale with several factors, primarily:

  • The number of requests being made to / from the node agent
  • The number of logs being collected

At a minimum, each node agent requires:

  • 0.05 cores
  • 100Mi memory

For each additional:

  • 1000 requests/second: +0.2 cores CPU, +0.2GB memory, +0.1MB/s network
  • 1000 logs/second: +0.05 cores CPU, +0.1GB memory, +0.1MB/s network

Resource Scaling Table

Requests per secondLogs per secondCPU (cores)Memory (GB)Network (MB/s)
100010000.250.30.2
200020000.50.60.4
300030000.750.90.6
400040001.01.20.8
500050001.251.51.0

These requirements are approximate and may vary based on:

  • Number of containers being monitored
  • Types of metrics being collected
  • Frequency of metric collection
  • Network conditions
  • Size of individual log lines

Example Cluster Configuration

For a cluster with:

  • 100 nodes
  • 1000 requests per second per node
  • 1000 logs per second per node

The resources required are:

  • 100 node agents: 0.25 cores, 0.3GB memory, 0.2MB/s network per node
  • 1 cluster exporter: Processing 100k traces/second, 100k logs/second across all nodes
    • Total: 7 cores, 20GB memory, 20MB/s network (split across N replicas)
  • 1 redis cache: 50m cores, 20Mi memory

Total cluster resources required

  • 32 cores CPU
  • 50GB memory
  • 40MB/s network

Default Resource Requests

The default resource requests for the node-agent are:

  • 0.3 cores, 300Mi memory

The default resource requests for the exporter are:

  • 1 core, 2GB memory

You should tune these requests to meet your specific needs.