Monitorización

Un 200 no significa que funcione

Vigila la cadena, no el endpoint: APIs, colas, funciones y crons en AWS, Azure y GCP sin instalar agentes, y flujos que te dicen en qué paso exacto se rompió el pedido.

3 monitores de URL o de cron sin coste en todos los planes. Con un paquete se suman los endpoints de salud, los flujos y los recursos de tu nube, vigilados con la conexión que ya tienes.

Flujo pedido → factura

Última ejecución: rota en el paso 2

  1. Disparo · cola SQS

    orders-in

    Enviado con su traceId

  2. Paso 1 · línea en los logs

    /aws/lambda/process-order

    Llegó

    1,2 s

  3. Paso 2 · ítem en DynamoDB

    orders

    No llegó en 2 min

  4. Paso 3 · objeto en S3

    invoices/2026/

    Sin mirar

El pedido entró en la cola y la función lo procesó, pero nunca llegó a DynamoDB: el fallo está entre la función y la tabla.

  • 5

    tipos de monitor, de la URL al flujo de punta a punta

  • 3

    nubes vigiladas sin instalar agentes: AWS, Azure y GCP

  • 2

    regiones confirman la caída de una URL antes de avisar

  • 6

    canales de aviso, con horas de silencio y re-aviso

El problema

Tu API responde 200 y los pedidos no llegan

En serverless casi nada falla en la puerta. Falla detrás: una cola que se atasca, una función que reintenta en silencio, un evento que nadie consume.

Con un ping a la URL

  • GET /health · 200 OK · 48 ms
  • Panel de estado: todo en verde
  • orders-in: 3.214 mensajes, el más viejo de hace 4 h
  • orders-dlq: 412 mensajes sin procesar
  • Te enteras por un cliente

El endpoint contesta, el panel sigue en verde y te enteras por un cliente. La cola lleva horas creciendo, la cola de errores está llena y nadie miró la edad del mensaje más viejo.

Con AAA Sentinel

  • API de pedidos: operativa · 48 ms
  • Cola orders-in: caída · el mensaje más viejo, 4 h
  • orders-dlq: 412 mensajes en la cola de errores
  • Flujo pedido → factura: roto en el paso 2
  • Incidente abierto y aviso en Slack

Vigilamos la URL, el estado de cada componente y los recursos de detrás. Un flujo de prueba recorre la cadena y te dice qué paso no llegó, cuánto tardó cada uno y qué costó la caída.

Datos de ejemplo.

Cinco tipos de monitor

De la URL al recurso que hay detrás

Empieza por lo que tienes y añade profundidad cuando la necesites. Los monitores comparten el cupo de la organización, sea cual sea la nube; los flujos tienen el suyo.

  • AWS
  • Azure
  • GCP

HTTP

Una URL con aserciones de código, latencia, cabecera, cuerpo o JSONPath. Autenticación con bearer, basic, API key o la identidad de tu cuenta de AWS, Azure o GCP.

GET /orders · 200 · 142 ms

Contrato de salud

Lee tu endpoint de salud y separa cada componente: una base de datos lenta deja el servicio degradado, no caído.

database: pass · cache: warn → degradado

Recurso cloud

Funciones, colas, tablas, APIs y workflows de AWS, Azure y GCP, leídos con tu conexión: errores, throttles, edad del mensaje más viejo y cola de errores.

orders-in · mensaje más viejo de 4 h

Heartbeat

Una URL que llama tu cron o tu job, cada minuto o una vez al mes (hasta 35 días). Si no llama a tiempo, avisa.

nightly-billing · último aviso hace 3 min

Flujo de punta a punta

Dispara una transacción de prueba y comprueba que llega a cada paso. Te dice el paso exacto que se rompió y cuánto tardó cada uno.

orders-in → logs → orders ✕ → invoices

Flujos

El paso exacto que se rompió

