Monitorização

Um 200 não significa que funcione

Vigia a cadeia, não o endpoint: APIs, filas, funções e crons na AWS, Azure e GCP sem instalar agentes, e fluxos que te dizem em que passo exato a encomenda se partiu.

3 monitores de URL ou de cron sem custo em todos os planos. Com um pacote somam-se os endpoints de saúde, os fluxos e os recursos da tua cloud, vigiados com a ligação que já tens.

Fluxo encomenda → fatura

Última execução: partida no passo 2

  1. Disparo · fila SQS

    orders-in

    Enviado com o seu traceId

  2. Passo 1 · linha nos logs

    /aws/lambda/process-order

    Chegou

    1,2 s

  3. Passo 2 · item do DynamoDB

    orders

    Não chegou em 2 min

  4. Passo 3 · objeto do S3

    invoices/2026/

    Não verificado

A encomenda entrou na fila e a função processou-a, mas nunca chegou ao DynamoDB: a falha está entre a função e a tabela.

  • 5

    tipos de monitor, do URL ao fluxo de ponta a ponta

  • 3

    clouds vigiadas sem instalar agentes: AWS, Azure e GCP

  • 2

    regiões confirmam a falha de um URL antes de avisar

  • 6

    canais de aviso, com horas de silêncio e novo aviso

O problema

A tua API responde 200 e as encomendas não chegam

Em serverless quase nada falha à porta. Falha atrás: uma fila que encrava, uma função que repete em silêncio, um evento que ninguém consome.

Com um ping ao URL

  • GET /health · 200 OK · 48 ms
  • Painel de estado: tudo verde
  • orders-in: 3.214 mensagens, a mais antiga de há 4 h
  • orders-dlq: 412 mensagens por processar
  • Sabes por um cliente

O endpoint responde, o painel continua verde e sabes por um cliente. A fila está a crescer há horas, a fila de erros está cheia e ninguém olhou para a idade da mensagem mais antiga.

Com o AAA Sentinel

  • API de encomendas: operacional · 48 ms
  • Fila orders-in: em baixo · mensagem mais antiga, 4 h
  • orders-dlq: 412 mensagens na fila de erros
  • Fluxo encomenda → fatura: partido no passo 2
  • Incidente aberto e aviso no Slack

Vigiamos o URL, o estado de cada componente e os recursos por trás. Um fluxo de teste percorre a cadeia e diz-te que passo não chegou, quanto demorou cada um e quanto custou a falha.

Dados de exemplo.

Cinco tipos de monitor

Do URL ao recurso que está por trás

Começa pelo que tens e acrescenta profundidade quando precisares. Os monitores partilham o limite da organização, seja qual for a cloud; os fluxos têm o seu.

  • AWS
  • Azure
  • GCP

HTTP

Um URL com asserções de código, latência, cabeçalho, corpo ou JSONPath. Autenticação com bearer, basic, chave de API ou a identidade da tua conta AWS, Azure ou GCP.

GET /orders · 200 · 142 ms

Contrato de saúde

Lê o teu endpoint de saúde e separa cada componente: uma base de dados lenta deixa o serviço degradado, não em baixo.

database: pass · cache: warn → degradado

Recurso cloud

Funções, filas, tabelas, APIs e workflows da AWS, Azure e GCP, lidos com a tua ligação: erros, throttles, idade da mensagem mais antiga e fila de erros.

orders-in · mensagem mais antiga de 4 h

Heartbeat

Um URL que o teu cron ou job chama, a cada minuto ou uma vez por mês (até 35 dias). Se não chamar a tempo, avisa.

nightly-billing · último aviso há 3 min

Fluxo de ponta a ponta

Dispara uma transação de teste e verifica que chega a cada passo. Diz-te o passo exato que se partiu e quanto demorou cada um.

orders-in → logs → orders ✕ → invoices

Fluxos

O passo exato que se partiu

Um fluxo envia uma mensagem de teste com um traceId e verifica que chega a cada passo dentro do seu prazo. O teu código só tem de manter esse id na chave do item, no objeto ou na linha de log, e reconhecer o teste para não cobrar, não enviar emails nem criar encomendas reais: @aaa-sentinel/health (Node.js) e aaa-sentinel-health (Python) resolvem cada coisa com uma linha.

  1. 1

    Encontra a cadeia

    Na AWS e na Azure escolhes por onde entra o teste e seguimos as ligações reais da tua conta (filas, funções, regras e subscrições) para te propor os passos e os seus prazos.

  2. 2

    Dispara

    Uma mensagem na fila, uma invocação, um evento ou um pedido, marcado com o seu traceId e o seu traceparent W3C.

  3. 3

    Verifica cada passo

    Procura o traceId onde deve aparecer, com um prazo por passo, e regista quanto demorou desde o anterior.

  4. 4

    Indica onde

    Se um passo não chega, o fluxo cai com esse passo marcado, e o aviso diz o seu número e o seu nome: sabes se deves olhar para a função, a fila ou a tabela.

Na AWS dispara-se com SQS, Lambda ou EventBridge; na Azure, com Service Bus ou Event Grid; na GCP, com Pub/Sub, Cloud Run ou Eventarc; e em qualquer uma, com uma chamada HTTP. Cada passo verifica-se com o que a tua cadeia deixa (um item, um documento, um objeto ou um blob), uma linha nos logs ou uma chamada ao nosso URL.

Contrato de saúde

O teu endpoint de saúde, lido componente a componente

Entendemos health+json, Spring Boot Actuator, ASP.NET Core Health Checks e os endpoints do Kubernetes como estão. Se começar do zero, @aaa-sentinel/health para Node.js ou aaa-sentinel-health para Python monta a resposta em três linhas.

  • 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') })

