Contrato de evento
Campos que espera la consulta
| Campo | Tipo | Por que existe |
|---|---|---|
| timestamp_utc | Timestamp | Hora de muestra de replicación en UTC. |
| consumer_name | Utf8 | Réplica estable, conector o nombre de consumidor de nivel inferior. |
| source_type | Utf8 | postgres_replica, cdc_pipeline u otro tipo de fuente controlada. |
| region | Utf8 | Región de implementación aprobada. |
| lag_seconds | Float64 | Retraso de tiempo observado con respecto a la fuente. |
| replay_bytes_behind | Int64 | Bytes aproximados en espera de ser reproducidos o consumidos. |
| status | Utf8 | saludable, rezagado, estancado o no disponible. |
| environment | Utf8 | Entorno de implementación. |
Copiar la consulta
SELECT
consumer_name,
source_type,
region,
COUNT(*) AS samples,
AVG(lag_seconds) AS average_lag_seconds,
MAX(lag_seconds) AS maximum_lag_seconds,
MAX(replay_bytes_behind) AS maximum_bytes_behind,
SUM(CASE WHEN lag_seconds > 30 THEN 1 ELSE 0 END) AS stale_samples,
100.0 * SUM(CASE WHEN lag_seconds > 30 THEN 1 ELSE 0 END)
/ NULLIF(COUNT(*), 0) AS stale_sample_rate_pct
FROM database_replication_samples
WHERE timestamp_utc >= now() - INTERVAL '24 hours'
AND environment = 'production'
GROUP BY consumer_name, source_type, region
HAVING COUNT(*) >= 10
ORDER BY maximum_lag_seconds DESC;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
Replicación máxima o retraso CDC
La réplica de la región occidental supera el umbral de frescura ilustrativo de treinta segundos en dos muestras.
| consumer_name | source_type | region | samples | average_lag_seconds | maximum_lag_seconds | maximum_bytes_behind | stale_samples | stale_sample_rate_pct |
|---|---|---|---|---|---|---|---|---|
| replica-us-west | postgres_replica | us-west | 12 | 14,58 | 42 | 44.040.192 | 2 | 16,67 |
| billing-cdc | cdc_pipeline | us-east | 12 | 3 | 6 | 6.291.456 | 0 | 0 |
Salida de ejemplo sintético. Ejecute la consulta con su propio esquema de eventos y umbrales antes de utilizarla para decisiones operativas.
Reproducir el ejemplo
Descargar el accesorio público
El paquete JSON incluye el contrato de evento escrito, reproducible 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
- 1El retraso promedio describe el estado normal, mientras que el retraso máximo preserva paradas breves pero con consecuencias.
- 2Es más fácil alertar sobre una tasa de muestra obsoleta que sobre un máximo aislado.
- 3Los bytes detrás proporcionan un contexto de carga de trabajo porque el mismo retraso puede representar cantidades muy diferentes de trabajo de reproducción.
Casos extremos para decidir
- Los campos de retraso de la base de datos pueden significar escritura, vaciado, reproducción o retraso del conector. Nombra el límite medido.
- Una fuente silenciosa puede informar bytes bajos detrás sin dejar de estar obsoleta; Mantenga tanto el tiempo como el volumen.
- Utilice un objetivo de actualización específico de la carga de trabajo en lugar de un umbral global de treinta segundos.
Panel recomendado
- Barras: maximum_lag_seconds por consumidor
- Tendencia: lag_seconds y replay_bytes_behind
- Tabla: consumidores más recientes rezagados o no disponibles
Guía de alerta
Alerta cuando un consumidor excede su objetivo de frescura documentado para muestras consecutivas o deja de informar por completo.
Leer configuración de alertaPon la receta a trabajar
Instrumentación y guías relacionadas.
Continuar el análisis
Medir la frescura de la ingestión de eventos
Encuentre fuentes de eventos que dejaron de entregar datos o que llegan mucho más tarde de lo que ocurrieron.
Receta abiertaEncuentre consultas lentas en bases de datos por huella digital
Clasifique las operaciones de bases de datos normalizadas por tasa de consultas lentas, duración promedio y peor duración observada sin almacenar SQL ni parámetros sin formato.
Receta abiertaMedir la saturación del grupo de conexiones de la base de datos
Mida la utilización promedio del grupo, las esperas de adquisición en cola, los tiempos de espera y la capacidad inactiva por servicio de aplicación.
Receta abiertaEjecú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.