Un flujo envía un mensaje de prueba con un traceId y comprueba que llega a cada paso dentro de su plazo. Tu código solo tiene que conservar ese id en la clave del ítem, en el objeto o en la línea de log, y reconocer la prueba para que no cobre, no mande correos ni cree pedidos de verdad: @aaa-sentinel/health (Node.js) y aaa-sentinel-health (Python) lo resuelven con una línea cada cosa.

  1. 1

    Encuentra la cadena

    En AWS y Azure eliges dónde entra la prueba y seguimos las conexiones reales de tu cuenta (colas, funciones, reglas y suscripciones) para proponerte los pasos y sus plazos.

  2. 2

    Dispara

    Un mensaje en la cola, una invocación, un evento o una petición, marcado con su traceId y su traceparent de W3C.

  3. 3

    Comprueba cada paso

    Busca el traceId donde debe aparecer, con un plazo por paso, y apunta cuánto tardó desde el anterior.

  4. 4

    Señala dónde

    Si un paso no llega, el flujo cae con ese paso marcado, y el aviso dice su número y su nombre: sabes si mirar la función, la cola o la tabla.

En AWS se dispara con SQS, Lambda o EventBridge; en Azure, con Service Bus o Event Grid; en GCP, con Pub/Sub, Cloud Run o Eventarc; y en cualquiera, con una llamada HTTP. Cada paso se comprueba con lo que deja tu cadena (un ítem, un documento, un objeto o un blob), una línea en los logs o una llamada a nuestra URL.

Contrato de salud

Tu endpoint de salud, leído componente a componente

Entendemos health+json, Spring Boot Actuator, ASP.NET Core Health Checks y los endpoints de Kubernetes tal cual. Si empiezas de cero, @aaa-sentinel/health para Node.js o aaa-sentinel-health para Python construyen la respuesta en tres líneas.

  • health+json
  • Spring Boot Actuator
  • ASP.NET Core
  • Kubernetes

health.ts

import { runHealthChecks } from '@aaa-sentinel/health'

export const handler = () =>
  runHealthChecks({ database: () => db.query('select 1') })

Un componente en «warn» deja el servicio degradado, no caído: se ve en la página de estado y sale como evento por webhook, sin despertar a nadie.

Alertas sin ruido

Solo avisa lo que está caído de verdad

Un fallo suelto no despierta a nadie. Cada monitor pasa por estos estados y solo «caído» abre un incidente y avisa. Los monitores nuevos observan 24 horas antes de avisar; en URLs y crons, además, te proponen umbrales.

  1. Operativo

    Las comprobaciones pasan.

  2. Sospechoso

    Un fallo en una URL o un endpoint de salud. Todavía no avisa.

  3. Confirmando

    Una URL o un endpoint de salud se comprueba desde una segunda región; un recurso o un flujo, esperando a que el fallo se repita.

  4. Caído

    Confirmado: se abre el incidente y avisa por tus canales.

  5. Recuperándose

    Vuelve a pasar. El incidente se cierra cuando se mantiene.

Avisa por email, Slack, Microsoft Teams, PagerDuty, Jira Service Management o webhook, y abre un ticket en Jira o Linear, con el mismo motor de avisos que tus alertas de coste. La monitorización tiene su propia política: horas de silencio, ventanas de mantenimiento y un re-aviso si sigue caído.

Después de la caída

Del incidente a tu cliente y a tu Grafana

Lo que pasa cuando algo cae: cuánto cuesta, cómo se arregla, quién se entera y dónde lo ves.

Incidente y coste, juntos

Cada incidente lleva su línea de tiempo, quién lo atiende, sus notas y lo que costó: el valor de un minuto caído que fijas tú, en tu moneda, en la misma plataforma que tu gasto cloud.

Arréglalo desde el incidente

