Pular para o conteúdo principal

comparando auto-hospedados

Uptime Kuma vs Gatus: cliques ou YAML?

Os dois monitores auto-hospedados mais queridos respondem de formas diferentes a uma mesma pergunta: o monitoramento deve ser montado com cliques num painel, ou declarado num arquivo e revisado num pull request? Todo o resto decorre dessa divisão.

A tabela abaixo é a comparação completa, sem edição. Leia primeiro, se preferir: é a mesma que enviaríamos para você.

AGPL-3.0 · um único binário · plano gratuito · sem cartão

~/monitoring

cat gatus.yaml

  1. endpoints:
  2. - name: api
  3. url: "https://api.acme.dev/health"
  4. interval: 60s
  5. conditions:
  6. - "[STATUS] == 200"
  7. - "[RESPONSE_TIME] < 300"
  8. # redeploy the config to apply

SÓ YAMLo gatus não tem interface de edição, então cada mudança é um novo deploy

cat uptimepage.tf

  1. resource "uptimepage_target" "api" {
  2. name = "api"
  3. interval = 60
  4. check = {
  5. type = "http"
  6. http = { url = "https://api.acme.dev/health" }
  7. }
  8. }

CONFIGURAÇÃO COMO CÓDIGOo mesmo monitor, declarado, ou montado com cliques na interface

history | tail -1

  1. curl -X POST https://app.uptimepage.dev/api/v1/targets \
  2. -H "Authorization: Bearer $UPTIMEPAGE_TOKEN" \
  3. -d '{"name":"api","interval":60,
  4. "check":{"type":"http",
  5. "http":{"url":"https://api.acme.dev/health"}}}'

201 CREATEDmonitor no ar, e a primeira verificação roda na hora

como o provider do Terraform declara um →

escolha o uptime kuma se

É o seu homelab, você quer a lista de verificações mais ampla e intervalos de um segundo, e um único login compartilhado não é problema.

escolha o gatus se

Toda verificação pertence ao Git, o painel é para você e a sua equipe, e ninguém de fora precisa vê-lo.

escolha o uptimepage se

Os clientes precisam de uma página de status que possam assinar, os colegas de equipe precisam de contas próprias, e você ainda quer a configuração no Git.

Comece grátis →

Os fatos, lado a lado

  Uptime KumaGatusUptimepage
licença MITApache-2.0AGPL-3.0
configuração só pela interfacesó YAML, interface somente leiturainterface + Terraform + REST + MCP
rodar por conta própria um contêiner (Node)binário estático minúsculoum binário + compose
opção hospedada nãogatus.io, pagosim, plano gratuito
tipos de verificação 31, incl. bancos de dados · MQTT · navegador11 protocolos, incl. gRPC · SSH · WebSocketHTTP · TCP · DNS · TLS · domínio · ping · heartbeat · flow · manual
intervalo mais curto 1 ssem mínimo documentado, padrão 60 s60 s grátis · 30 s no Team · 10 s auto-hospedado
página de status sim, domínios próprioso painel serve de páginacom sua marca, domínio próprio no Pro
assinantes da página só RSSnenhume-mail · webhook
incidentes publicados à mãonenhumabertos automaticamente pelas verificações
equipes e papéis um único loginuma barreira basic-auth ou OIDCorganizações + papéis
canais de alerta 94 serviços41 provedoresSlack · Telegram · PagerDuty · SMS e mais
comunidade (estrelas no GitHub) ~89 mil~11,4 miljovem

As contagens do Kuma incluem o meta-provider Apprise e tipos implementados fora do módulo monitor-types; a contagem de provedores do Gatus vem do README dele.

Contagens de estrelas arredondadas a partir do GitHub, julho de 2026.

Verificado em julho de 2026 com os dois repositórios. Atualize quando um projeto lançar uma nova versão.

A divisão que decide

O Uptime Kuma é um painel em que você clica: adicione um monitor, escolha um tipo, ligue uma notificação, tudo guardado no banco de dados dele. O Gatus não tem interface de edição: cada endpoint é YAML sob controle de versão, a interface web é somente leitura, e uma mudança significa um novo deploy da configuração. Nenhum dos dois está errado. Um combina com um homelab e com quem pensa em navegador; o outro combina com um engenheiro que pensa em Git e quer o monitoramento revisado como código.

O que cada um faz bem

