Ferramentas de monitorização open source: uptime, páginas de estado, métricas e erros

Página de estado com barras de uptime por serviço, um gráfico de tempos de resposta e mosaicos de aplicações de monitorização

Em resumo

  • A monitorização open source abrange quatro tarefas: verificações de uptime (SolidPing), páginas de estado (Kener), métricas de servidores (Beszel, Komari) e rastreio de erros (GlitchTip, Rustrak).
  • As seis usam licenças aprovadas pela OSI: MIT no Kener, Beszel, Komari e GlitchTip, AGPL-3.0 no SolidPing e GPL-3.0 no Rustrak.
  • O GlitchTip e o Rustrak aceitam eventos dos SDKs de cliente do Sentry, por isso mudar significa apontar o DSN para a sua própria instância.
  • A Nodion também tem verificações de uptime integradas para qualquer URL ou aplicação, com intervalos a partir de 30 segundos e alertas por e-mail, Slack, Discord e outros canais.

A monitorização abrange quatro tarefas diferentes: verificar se o seu site responde, informar os utilizadores sobre o que se passa através de uma página de estado, acompanhar os servidores subjacentes e detetar os erros gerados pelo seu código. Existem ferramentas open source para cada uma destas tarefas, e é possível fazer deploy das seis abaixo com um clique, como instância própria, a partir do catálogo da Nodion.

Há uma regra que se aplica a todas: execute a ferramenta de monitorização num sítio diferente daquele que ela vigia, por exemplo noutra região. Caso contrário, uma única falha deixa indisponíveis tanto a aplicação como a ferramenta que a devia reportar.

Visão geral

FerramentaTarefaLicençaRequer
SolidPingVerificações de uptime, páginas de estado, on-callAGPL-3.0PostgreSQL, armazenamento de objetos
KenerPáginas de estado e incidentesMITPostgreSQL, Valkey
BeszelMétricas de servidores e contentoresMITVolume
KomariMétricas leves de servidoresMITVolume (SQLite)
GlitchTipRastreio de erros, mais verificações de uptime simplesMITPostgreSQL, volume, zona de e-mail
RustrakRastreio de erros num único processo leveGPL-3.0PostgreSQL, volume

Como escolhemos

  • Faz bem uma das quatro tarefas: verificações de uptime, páginas de estado, métricas de servidores ou rastreio de erros.
  • Corre como instância própria a partir de uma imagem de contentor.
  • Licença open source aprovada pela OSI, confirmada no ficheiro LICENSE de cada projeto.
  • Requisitos reduzidos: os presets precisam no máximo de 1 GB de memória.

1. SolidPing: verificações de uptime

O SolidPing é um monitor de uptime completo num único binário Go. As suas verificações vão muito além do HTTP: TCP, UDP, ICMP, DNS, certificados SSL e domínios, servidores de correio, gRPC, bases de dados, filas de mensagens e muito mais. As verificações podem correr a partir de workers em várias regiões, e agentes privados verificam alvos dentro da sua própria rede através de um WebSocket de saída (ver o README). A isto juntam-se páginas de estado, incidentes que enviam um alerta por falha em vez de um por verificação, janelas de manutenção, escalas de on-call com escalada de alertas e notificações para Slack, Discord, e-mail, webhooks, PagerDuty, ntfy e outros.

Licença: AGPL-3.0. Ficheiro de licença, site do projeto.

Na Nodion: um processo web com PostgreSQL e um bucket de armazenamento de objetos. Inicie sessão com admin@solidping.io e solidpass; o SolidPing obriga a definir uma nova palavra-passe no primeiro início de sessão. Faça-o logo após o primeiro deploy, antes de partilhar o URL: estas credenciais por omissão são públicas, por isso quem iniciar sessão primeiro assume o controlo da instância.

Fazer deploy do SolidPing

2. Kener: páginas de estado

O Kener concentra-se na página que os seus utilizadores veem. Cria páginas de estado com a sua marca, com o seu logótipo, cores e CSS, modo claro e escuro, e widgets e badges de estado que pode incorporar noutros sítios. Os incidentes têm uma cronologia com atualizações, e as janelas de manutenção são anunciadas com antecedência. O Kener também executa as suas próprias verificações (API, ping, TCP, DNS, SSL, SQL e heartbeat), envia notificações por e-mail, webhook, Slack ou Discord, e uma única instância pode servir várias páginas de estado.

Licença: MIT. Ficheiro de licença, site do projeto.

Na Nodion: um processo web com PostgreSQL e Valkey, com o URL da aplicação já definido como origem do Kener. Ao abrir pela primeira vez, o Kener mostra um formulário de configuração para o nome, o e-mail e a palavra-passe do proprietário.

Fazer deploy do Kener

3. Beszel: métricas de servidores

O Beszel vigia máquinas em vez de URLs. Um pequeno agente em cada servidor envia para o hub a CPU, a memória, a utilização e o I/O do disco, a rede, as temperaturas, a utilização da GPU e as estatísticas dos contentores Docker ou Podman; o hub guarda o histórico e envia alertas. Suporta vários utilizadores, início de sessão com OAuth e OIDC e backups automáticos para disco ou para armazenamento compatível com S3.

Licença: MIT. Ficheiro de licença, site do projeto.

Na Nodion: o preset executa o hub como um processo web com um volume de 10 GB. Os agentes não fazem parte do deploy: instale-os nas máquinas que quer vigiar, e eles podem ligar-se ao hub através de um WebSocket de saída. Na primeira visita, é-lhe pedido que crie a conta de administrador.

Fazer deploy do Beszel

4. Komari: métricas leves de servidores

