System Requirements
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:
- The node agent - Runs on each node in your Kubernetes cluster
- The exporter - Runs multiple replicas depending on load, scales with horizontal pod autoscaler
- 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 second | Logs per second | CPU (cores) | Memory (GB) | Network (MB/s) |
---|---|---|---|---|
1000 | 1000 | 0.25 | 0.3 | 0.2 |
2000 | 2000 | 0.5 | 0.6 | 0.4 |
3000 | 3000 | 0.75 | 0.9 | 0.6 |
4000 | 4000 | 1.0 | 1.2 | 0.8 |
5000 | 5000 | 1.25 | 1.5 | 1.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.
Was this page helpful?