Saltar para o conteúdo

Monitorização 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 pedido de suporte, reiniciar um serviço, alimentar um painel — 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 é uma mensagem, é um 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 avariou” — o resto tem de descobrir sozinho

Uma mensagem
lida uma vez, depois fechada
lida, depois desaparece
Nada para construir em cima
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 repete-se
O seu código decide
pedido de suporte · bot · linha

Um objeto para cada tipo de verificação: escreva um handler, ramifique em dois campos. É repetido 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 precisar 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 pedido 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 pedido de suporte abre-se sozinhoo monitor_unique_id escolhe o runbook — sem triagem, sem intervenção humana pedido 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 painel.
843 segundos, registados1 handler, todos os tipos de verificação0 chamadas enviadas0 linhas de código para recolher 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 registo — um único URL público.

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

Adicione os seus cabeçalhos de autenticação

Opcional — os cabeçalhos são enviados exatamente como os escreve, para que um token faça a Uptimia passar 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 ligaçã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

Registar 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á a dizer-lhe.

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

Um certificado a expirar, 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 registo 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"Registos 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 para chat, linhas de base de dados, ações automatizadas

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

O canal 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
Registos que sobrevivem ao incidente
A sua fila de pedidos de suporte, 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ó, levantar uma sinalização.
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 o seu teste gratuito de 30 dias
30 dias grátis sem 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 aceite. 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 aceiteSUCESSO 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 um único pedido com um objeto de grupo adicional — membros, contagens, confirmação. Os handlers que o ignoram continuam a funcionar.

aditivo · nunca renomeado

Os seus cabeçalhos, passados sem alterações

Enviados exatamente como escritos, para que um bearer token ou um segredo partilhado 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 ligação de confirmação — de propósito

Os canais que uma pessoa lê trazem uma ligação assinada que interrompe a cadeia. As máquinas recebem os factos e nada mais — um pipeline de registos que consegue silenciar um alerta acabará por o fazer.

Todos os campos, todos os eventosENVIADO A capacidade de o silenciarRETIDA

Como funcionam os webhooks de monitorização

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 registe. 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.

“Todos os pedidos significam que algo está em baixo”

O erro que toda a gente comete no primeiro dia

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

Recuperações, avisos e testes partilham 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
a carregar a página real
testado de novo primeiro
Um pedido
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 alerta
CampoExemploO que contém
id4172O id numérico do monitor dentro da 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 para fazer a 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 o pedido?+
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 partilhado 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 em baixo?+
O pedido dispõe de dez segundos. Qualquer 2xx significa aceite; 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 a receber a nova tentativa. Elimine 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 aceites URLs http e https públicos, e os intervalos loopback, privados e link-local são recusados tanto ao guardar como novamente no momento do envio — um webhook capaz de alcançar serviços internos seria uma ferramenta de falsificação de pedidos disfarçada de funcionalidade de monitorização. Use um túnel enquanto estiver a desenvolver.
06Seguem redirecionamentos?+
Não. O URL que regista é 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 o pedido.
07O que chega quando vários monitores falham ao mesmo tempo?+
Um único pedido para todo o grupo, em vez de um por monitor, com um objeto group adicional junto dos campos habituais: o seu id, a lista de membros, quantos ainda estão em baixo, 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 isso é deliberado. As ligações de confirmação vão apenas para os canais que uma pessoa lê; um consumidor automatizado recebe os factos, nunca a capacidade de silenciar um escalonamento. A única coisa que a Uptimia lê da sua resposta é o código de estado.
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 escrever numa tabela da qual dependa.
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 contacto. É um dos canais de alerta 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, todos os incidentes confirmados

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

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