O Komari é um monitor de servidores ainda mais pequeno. Os agentes reportam CPU, memória, disco, rede e uptime, e o dashboard mostra dados em direto em intervalos de um segundo, além de gráficos com o histórico. É possível personalizar o aspeto com temas e plugins. A área de administração inclui também um terminal web para os servidores ligados, por isso proteja o acesso de administrador como protegeria uma palavra-passe de root.

Licença: MIT. Ficheiro de licença, site do projeto.

Na Nodion: um processo web com SQLite num volume de 10 GB. Inicie sessão como admin com a palavra-passe gerada em ADMIN_PASSWORD, que está no separador Environment. Os agentes ligam-se por HTTPS ao URL da aplicação, por isso não é preciso nenhuma porta de entrada adicional.

Fazer deploy do Komari

5. GlitchTip: rastreio de erros

O GlitchTip é uma ferramenta de rastreio de erros que funciona com os SDK cliente do Sentry: aponte o DSN do SDK que já utiliza para a sua instância, e as exceções, as mensagens de log e as violações da Content Security Policy chegam a um só sítio. Também lista os seus pedidos e chamadas à base de dados mais lentos, e tem monitorização de uptime simples: faz ping ao seu site, ou espera por um heartbeat de uma tarefa agendada, e envia alertas por e-mail ou webhook.

Licença: MIT. Ficheiro de licença, site do projeto.

Na Nodion: um processo web com PostgreSQL, um volume de 10 GB para ficheiros carregados e uma zona de e-mail para o correio de saída. Ao abrir pela primeira vez, regista o primeiro utilizador.

Fazer deploy do GlitchTip

6. Rustrak: rastreio de erros

O Rustrak também fala o protocolo do Sentry, por isso um SDK do Sentry já existente só precisa de um novo DSN. Corre como um único processo pequeno e aceita eventos escrevendo-os primeiro em disco, para que os picos de tráfego não fiquem dependentes da resposta da base de dados. Além de erros, recebe logs, transações, release health e traces de agentes de IA.

Licença: GPL-3.0. Ficheiro de licença, site do projeto.

Na Nodion: um processo web com PostgreSQL e um volume de 10 GB. Inicie sessão com o e-mail admin e a palavra-passe que está a seguir aos dois pontos em CREATE_SUPERUSER, no separador Environment.

Fazer deploy do Rustrak

Monitorização integrada na Nodion

Se as suas aplicações correm na Nodion, a verificação de uptime básica já está incluída. O Monitoring no dashboard (onde as verificações se chamam observers) vigia qualquer URL http(s) ou uma das suas aplicações e o respetivo domínio, em intervalos de 30 segundos a 30 minutos, com GET ou HEAD. Define o código de estado esperado, e qualquer outro conta como falha. Os alertas seguem por e-mail, Slack, Discord, Google Chat, Telegram, Pushover, ntfy ou qualquer webhook, e cada verificação fica guardada com o tempo de resposta e a região. Se for a sonda da Nodion a falhar e não o seu site, a verificação é assinalada e não conta como indisponibilidade. A configuração está explicada na documentação de monitorização.

Para uma página de estado pública, métricas de servidores ou rastreio de erros, acrescente uma das ferramentas acima.

Também vale a pena ver

  • Tianji (Apache 2.0) junta análise de sites, verificações de uptime e páginas de estado numa só aplicação, e também está no catálogo de aplicações com um clique.
  • Uptime Kuma (MIT) é um monitor de uptime simples com verificações HTTP, TCP, ping e DNS, muitos serviços de notificação e várias páginas de estado.

Como escolher

  • Quer muitos tipos de verificação, páginas de estado e on-call numa só ferramenta: SolidPing.
  • Precisa sobretudo de uma página de estado pública cuidada, com incidentes: Kener.
  • Quer métricas de CPU, memória, disco e contentores dos seus servidores: Beszel, ou Komari para uma configuração ainda mais leve.
  • Quer apanhar os erros do seu código com os SDK do Sentry: GlitchTip, ou Rustrak para um único processo leve.
  • As suas aplicações já correm na Nodion e precisa de alertas de uptime: o Monitoring integrado.

Cada ferramenta corre na Nodion como instância própria na região que escolher: EU Central (Frankfurt), US East ou US West. Veja todas as aplicações no catálogo de aplicações com um clique.

Perguntas frequentes

Qual é a melhor ferramenta open source de monitorização de uptime?

O SolidPing, se quiser muitos tipos de verificação, verificações a partir de várias regiões, páginas de estado e on-call numa só ferramenta. O Uptime Kuma (MIT) é uma opção mais simples, com verificações HTTP, TCP, ping e DNS e páginas de estado.

Qual é uma boa página de estado open source?

O Kener (MIT) cria páginas de estado públicas com a sua marca, com incidentes, janelas de manutenção e badges incorporáveis, e executa as suas próprias verificações. O SolidPing também inclui páginas de estado.

Existe uma alternativa open source ao Sentry?

Sim. O GlitchTip (MIT) e o Rustrak (GPL-3.0) aceitam eventos dos SDKs de cliente do Sentry, por isso pode mudar apontando o DSN para a sua própria instância.

A Nodion tem monitorização de uptime?

Sim. O Monitoring no dashboard verifica qualquer URL http(s) ou uma das suas aplicações em intervalos de 30 segundos a 30 minutos e envia alertas por e-mail, Slack, Discord, Google Chat, Telegram, Pushover, ntfy ou webhook.

Dê uma cloud ao seu agente.

Ganhe até 15 € de crédito ao registar-se.

Continuar com o GitHub

ou com e-mail

Fique a par das novidades.

Novidades do produto, sem spam. Pode cancelar a subscrição a qualquer momento.