Kedify OTEL Scaler
The Kedify OTEL Scaler enables scaling based on metrics ingested through the OpenTelemetry (OTEL) collector, integrating seamlessly with KEDA. This scaler allows KEDA to use OTEL metrics in real-time, supporting prompt scaling reactions for applications without requiring a Prometheus server.
Details
The kedify-otel
scaler can be configured in ScaledObject
and ScaledJob
resources to enable scaling based on specific OTEL metrics. It supports PromQL-like metric queries, which the scaler evaluates against a short-term in-memory time-series database (TSDB). This allows for efficient, trend-aware scaling decisions.
The scaler is based on Kedify OTEL Add on.
Trigger Specification
This specification describes the kedify-otel
trigger, which scales workloads based on metrics collected by OTEL.
Here is an example trigger configuration using the Kedify OTEL scaler:
Parameter list:
metricQuery
- A PromQL-like query to identify a specific metric. Labels can be used to filter metrics by dimensions. For example,avg(http_requests_total{code=200, method=GET})
.- Supported Operators: Only
=
is supported in label selectors. - Supported Aggregation Functions:
{sum, min, max, avg}
.
- Supported Operators: Only
targetValue
- The desired target value for the selected metric, which will trigger scaling adjustments. (e.g.,5
)clampMin
(optional) - Minimum bound for the scaler’s result, acting as a lower limit on replica counts.clampMax
(optional) - Maximum bound for the scaler’s result, acting as an upper limit on replica counts.operationOverTime
(optional) - Specifies how to handle time-series data, with available options:last_one
,min
,max
,avg
,rate
,count
.
scalerAddress
- The configurable gRPC endpoint where the OTEL scaler is running. If not set, Kedify will inject the correct value. (ie.,keda-otel-scaler.${kedaNs}.svc:4318
, Optional.)
Example ScaledObject with Kedify OTEL trigger
Here is a full example of a scaled object definition using the Kedify OTEL trigger:
The OTEL Scaler evaluates metrics using a simple in-memory TSDB, enabling fast and responsive scaling reactions. This setup supports applications with high variability or latency-sensitive workloads, allowing them to scale dynamically without delays.