Um componente em «warn» deixa o serviço degradado, não em baixo: aparece na página de estado e sai como evento por webhook, sem acordar ninguém.

Alertas sem ruído

Só avisa o que está mesmo em baixo

Uma falha isolada não acorda ninguém. Cada monitor passa por estes estados e só «em baixo» abre um incidente e avisa. Os monitores novos observam 24 horas antes de avisar; nos URLs e nos crons, também propõem limites.

  1. Operacional

    As verificações passam.

  2. Suspeito

    Uma falha num URL ou num endpoint de saúde. Ainda não avisa.

  3. A confirmar

    Um URL ou um endpoint de saúde é verificado a partir de uma segunda região; um recurso ou um fluxo, à espera de que a falha se repita.

  4. Em baixo

    Confirmado: o incidente abre-se e o aviso sai pelos teus canais.

  5. A recuperar

    Volta a passar. O incidente fecha quando se mantém.

Avisa por email, Slack, Microsoft Teams, PagerDuty, Jira Service Management ou webhook, e abre um ticket no Jira ou no Linear, com o mesmo motor de avisos que os teus alertas de custo. A monitorização tem a sua própria política: horas de silêncio, janelas de manutenção e um novo aviso se continuar em baixo.

Depois da falha

Do incidente ao teu cliente e ao teu Grafana

O que acontece quando algo cai: quanto custa, como se resolve, quem fica a saber e onde o vês.

Incidente e custo, juntos

Cada incidente tem a sua cronologia, quem o acompanha, as suas notas e quanto custou: o valor de um minuto em baixo que defines, na tua moeda, na mesma plataforma que o teu gasto cloud.

Resolve a partir do incidente

Em Business, quando a causa tem solução, o incidente propõe-ta e executa-se quando a aprovas: devolver à sua fila as mensagens da fila de erros, parar a regra ou a Logic App que falha ou subir a concorrência reservada que uma função já tem. Parar e subir a concorrência podem ser desfeitos.

Serviços, como o teu cliente os vê

Agrupa monitores em serviços que dependem uns dos outros. O seu estado vem do pior componente ou de um quórum, os avisos são enviados por serviço e cada um tem o seu próprio endpoint health+json na API.

Páginas de estado

Públicas, ou privadas com link secreto, na língua que escolheres para cada página. As públicas, também no teu próprio domínio (como status.atuaempresa.com) com o seu certificado, e com status.json e um feed Atom. Em Business levam o teu logótipo e o teu nome.

Feito para consultoras

Em Business, cada monitor pode ser atribuído a um cliente: a sua página de estado, o seu próprio segredo de assinatura se quiseres, o seu relatório de disponibilidade do mês em PDF com a tua marca, que lhe pode chegar por email todos os meses e vai também no relatório do cliente, e a contagem de monitores para o refaturar.

Traz o que já vigias

Converte em monitores os teus alarmes do CloudWatch, os health checks do Route 53, os alertas de métrica e os testes de disponibilidade da Azure e os uptime checks da GCP, sem permissões novas.

Prometheus e OpenTelemetry

Estado, duração e disponibilidade de cada monitor, e os incidentes abertos: para Prometheus, Grafana Alloy ou o agente da Datadog, ou enviados por OTLP para New Relic, Grafana Cloud ou o teu coletor.

Webhooks CloudEvents 1.0

Falhas, recuperações e incidentes, assinados, no nosso formato ou em CloudEvents.

status.json e Atom

Cada página de estado pública publica o seu estado legível por máquina e um feed para leitores e Slack.

Tudo num pacote

O que costuma exigir várias ferramentas, numa só

Sem outra conta, outra fatura nem outro painel para ver: na mesma plataforma que o teu gasto cloud e a tua segurança.

  • Verificação de URLs e crons

    URLs até a cada minuto, com asserções, autenticação e confirmação a partir de outra região; crons que avisam se não chamarem a tempo.

  • Testes de ponta a ponta

    Fluxos que percorrem a tua cadeia com um traceId e dizem que passo falhou.

  • Vigilância de recursos cloud

    Filas, funções, tabelas, APIs e workflows de AWS, Azure e GCP, com a ligação que já tens.

  • Gestão de incidentes

    Cronologia, quem o acompanha, notas e quanto custou, com avisos por seis canais.

  • Páginas de estado

    Públicas, no teu próprio domínio se quiseres, ou privadas com um link secreto.

  • Relatórios de disponibilidade

    Um PDF por mês, também por email; em Business, um por cliente com a tua marca.

Como se cobra

49 €

por pacote por mês, em Pro e Business · 39 € a partir do 4.º

1,96 € por monitor por mês; 1,56 € a partir do 4.º pacote

Começar agora
Sem pacote e com um pacote
O que incluiSem pacoteCom um pacote
Monitores3 25 por pacote
O que vigiamURLs e crons Também endpoints de saúde e recursos da tua cloud
Fluxos de ponta a pontaNão incluído 3 por pacote
Páginas de estadoNão incluído 1, mais uma por cliente ativo em Business
PlanosTodos, também Free Pro e Business
PreçoGrátis 49 € por mês; 39 € a partir do 4.º

As sondas correm na nossa conta. Na tua veem-se a leitura das métricas (na AWS até cerca de 0,20 USD por recurso por mês a 10 minutos, o dobro a 5; na Azure e na GCP costuma caber no nível gratuito), os pedidos dos monitores à tua API e, nos fluxos, o que a tua cadeia executa em cada teste e a pesquisa nos logs.

Perguntas frequentes

Sabe se funciona, não só se responde

Começar agora

3 monitores sem custo para começar. Pacotes de 49 € por mês quando precisares de mais.