Prerequisites
- Kestrel Operator deployed in your cluster (see Kubernetes)
- OpenTelemetry Collector deployed in your cluster with the
k8sattributesprocessor
Setup
Enable OpenTelemetry in the operator
During cluster onboarding, select OpenTelemetry as the Metrics Source in the Kestrel Dashboard.Alternatively, configure via Helm values:
Configure the k8sattributes processor
Ensure your OTEL Collector has the
k8sattributes processor configured:The operator supports gzip compression. The OTEL Collector enables gzip by default. If using the Go SDK directly, enable it via
OTEL_EXPORTER_OTLP_COMPRESSION=gzip.How It’s Used
In Workflows
- Action blocks: Query stored OTEL metrics as workflow steps to check thresholds, compare metric values, or enrich workflow context with performance data
In Incident Response
- Metrics correlation — during root cause analysis, Kestrel queries stored OTEL metrics for CPU, memory, network, and application-level metrics around the incident timeframe
- Workload-aware queries — thanks to
k8sattributes, metrics are queryable by namespace, deployment, pod, and container
In Cloud AI Copilot
Ask questions that leverage your OpenTelemetry metrics:What was the request latency for the API service in the last 30 minutes?Show me CPU usage trends for the payments namespaceAre there any workloads with high error rates right now?
Configuration Reference
| Key | Type | Default | Description |
|---|---|---|---|
operator.otel.enabled | boolean | false | Enable OTLP gRPC receiver |
operator.otel.receiverPort | integer | 4317 | OTLP gRPC receiver port |
operator.metricsStore.retention | string | "30m" | Rolling retention window |
operator.metricsStore.maxSeries | integer | 100000 | Max unique metric series |
operator.metricsStore.ringSize | integer | 60 | Data points per series |