Pular para o conteúdo

Monitoramento de sites: webhooks

A Uptimia verifica os seus sites, certificados e fluxos de checkout a partir do exterior da sua rede e chama o seu endpoint sempre que uma falha é confirmada. O seu próprio código decide o que acontece a seguir — abrir um chamado de suporte, reiniciar um serviço, alimentar um dashboard — e todas as verificações enviam o mesmo formato, para que escreva o handler uma única vez.

uma estrutura · todos os doze tipos · 2xx ou cinco novas tentativas

Não é mensagem, é contrato

Todos os outros canais terminam numa pessoa, e as pessoas são leitoras tolerantes. O código não é — por isso a parte interessante nunca é a carga útil, mas sim as garantias por trás dela.

Escrito para um leitor

“Algo quebrou” — descubra o resto sozinho

Uma mensagem
lida uma vez, depois fechada
lida, depois desaparece
Nada para desenvolver
sem estrutura · sem novas tentativas

A redação pode variar entre versões porque o leitor se adapta. No momento em que um sistema passa a depender dela, essa informalidade transforma-se numa falha na sua integração.

Escrito para um consumidor

Onze campos, cinco novas tentativas, uma estrutura

Um POST
sondas de reserva confirmaram
2xx ou nova tentativa
O seu código decide
chamado de suporte · bot · linha

Um objeto para cada tipo de verificação: escreva um handler, ramifique em dois campos. É tentado novamente cinco vezes antes de ser descartado, pelo que são possíveis duplicados — documentados em vez de descobertos.

Mantenha os canais que uma pessoa lê. Este é para a parte que não devia depender de ninguém. Uma quarta-feira à noite numa API de logística:

O alerta chega ao seu próprio código

Uma verificação falha e a Uptimia chama o seu endpoint com os detalhes, já confirmados. A sua própria automação decide o que acontece a seguir — aqui, um chamado de suporte que se abre sozinho e se fecha na recuperação.

02:17 O POST chega, já confirmadoo ops-bridge responde 200 primeiro, só depois trabalha — o tempo disponível é para a resposta POST · 84 ms
02:18 O mesmo evento chega duas vezesA entrega é pelo menos uma vez — o handler usa como chave o início do incidente nova tentativa · ignorado
02:18 Um chamado de suporte abre-se sozinhoo monitor_unique_id escolhe o runbook — sem triagem, sem intervenção humana chamado de suporte · runbook
02:31 ✅ O POST de recuperação fecha o casoMesma estrutura, estado up — incident_duration_seconds: 843 up · 14 min
14 mindown → up
O relatório que ninguém escreveuno dia 1
Fim de mês: os números de disponibilidade seguiram para três clientes diretamente das próprias tabelas do ops-bridge. Cada incidente já era uma linha — nada exportado de um dashboard.
843 segundos, registrados1 handler, todos os tipos de verificação0 chamadas enviadas0 linhas de código para coletar dados
O alerta transformou-se em dados — uma mensagem desaparece quando a fecha; um evento que o seu código aceitou continua ali um ano depois. pesquisável, não apenas legível

Ligue um webhook em três passos

Não há aplicação para autorizar nem biblioteca para instalar — a Uptimia só precisa de um URL a chamar e, se o endpoint estiver protegido, de um cabeçalho que a deixe entrar.

Passo 130 segundos

Cole o URL do seu endpoint

É todo o registro — um único URL público.

ops.caldmont.com/hooks Salvar integração
https público · TLS verificado · sem intervalos privados
Passo 21 minuto

Adicione seus cabeçalhos de autenticação

Opcional — cabeçalhos enviados exatamente como os escreve, para que um token deixe a Uptimia entrar pela sua própria porta.

Cabeçalhos personalizados
Authorization: Bearer …X-Source: uptimia
passados sem alterações · Content-Type adicionado automaticamente
Passo 320 segundos

Aponte os seus monitores para ele

Escolha as verificações que o devem chamar, e uma entrega de teste comprova a conexão com o formato real.

Entrega de teste
monitor_status: test · severity: test · os mesmos onze campos
responda com qualquer 2xx e está ligado
Guia técnico de configuração

Registrar um endpoint de webhook

O Centro de ajuda cobre a implementação: adicionar o URL, escrever os cabeçalhos personalizados, enviar um POST de teste, e interpretar o que uma entrega falhada está lhe dizendo.

Todos os tipos de verificação. Uma estrutura.

Um certificado expirando, um cron job que nunca reportou e um servidor acima do limiar de CPU chegam todos como o mesmo objeto simples. Dois campos distinguem-nos.

"uptime"Verificações HTTP às suas páginas
"ssl"Expiração e validade do certificado
"domain"Datas de registro e renovação
"server"CPU, memória, disco e carga
11 campos o mesmo objeto, sempre
"heartbeat"Cron jobs que deixaram de reportar
"transaction"Percursos de navegador em várias etapas
"dns"Registros e estado dos servidores de nomes
"blacklist"Reputação de domínio e IP
Nada é renomeado sem aviso — mais quatro tipos publicam o mesmo objeto, e uma tempestade acrescenta uma chave de grupo junto das já existentes. todas as verificações · um handler