O Kuma ganha em alcance: 31 tipos de monitor, incluindo bancos de dados, MQTT, SNMP e uma verificação com navegador de verdade, 94 serviços de notificação, intervalos de um segundo desde a linha 2.x e a maior comunidade da categoria. O Gatus ganha em disciplina: onze protocolos de endpoint, incluindo gRPC, SSH, WebSocket e UDP, uma linguagem de condições que valida status, tempo de resposta, caminhos no corpo JSON, vencimento de certificado e vencimento de domínio, e um binário Go estático minúsculo que roda até sem banco de dados.

O que nenhum dos dois oferece

Uma página de status para clientes, com assinantes, e uma equipe. As páginas de status do Kuma são de verdade, mas ninguém consegue assiná-las, e o app inteiro é um único login compartilhado. O painel do Gatus serve também de página de status: bom para um painel interno, não algo que você mostra a clientes, e o controle de acesso é uma única barreira basic-auth ou OIDC. Os dois verificam de onde quer que você os rode, a menos que você mesmo monte mais instâncias ou use o tipo de monitor Globalping do Kuma.

Onde o Uptimepage se encaixa

Se o debate entre YAML e cliques termina em “na verdade, precisamos que os clientes vejam uma página de status e que os colegas de equipe tenham contas”, essa é a lacuna que o Uptimepage preenche. Verificações HTTP, TCP, DNS, TLS, de domínio, ping, heartbeat e de fluxo, configuradas na interface ou declaradas com o provider do Terraform e a API REST, organizações com papéis, sondas multirregião que você pode rodar por conta própria e uma página de status com a sua marca, com assinantes por e-mail e webhook, onde os incidentes abrem automaticamente. Um binário, grátis na versão hospedada ou auto-hospedado sob AGPL.

  1. 01Entre com GitHub ou Google. Sem cartão, sem ligação de vendas.
  2. 02Cole uma URL. A primeira verificação roda antes de você terminar de ler isto.
  3. 03Publique a página de status, ou exporte-a para o Terraform e mantenha no Git.
acme cloud status.acme.dev assinar

todos os sistemas operacionais verificado há 12 s

api99,98%

p95 142 ms · um incidente em 45 dias

dashboard99,91%

p95 318 ms · dois dias com degradação

webhooks99,99%

p95 88 ms · nenhum incidente

RESOLVIDO14 min

Latência elevada na API do painel

14:22 resolvido, latência de volta abaixo de 300 ms

14:08 aberto automaticamente pela verificação do painel

no ar degradado fora do ar 45 dias · assinantes por e-mail e webhook

Uma página de exemplo. Os monitores, as porcentagens e o incidente são fictícios.

Perguntas frequentes

O Gatus é melhor que o Uptime Kuma?
Só para uma equipe que quer o monitoramento sob controle de versão. O Gatus declara cada endpoint em YAML e valida status, tempo de resposta, caminhos no corpo JSON e vencimento de certificado, o que se revisa como código. O Uptime Kuma cobre muito mais tipos de monitor e serviços de notificação e não precisa de nenhum arquivo de configuração. Nenhum dos dois vence por mérito; eles respondem a perguntas diferentes.
Devo escolher o Uptime Kuma ou o Gatus?
Escolha pelo fluxo de trabalho. Se você quer montar monitores com cliques num painel, o Kuma. Se quer cada verificação declarada em YAML, revisada num pull request e implantada como código, o Gatus. Listas de funcionalidades importam menos que essa divisão.
O Gatus pode substituir uma página de status?
Para um telão interno de operações, sim: o painel dele mostra a saúde dos serviços, badges e avisos. Para clientes, não: não há assinantes, nem linha do tempo de incidentes, nem marca própria além do que você construir em volta dele.
Qual é mais leve de rodar?
O Gatus. É um pequeno binário Go estático que roda até sem banco de dados. O Kuma é um app Node.js num único contêiner, ainda leve, só que não tanto.
E se eu precisar de equipes ou de uma API?
Nenhum dos dois tem suporte real a vários usuários nem uma API de gerenciamento. Essa é a lacuna que ferramentas como o Uptimepage e o OpenStatus preenchem: organizações com papéis, uma API REST e um provider do Terraform por cima das verificações.

Links

Comece em menos de 5 minutos.

Comece grátis

funcionalidades · preços · notas