Uptime Kuma

Embora exista uma abundância de soluções de monitoramento de disponibilidade de serviço existentes, pode ser difícil encontrar uma que atenda às suas necessidades básicas e funcione simplesmente sem personalizações complexas. Usando diferentes abordagens para disponibilidade contínua, recomendamos uma solução simples adequada para todos os proprietários de instâncias On-premise, seja implantada localmente dentro das organizações ou em serviços de nuvem.

A solução elegante que recomendamos atende às seguintes necessidades:

  • Implantada localmente no servidor (portanto adequada para infraestruturas classificadas)

  • Fácil de instalar

  • Possui uma interface amigável e não está sobrecarregada de opções

  • Capaz de monitorar uma variedade de métricas (não apenas fazer ping em um endereço)

  • Suporta uma variedade de opções de notificação (email, SMS, mensageiros e mais)

A solução se chama Uptime Kuma e está disponível no GitHub do autor:

https://github.com/louislam/uptime-kuma

Esta solução é projetada para monitoramento externo da disponibilidade de serviços, o que geralmente é suficiente. Não é adequada para monitorar quaisquer métricas internas, como status de serviços do sistema, carga de CPU, consumo de memória, etc.

Instalação

A instalação é descrita em detalhes na página do produto no GitHub, então não nos concentraremos em seus detalhes. Vale notar que o mais simples é implantar o contêiner docker, o que é feito literalmente em um comando.

Como instalar o Docker?

Existem muitas instruções sobre como instalar o Docker em diferentes plataformas. A maneira mais simples é usar um Linux atualizado e realizar a instalação usando estes comandos:

curl -fsSL https://get.docker.com -o install-docker.sh
sh ./install-docker.sh

Se você estiver usando uma plataforma diferente (Mac, Windows) ou desejar instalar o Docker Desktop, consulte a seção apropriada na documentação do Docker:

https://docs.docker.com/manuals/

Também existe um método alternativo de instalação sem usar Docker, que também é relativamente fácil e disponível para Linux e Windows. A escolha do método de instalação fica a seu critério.

É importante garantir que você tenha uma porta dedicada disponível em seu servidor para o Uptime Kuma - a padrão é 3001.

Após realizar a instalação, a interface web do Uptime Kuma estará acessível pelo endereço do servidor (domínio ou endereço IP) e porta e imediatamente pronta para uso. Será necessário definir as credenciais do administrador e prosseguir para a configuração das métricas.

Métricas

As métricas mais importantes do ponto de vista de negócio são a disponibilidade do site, o acesso dos clientes aos dados e o registro de novos dados provenientes dos dispositivos de rastreamento. É isso que iremos monitorar.

Para cada métrica, você pode especificar um intervalo de heartbeat para ajustar com que frequência as verificações serão executadas (o padrão é 60 segundos), ajustar o número de tentativas (antes de considerar o servidor fora do ar) e definir outros parâmetros.

Disponibilidade do site

Para começar, crie o primeiro monitor que acompanhará a disponibilidade do domínio com base em requisições HTTPS. Selecione o tipo de monitor HTTP(s), dê-lhe um nome e especifique a URL do seu site. Isso verificará a disponibilidade do site com base nos códigos de status HTTP. Os códigos são 200-299, então se qualquer outro código for recebido (por exemplo 404 Not found ou 504 Gateway timeout) será considerado uma falha e o monitor reportará que o serviço está indisponível.

A seção “Advanced” oferece opções estendidas de configuração de monitoramento e, em particular, notificação de expiração de certificado. Marque esta opção para ser notificado quando o certificado do seu site expirar para que possa reemití‑lo prontamente.

Salve as configurações do monitor, e ele começará automaticamente a acompanhar a disponibilidade do site.

Disponibilidade da API

A API é um serviço central necessário para que o site interaja com o backend da plataforma; além disso, muitos clientes a utilizam para recuperar dados diretamente da plataforma. Portanto, o funcionamento estável da API também é de importância primária. E o monitoramento do funcionamento desse serviço pode ser feito com uma simples requisição à API.

A requisição se parece com isto:

E a resposta de um serviço em funcionamento normal seria o seguinte JSON:

Você pode configurar o monitor para trabalhar com essa resposta. Para isso, crie outro monitor com o tipo HTTP(s), especifique a requisição da API na URL e então personalize as opções HTTP:

  • Method: GET

  • Body encoding: JSON

  • Body: {"success": true}

Salve as configurações do monitor, e ele começará automaticamente a verificar a disponibilidade da API enviando a requisição especificada e analisando as respostas.

Disponibilidade TCP

Receber dados dos dispositivos é crítico para a plataforma de rastreamento. Portanto, é importante manter o acesso aos dispositivos e monitorar a atividade do servidor TCP. Como o serviço de monitoramento é externo à plataforma, você pode simplesmente monitorar a disponibilidade externa de qualquer uma das portas nas quais os dispositivos de rastreamento se conectam. Por exemplo, pode ser a porta 47770 para o aplicativo móvel X-GPS tracker, 47776 para Teltonika ou qualquer outra porta para os dispositivos que você utiliza.

Configure o monitor: selecione o tipo de monitor “TCP Port”, especifique seu domínio básico e a porta de sua escolha.

Salve as configurações do monitor, e ele começará a verificar a disponibilidade da porta.

Notificações

Para cada métrica, você tem a opção de configurar notificações para que o Uptime Kuma avise quando ocorrerem eventos de indisponibilidade. Desta forma, você pode ter não apenas gráficos de disponibilidade do serviço, mas também receber notificações urgentes se um dos serviços ficar indisponível.

Você pode configurar vários tipos de notificações, mas é importante notar que o Uptime Kuma não é, por si só, um gateway de notificações. Para configurar qualquer tipo de notificação, você precisa das credenciais de um gateway externo apropriado (por exemplo, SMTP, Twilio, Discord, etc.).

Após especificar as configurações do gateway de notificações, você será avisado sobre problemas de serviço através do canal de sua preferência.

Atualizado

Isto foi útil?