uptime-watchdog é uma ferramenta de monitoramento minimalista e rápida que verifica a disponibilidade de URLs especificados e envia notificações caso um serviço pare de responder. A ferramenta é escrita em Go, consome quase nenhum recurso e pode funcionar até mesmo em servidores fracos ou em contêineres.
É ideal para DevOps, desenvolvedores, donos de pet projects e qualquer pessoa que precise de um monitoramento self-hosted simples, sem sistemas pesados.
Por que escolher a gente:
- Suporte 24/7 — especialistas sempre disponíveis
- 99,9% SLA — estabilidade e confiabilidade garantidas
- 8 data centers pelo mundo — conecte-se ao mais próximo e rápido para você
Trabalhe com conforto, segurança e sem limitações — na nuvem da Serverspace.
Para que serve o uptime-watchdog
A ferramenta resolve várias tarefas:
1. Monitoramento de uptime de serviços
Você pode adicionar qualquer URL — APIs, sites, endpoints de healthcheck, microsserviços. O Watchdog verificará regularmente e registrará o status.
2. Notificações rápidas sobre falhas
Se o aplicativo parar de responder ou retornar um erro, você receberá uma notificação (Slack, Telegram ou outro webhook), permitindo reagir rapidamente.
3. Alternativa leve ao Prometheus + Alertmanager
Se você não precisa de um stack pesado de monitoramento, o uptime-watchdog é a opção ideal. Pode ser executado no Docker ou como binário standalone.
4. Verificação de disponibilidade externa
A ferramenta verifica o serviço do mesmo modo que um usuário externo faria — tornando o monitoramento mais preciso.
Instalação
1. Via Go
2. Via binário
Baixe o release no GitHub Releases, torne-o executável e rode:
3. Via Docker
Configuração
A configuração principal é feita no arquivo config.yaml.
Exemplo de configuração:
endpoints:
name: "Frontend"
url: "https://myapp.com
"
timeout: 5s
name: "API"
url: "https://api.myapp.com/health
"
timeout: 3s
notify:
telegram:
token: "YOUR_TELEGRAM_BOT_TOKEN"
chat_id: "123456789"
Explicação:
- interval — frequência das verificações.
- endpoints — lista de serviços a serem monitorados.
- timeout — tempo máximo de espera pela resposta.
- notify — para onde enviar notificações de falhas.
Execução
Os logs aparecerão no stdout — você pode enviá-los para o journald ou capturá-los via Docker.
Como usar na prática
- Monitoramento de serviços em produção Adicione healthchecks de microsserviços e receba notificações caso algum caia ou apresente lentidão.
- Pet projects e ambientes de teste Se você hospeda serviços pequenos em uma VPS, o watchdog ajuda a detectar indisponibilidades causadas pelo provedor.
- Monitoramento de APIs externas Monitore serviços externos dos quais seu app depende — como gateways de pagamento.
- Verificação pós-deploy Execute o watchdog durante um deploy para garantir que todos os healthchecks passam após a atualização.
Boas práticas
- Use um intervalo curto — 30–60 segundos é suficiente na maioria dos casos.
- O endpoint de healthcheck deve ser rápido e simples.
- Execute o watchdog em outro data center para obter uma visão real da disponibilidade.
- Armazene o arquivo de configuração no Git e atualize via CI/CD.
Conclusão
uptime-watchdog é uma ferramenta simples, rápida e prática para monitorar a disponibilidade de serviços. Ideal para quem precisa de verificações confiáveis de uptime sem configurar sistemas complexos. É fácil de implantar, simples de configurar e quase não gera carga na infraestrutura.
FAQ
- Posso usar o watchdog sem Docker?
Sim, é um binário Go padrão — funciona em qualquer sistema. - Onde os dados são armazenados?
A ferramenta não salva histórico. Ela é focada em monitoramento em tempo real e notificações. - O watchdog permite log em arquivo?
Por padrão, os logs vão para stdout. Você pode redirecioná-los para um arquivo via systemd ou Docker. - Como configurar múltiplos canais de notificação?
No config.yaml você pode definir Telegram, Slack e webhook ao mesmo tempo. - Posso adicionar autenticação básica?
Sim, você pode usar login:password@host na URL — comportamento padrão do cliente HTTP.