1

Como monitorar seu site 24h com Uptime Kuma numa VPS e ser avisado quando cair

Quem descobre primeiro que o site caiu?

Se a resposta é "o cliente", falta monitoramento. Um site fora do ar por uma hora numa sexta à noite pode custar vendas, leads e confiança, e quase sempre alguém só percebe na segunda.

O Uptime Kuma resolve isso: é um monitor gratuito e de código aberto que testa seus sites, APIs e servidores a cada poucos segundos e avisa na hora quando algo para de responder.

Com ele você tem:

  • monitores de site (HTTP/HTTPS), palavra-chave na página, porta TCP, ping e DNS;
  • alertas no Telegram, Discord, e-mail e dezenas de outros canais;
  • aviso de certificado SSL perto de vencer;
  • uma página de status pública para mostrar aos clientes.

Uma dica antes de começar

Não monitore um servidor de dentro dele mesmo. Se a máquina cair, o monitor cai junto e ninguém é avisado. O ideal é o Uptime Kuma rodar numa VPS separada dos sites que ele vigia. Uma VPS pequena dá conta de centenas de monitores.

O que você vai precisar

  • Uma VPS Linux (Ubuntu ou Debian) com 1 GB de RAM ou mais.
  • Acesso root por SSH.
  • Um subdomínio, por exemplo status.suaempresa.com.br.

1. Aponte o subdomínio para a VPS

No DNS do seu domínio, crie um registro A:

TipoNomeValor
AstatusIP da sua VPS

2. Instale o Docker

ssh root@IP_DA_VPS
curl -fsSL https://get.docker.com | sh

3. Crie o projeto

mkdir -p /opt/uptime-kuma && cd /opt/uptime-kuma

Crie o docker-compose.yml:

services:
  uptime-kuma:
    image: louislam/uptime-kuma:1
    restart: unless-stopped
    volumes:
      - kuma_data:/app/data

  caddy:
    image: caddy:2
    restart: unless-stopped
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./Caddyfile:/etc/caddy/Caddyfile
      - caddy_data:/data

volumes:
  kuma_data:
  caddy_data:

E o Caddyfile, que emite e renova o HTTPS sozinho:

status.suaempresa.com.br {
    reverse_proxy uptime-kuma:3001
}

4. Suba tudo

docker compose up -d

Abra https://status.suaempresa.com.br e crie o usuário administrador. Faça isso logo, porque quem abrir a página primeiro cria o admin.

5. Crie o primeiro monitor

  1. Clique em Adicionar novo monitor.
  2. Em Tipo de monitor, escolha HTTP(s).
  3. Dê um nome, cole a URL do site e deixe o Intervalo de Heartbeat em 60 segundos.
  4. Em Novas tentativas, coloque 2. Assim um soluço de rede não vira alarme falso.
  5. Salve.

Para ter certeza de que a página carregou de verdade, e não só respondeu com erro, use o tipo HTTP(s) - Palavra-Chave e informe um texto que sempre aparece no site, como o nome da empresa.

6. Configure o alerta

  1. Vá em Configurações → Notificações → Configurar notificação.
  2. Escolha o canal. No Telegram, por exemplo, você cria um bot com o @BotFather, cola o token e o ID do chat.
  3. Clique em Testar. A mensagem de teste tem que chegar.
  4. Marque Padrão habilitado e Aplicar em todos os monitores existentes.

A partir daí, todo monitor que cair manda alerta, e manda outro quando voltar.

7. Página de status para clientes (opcional)

Em Página de Status → Nova Página De Status, escolha quais monitores aparecem e publique. Fica num endereço como https://status.suaempresa.com.br/status/clientes. Mandar esse link quando alguém perguntar "está fora do ar?" economiza muito atendimento.

Manutenção

  • Atualizar: docker compose pull && docker compose up -d. Os dados ficam no volume kuma_data.
  • Backup: os monitores e o histórico ficam no volume kuma_data. Copie de tempos em tempos para fora da VPS.
  • Firewall: só as portas 22, 80 e 443 precisam ficar abertas.

Problemas comuns

O navegador mostra erro de certificado. O DNS ainda não apontou para a VPS, ou a porta 80 está fechada. O Caddy precisa dela para validar o domínio.

Recebo alerta de queda, mas o site está no ar. Aumente as Novas tentativas para 2 ou 3 e confira se o site não bloqueia acessos automatizados (alguns firewalls de site bloqueiam robôs).

Ninguém foi avisado quando o servidor caiu. O Uptime Kuma provavelmente estava no mesmo servidor. Mova o monitor para uma VPS separada.


Escrevi esse passo a passo para o blog da NullNinja, uma hospedagem brasileira (VPS com IP fixo e datacenter em São Paulo). Se travar em alguma etapa, comenta aqui que eu ajudo.

Carregando publicação patrocinada...