Data Collection
We provided a Kubernetes collector to collect the following data from the cluster:
Metric
- CPU Usage
- DiskSpace Usage
- Memory
- Requests
- Limits
- Request Usage
- Limits Usage
- Network I/O
- Disk I/O
Event
- Container Status Events.
- Pod Crash Events.
- Scaling Events.
Log
- Container Logs
Trace
- Trace data from microservices.
- Dependency map of microservice traffic.
Prediction-Driven Autoscaling
InsightFinder also supports the autoscaling of memory and CPU resources based on our predictions.
Scale down based on prediction
InsightFinder predicts future memory requirements, enabling proactive reduction of memory allocations. When lower usage is forecasted, the autoscaler decreases memory requests, aligning resource allocation with predicted needs.
Scale Up based on prediction
Conversely, InsightFinder can preemptively increase resource limits and requests. By forecasting higher resource demands, it automatically scales up memory allocations, preventing issues related to resource scarcity.
Scale Up based on Predicted and Detected Incidents
InsightFinder actively predicts and detects incidents in realtime. This functionality permits tailored scaling actions in response to specific incidents, such as automatically increasing resources during an OutOfMemory event. This proactive approach ensures system stability and reliability.
Prerequisites
- Kubernetes 1.12+
- Valid storageClass
- Prometheus
- Grafana Loki
- Jaeger
We provided with the instructions to setup the minimal Prometheus and Loki.
Installation
- Use the values.yaml as a configuration template.
- Configure the values.yaml following the instructions here.
- Install the Kubernetes collector using helm with the values.yaml file.
helm repo add insightfinder https://insightfinder.github.io/charts
helm install -f ./values.yaml if-kubernetes-agent insightfinder/if-kubernetes-agent --version 0.0.6