SLOs — Objective vs. Real (últimos 30d)
sum(rate(istio_requests_total
{response_code=~"5.."}[5m]))
by (destination_service_name)
/ sum(rate(istio_requests_total
[5m]))
by (destination_service_name)
> 0.05
For: 5m
Afecta: nutrition-engine
Desde: 47h ago
histogram_quantile(0.99,
sum(rate(
istio_request_duration_ms_bucket
[5m]))
by (le, destination_service_name))
> 1000
For: 5m
Actual: 890ms
Umbral: 500ms
sum(rate(
container_cpu_usage_seconds_total
[5m])) by (pod, namespace)
/ sum(kube_pod_container_resource
_limits{resource="cpu"})
by (pod, namespace)
> 0.80
For: 10m
CPU actual: 89%
Umbral: 80%
sum(rate(istio_requests_total
{response_code=~"5..",
destination_service_name=
"meal-planner"}[30m]))
/ sum(rate(istio_requests_total
{destination_service_name=
"meal-planner"}[30m]))
> 0.01
For: 15m
Actual: 1.24%
Umbral: 1%
(certmanager_certificate_
expiration_timestamp_seconds
- time()) / 86400 < 7
For: 1h
Cert expira: cert-prod-tls
Días restantes: 34d
kube_pod_container_status_ready
{container="istio-proxy"}
== 0
For: 5m
Estado: OK (0 pods)
Namespace: nutriflow-*
sum(rate(istio_requests_total{
reporter="destination"
}[5m])) by (destination_service_name)
Top: nutrition-engine
181 rps
sum(rate(istio_requests_total{
reporter="destination",
response_code=~"5.."}[5m]))
/ sum(rate(istio_requests_total{
reporter="destination"}[5m]))
* 100
nutrition-engine
4.87%
histogram_quantile(0.99,
sum(rate(
istio_request_duration_ms_bucket{
reporter="destination"
}[5m]))
by (le, destination_service_name))
nutrition-engine P99
890ms ✗
sum(istio_tcp_connections_opened_total{
reporter="destination"
}) by (destination_service_name)
nutrition-engine
1.847 conn