Pontes de chat, linhas de base de dados, ações automáticas

Assim que um incidente é um objeto que o seu código aceitou, as aplicações úteis deixam de se parecer com alertas.

O canal de que não falamos
Zulip, Rocket.Chat, um bot que escreveu — qualquer coisa num URL.
Reformate a redação como quiser
Encaminhe por monitor_type ou por nome
Entregue à sala responsável
sem SDK, sem biblioteca
Registros que sobrevivem ao incidente
A sua fila de tickets, o seu data warehouse, a sua tabela de SLA.
Abre na indisponibilidade, fecha na recuperação
A duração chega já calculada
Junte pelo monitor_unique_id
o seu esquema, não o nosso
Ações em vez de mensagens
Anotar um gráfico, drenar um nó, acionar um alerta.
A falha foi confirmada primeiro
Filtre pela severidade antes de qualquer ação destrutiva
A ação é sua, nós apenas reportamos
deliberadamente unidirecional
Combine-o com um canal que alguém lê SlackMS TeamsE-mailTelegramTwilio SMSPagerDutyDiscord

Os outros canais avisam uma pessoa.Este avisa o seu código.

A plataforma completa no período de teste — todos os tipos de verificação, mais de 171 sondas, e cada incidente confirmado entregue como um objeto que lhe pertence.

Comece gratuitamente →
30 dias grátis não é necessário cartão de crédito cancele quando quiser

As garantias de entrega, por escrito

Ninguém consegue escrever um handler fiável com base em “vamos enviar-lhe uma notificação”. Estas são as garantias reais.

Pelo menos uma vez, com cinco novas tentativas

Dez segundos para responder, e qualquer 2xx conta como aceito. Tudo o resto volta à fila e é repetido cinco vezes, cada espera um minuto mais longa do que a anterior, e depois é descartado — por isso responda primeiro e faça o trabalho a seguir.

Dez segundos para responderPRAZO Qualquer 2xx significa aceitoSUCESSO Cinco novas tentativas, depois descartadoBACKOFF

Um objeto simples, onze chaves

Sem aninhamento, sem invólucro, sem esquema que muda consoante o tipo de verificação. Dois campos distinguem; os outros nove nunca mudam de significado — incluindo monitor_notes, a linha do runbook que quem configurou o monitor deixou escrita.

onze campos · uma estrutura

Uma tempestade acrescenta uma chave

Monitores que falham em conjunto tornam-se uma única requisição com um objeto de grupo adicional — membros, contagens, confirmação. Os handlers que o ignoram continuam funcionando.

aditivo · nunca renomeado

Os seus cabeçalhos, repassados

Enviados exatamente como escritos, para que um bearer token ou um segredo compartilhado funcione. Não há assinatura do corpo — verifique o cabeçalho do lado do servidor e mantenha o URL em segredo.

bearer token · URL secreto

Onde se recusará a publicar

Apenas http(s) público; loopback e intervalos privados são rejeitados. O endereço é resolvido uma única vez e fixado, os redirecionamentos são ignorados, o TLS é verificado.

sem localhost · sem rebinding

Sem link de confirmação — de propósito

Os canais que uma pessoa lê trazem um link assinado que interrompe a cadeia. As máquinas recebem os fatos e nada mais — um pipeline de registros que consegue silenciar um alerta acabará por fazê-lo.

Todos os campos, todos os eventosENVIADO A capacidade de silenciá-loRETIDA

Como funcionam os webhooks de monitoramento

A Uptimia verifica os seus sites a partir de mais de 171 localizações externas e, quando uma verificação falha, envia um POST HTTP com um corpo JSON para qualquer URL que registre. O mesmo objeto simples chega para cada tipo de verificação — qual o monitor, o que aconteceu, quando, e durante quanto tempo — para que um único handler cubra todos eles, e as entregas falhadas são repetidas.

“Todas as requisições significam que algo está indisponível”

O erro que todo mundo comete no primeiro dia

monitor_status: up
severity chega vazio
tratado como uma interrupção
Alguém foi avisado
porque o site voltou a funcionar

Recuperações, alertas e testes compartilham um único endpoint. monitor_status é down, up ou test; severity é critical ou trouble, e vazio numa recuperação. Ramifique com base nos dois.

Confirmado antes de existir

Confirmado antes de o seu código saber

171+ localizações
carregando a página real
testado de novo primeiro
Uma requisição
por cada incidente confirmado

A automação só é tão fiável quanto o seu gatilho. Uma verificação web nunca é alertada com base na opinião de uma única sonda — uma falha suspeita é testada de novo a partir de outras sondas primeiro.

O corpo

Onze campos, todos os eventos

O que está sempre presente, e o que contém.

