ThirdEye infrastructure requirements
ThirdEye is available as a managed platform with StarTree Cloud(opens in a new tab).
You can also install ThirdEye from a binary file, from sources or using Docker. See Install ThirdEye for installation procedures.
ThirdEye components
ThirdEye has five different types of pods, which are the components that make up a ThirdEye deployment.
- Coordinator: This is the API Server. It also powers root cause analysis (RCA) pipelines and ad hoc charting.
- Scheduler: Runs all the cron jobs and creates tasks
- GUI: Serves the React frontend for ThirdEye
- Worker: Executes the tasks
- MySQL: Provides state/metadata persistence for ThirdEye and serves the task queue
Consider the following details in your capacity planning:
- Coordinator and Worker pods do most of the heavy lifting
- ThirdEye uses MySQL for task processing as well as for processing and storing anomalies, which can require significant DB resources
- Memory Consumption
- The task that demands the most memory is the detection pipeline as it will fetch large chunks of data to process in-memory
- The highest memory consumption will occur in cases where:
- The granularity of alerts is low. For example, a process with a granularity of one minute will process significantly more data points than one with a granularity of one hour.
- A coordinator previews an alert on a large timeframe
- At the moment when an alert is created, because in the worker the alert is processed across all of the historical data.
- CPU Requirements
- ThirdEye benefits greatly from parallel processing across multiple processors
- You can configure the number of threads and workers available
- More CPU greatly helps in executing multiple concurrent tasks and responding to API calls
- The ThirdEye backend can be run entirely in a single virtual machine. This means that the coordinator, scheduler, and worker can run in a single JVM process
Example deployments
Here we provide examples of what might be used for different deployment needs, such as production or development.
Minimal deployment for development
We run the backend services: Coordinator, Scheduler and Worker in 1 single JVM.
Component
ThirdEye Server
Replicas
1
Mem
8G
CPU
2
EBS/SSD
0G
Node
Component
Replicas
Mem
CPU
EBS/SSD
Tyo
Single node
ThirdEye Server
1
8G
2
0G
ThirdEye UI
1
1G
1
0G
MySQL
1
8G
2
100G
m5.large