En Business, cuando la causa tiene arreglo, el incidente te lo ofrece y se ejecuta al aprobarlo: devolver a su cola los mensajes de la cola de errores, parar la regla o la Logic App que falla o subir la concurrencia reservada que ya tiene una función. Parar y subir la concurrencia se pueden deshacer.

Servicios, como los ve tu cliente

Agrupa monitores en servicios que dependen unos de otros. Su estado sale del peor componente o de un quórum, los avisos van por servicio y cada uno tiene su propio endpoint health+json en la API.

Páginas de estado

Públicas o privadas con enlace secreto, en el idioma que elijas para cada página. Las públicas, también en tu propio dominio (como status.tuempresa.com) con su certificado, y con status.json y un feed Atom. En Business llevan tu logo y tu nombre.

Hecho para consultoras

En Business, cada monitor puede asignarse a un cliente: su página de estado, su propio secreto de firma si lo quieres, su informe de disponibilidad del mes en PDF con tu marca, que puede llegarle por correo cada mes y va también en el informe del cliente, y el recuento de monitores para refacturarlo.

Trae lo que ya vigilas

Convierte en monitores tus alarmas de CloudWatch, los health checks de Route 53, las alertas de métrica y los tests de disponibilidad de Azure y los uptime checks de GCP, sin permisos nuevos.

Prometheus y OpenTelemetry

Estado, duración y disponibilidad de cada monitor, y los incidentes abiertos: para Prometheus, Grafana Alloy o el agente de Datadog, o enviados por OTLP a New Relic, Grafana Cloud o tu colector.

Webhooks CloudEvents 1.0

Caídas, recuperaciones e incidentes, firmados, en nuestro formato o en CloudEvents.

status.json y Atom

Cada página de estado pública publica su estado legible por máquina y un feed para lectores y Slack.

Todo en un paquete

Lo que suelen ser varias herramientas, en una

Sin otra cuenta, otra factura ni otro panel que mirar: en la misma plataforma que tu gasto cloud y tu seguridad.

  • Comprobación de URLs y crons

    URLs cada minuto como mucho, con aserciones, autenticación y confirmación desde otra región; crons que avisan si no llaman a tiempo.

  • Pruebas de punta a punta

    Flujos que recorren tu cadena con un traceId y dicen qué paso se rompió.

  • Vigilancia de recursos cloud

    Colas, funciones, tablas, APIs y workflows de AWS, Azure y GCP, con la conexión que ya tienes.

  • Gestión de incidentes

    Línea de tiempo, quién lo atiende, notas y lo que costó, con avisos por seis canales.

  • Páginas de estado

    Públicas, con tu propio dominio si quieres, o privadas con un enlace secreto.

  • Informes de disponibilidad

    Un PDF al mes, también por correo; en Business, uno por cliente con tu marca.

Cómo se cobra

49 €

al mes por paquete, en Pro y Business · 39 € desde el 4.º

1,96 € por monitor al mes; 1,56 € desde el 4.º paquete

Empezar ahora
Sin paquete y con un paquete
Qué incluyeSin paqueteCon un paquete
Monitores3 25 por paquete
Qué vigilanURLs y crons También endpoints de salud y recursos de tu nube
Flujos de punta a puntaNo incluido 3 por paquete
Páginas de estadoNo incluido 1, más una por cliente activo en Business
En qué planesTodos, también Free Pro y Business
PrecioGratis 49 € al mes; 39 € desde el 4.º

Las sondas corren en nuestra cuenta. En la tuya se ven la lectura de métricas (en AWS hasta unos 0,20 USD por recurso al mes a 10 minutos, el doble a 5; en Azure y GCP suele entrar en la capa gratuita), las peticiones de los monitores a tu API y, en los flujos, lo que ejecuta tu cadena con cada prueba y la búsqueda en los logs.

Preguntas frecuentes

Sabe si funciona, no solo si responde

Empezar ahora

3 monitores sin coste para empezar. Paquetes de 49 € al mes cuando necesites más.