Saltar al contenido
Telemetry
Fiabilidad de la API receta SQL

Medir la disponibilidad de API frente a un SLO

Calcular la disponibilidad diaria y mostrar si un servicio cumplió con su objetivo explícito.

Intermedioapi_requestsRevisado 2026-07-27Probado con Apache DataFusion 45.2.0

Revisado por el equipo de producto Telemetry en . Compatibilidad con SQL, contrato de eventos, resultados sintéticos y advertencias operativas. Revisar los estándares y la propiedad

Pregunta respondida

¿Cada servicio cumplió con su objetivo de disponibilidad diaria?

Un SLO convierte una tasa de confiabilidad en un límite de decisión. Mantener juntos los buenos eventos, los eventos totales y el objetivo hace que la revisión del cumplimiento sea auditable.

Contrato de evento

Campos que espera la consulta

CampoTipoPor que existe
timestamp_utcTimestampSolicitar tiempo de finalización.
serviceUtf8Nombre de servicio estable.
slo_eligibleBooleanSi la solicitud pertenece al denominador SLO.
slo_goodBooleanSi la solicitud cumplió con el SLO.
DataFusionSQL

Copiar la consulta

sql
SELECT
  date_trunc('day', timestamp_utc) AS day,
  service,
  SUM(CASE WHEN slo_eligible THEN 1 ELSE 0 END) AS eligible_requests,
  SUM(CASE WHEN slo_eligible AND slo_good THEN 1 ELSE 0 END)
    AS good_requests,
  100.0 * SUM(CASE WHEN slo_eligible AND slo_good THEN 1 ELSE 0 END)
    / NULLIF(SUM(CASE WHEN slo_eligible THEN 1 ELSE 0 END), 0)
    AS availability_pct,
  99.9 AS objective_pct
FROM api_requests
WHERE timestamp_utc >= now() - INTERVAL '30 days'
GROUP BY date_trunc('day', timestamp_utc), service
HAVING SUM(CASE WHEN slo_eligible THEN 1 ELSE 0 END) > 0
ORDER BY day, service;

Esta consulta de solo lectura se planifica y ejecuta en una tabla escrita vacía con Apache DataFusion 45.2.0. El resultado de la muestra determinista es sintético y se revisa por separado; valide tipos de campos, umbrales y definiciones comerciales con sus propios datos. Lea la metodología de prueba.

Resultado de la consulta

Disponibilidad de servicio diario

Query API no alcanzó el objetivo del 99,9% el 26 de julio.

dayserviceeligible_requestsgood_requestsavailability_pctobjective_pct
2026-07-25query_api182.400182.27499,9399,9
2026-07-26query_api176.820176.50199,8299,9
2026-07-27ingestion_api248.100247.97699,9599,9

Salida de ejemplo sintético. Ejecute la consulta con su propio esquema de eventos y umbrales antes de utilizarla para decisiones operativas.

Daily service availability: gráfico estático de valores sintéticos de availability_pct del resultado del ejemplo Measure API Availability Against an SLO
SVG indexable de la salida del ejemplo determinista. Descárguelo para ver un artículo, un runbook o una revisión de diseño con atribución.

Reproducir el ejemplo

Descargar el accesorio público

El paquete JSON incluye el contrato de evento escrito, illustrative filas de entrada, SQL exacto, resultado esperado, notas de revisión y versión del motor. El CSV contiene el resultado mostrado.

Cómo funciona el SQL

  1. 1La elegibilidad explícita protege al denominador de controles de salud o tráfico no admitido.
  2. 2slo_good puede codificar tanto la corrección como la latencia cuando el objetivo requiere ambas.
  3. 3El objetivo se devuelve junto al valor observado para que los gráficos y las revisiones preserven el límite de decisión.

Casos extremos para decidir

  • Utilice períodos de tiempo completos para informes de paginación y cumplimiento.
  • Documente el tráfico excluido para que el SLO no pueda mejorar mediante cambios silenciosos del denominador.
  • Una vista diaria es útil para revisar; Las alertas rápidas de presupuesto de errores normalmente necesitan períodos más cortos.

Panel recomendado

  • Tendencia: availability_pct con línea objetiva
  • Estadística: días de cumplimiento en el período seleccionado
  • Tabla: malos eventos por días de servicio perdidos

Guía de alerta

Utilice alertas de quema de presupuesto de errores de múltiples ventanas para paginación y esta vista diaria para revisión de cumplimiento.

Leer configuración de alerta

Pon la receta a trabajar

Instrumentación y guías relacionadas.

Continuar el análisis

Ejecútelo en eventos reales.

Crea una tabla, adapta los campos y guarda el resultado.

Comience gratis, envíe eventos estructurados y utilice el resultado de la consulta como un gráfico, un widget de panel compartido o una entrada de alerta.

Obtén una clave API