Veja todos os canais de alertas →
CampoExemploO que contém
id4172O id numérico do monitor na Uptimia
monitor_typeuptimeQue tipo de verificação foi acionada
monitor_nameDispatch APIO nome que lhe deu (nome do site para verificações de disponibilidade)
monitor_unique_iddispatch-api-euO seu próprio identificador — a chave de junção
monitor_statusdowndown, up ou test
severitycriticalcritical ou trouble — vazio numa recuperação
incident_start_time2026-07-24T02:17:04+02:00ISO 8601, fuso horário da conta
incident_end_time2026-07-24T02:31:07+02:00Vazio enquanto o incidente está aberto
incident_duration_seconds843Zero até o incidente se fechar
message*ALERT*: Project … is DOWNO resumo de uma linha que os outros canais recebem
monitor_notesFailover: drain eu-west-2 firstA nota do monitor — vazia quando ninguém escreveu nenhuma

Perguntas frequentes sobre webhooks personalizados

01O que é enviado exatamente?+
Um único POST HTTP com Content-Type: application/json e um corpo simples de onze campos — sem query string, sem codificação de formulário, sem objeto envolvente. Todos os campos ficam ao nível superior, e os mesmos onze chegam para cada tipo de monitor e cada estado, incluindo o teste.
02Como autentico a requisição?+
Com cabeçalhos personalizados: tudo o que introduzir é enviado exatamente como está, um por linha no formato Nome: valor, para que um bearer token ou um segredo compartilhado funcione. Não há assinatura HMAC sobre o corpo, por isso trate também o URL como uma credencial — longo, aleatório, e substituído se for exposto.
03O que acontece se o meu endpoint estiver lento ou indisponível?+
A requisição dispõe de dez segundos. Qualquer 2xx significa aceito; tudo o resto volta à fila com um intervalo de espera crescente e é repetido cinco vezes, sendo depois descartado. Responda 200 de imediato e faça a parte lenta depois — o tempo disponível cobre a resposta, não o trabalho.
04Vou alguma vez receber o mesmo evento duas vezes?+
Sim, e deve prever isso. A entrega é pelo menos uma vez: um endpoint que aceita um evento mas responde devagar continua recebendo a nova tentativa. Exclua duplicados com base no monitor mais incident_start_time — ambos permanecem idênticos entre tentativas.
05Posso apontá-lo para o localhost ou para um endereço interno?+
Não. Só são aceitos URLs http e https públicos, e os intervalos loopback, privados e link-local são recusados tanto ao salvar como novamente no momento do envio — um webhook capaz de alcançar serviços internos seria uma ferramenta de falsificação de requisições disfarçada de funcionalidade de monitoramento. Use um túnel enquanto estiver desenvolvendo.
06Seguem redirecionamentos?+
Não. O URL que registra é o que recebe o corpo; um 301 ou 302 conta como entrega falhada, e não como um salto a seguir. O nome de anfitrião é resolvido uma única vez e fixado para a chamada, pelo que não pode ser redirecionado entre a verificação de segurança e a requisição.
07O que chega quando vários monitores falham ao mesmo tempo?+
Uma única requisição para todo o grupo, em vez de uma por monitor, com um objeto group adicional junto dos campos habituais: o seu id, a lista de membros, quantos ainda estão indisponíveis, e se alguém já confirmou. Os onze campos originais descrevem o monitor-âncora do grupo — monitor_notes traz a nota quando o grupo tem apenas um monitor, e fica vazio quando resume vários.
08O meu handler pode confirmar ou responder?+
Não, e é propositado. Os links de confirmação só chegam a canais lidos por pessoas; um consumidor automatizado recebe os fatos, nunca a capacidade de silenciar um escalonamento. A Uptimia só lê o código de status da sua resposta.
09O que é que o “Enviar teste” publica, na prática?+
A estrutura real com conteúdos de exemplo: monitor_status e severity aparecem ambos como test, o nome aparece como “Test monitor”, e os três campos de incidente aparecem como “None” em vez de marcas temporais. Serve para comprovar que o endpoint responde — filtre-o antes de o escrever numa tabela de que depende.
10Quantos endpoints posso ter, e está incluído?+
Adicione tantos quantos precisar e associe cada um a monitores diferentes — um webhook comporta-se como qualquer outro contato. É um dos canais de alertas incorporados, incluído em todos os planos e no período de teste de 30 dias, e funciona a par dos outros: uma falha pode avisar uma pessoa e atualizar um sistema no mesmo segundo.

Um URL, cada incidente confirmado

Registre um endpoint, associe-o aos monitores que importam, e cada falha confirmada chega como um objeto que os seus sistemas podem arquivar e usar para agir.

Sem SDK Onze campos Teste gratuito de 30 dias Não é necessário cartão de crédito
Os webhooks personalizados são um canal de alertas incorporado — todos os tipos de verificação que a Uptimia executa publicam a mesma estrutura.