Como Configurar Uma Ferramenta de Monitoramento de Uptime no Linux com Uptime Kuma

Uma fotografia de uma mesa cheia de computadores.

Uptime Kuma é uma ferramenta de monitoramento de uptime simples, mas poderosa. Ela permite que você acompanhe cada serviço que você está hospedando, seja em uma rede local ou na internet.

Este artigo mostrará como instalar e implantar o Uptime Kuma em uma rede local usando Ubuntu e Docker. Também mostraremos como personalizar a instância do Uptime Kuma para enviar notificações de status para o Telegram.

Índice

  • Por que usar o Uptime Kuma?
  • Instalando o Uptime Kuma
  • Criando um Proxy Reverso para o Uptime Kuma usando Nginx
  • Configurando o Uptime Kuma e Adicionando Monitores
  • Configurando Notificações Externas para o Uptime Kuma

Por que usar o Uptime Kuma?

O Uptime Kuma pode rastrear e pingar servidores web, bem como verificar a saúde de seus contêineres Docker. Isso torna o Uptime Kuma o portal web ideal para todos os seus serviços de rede.

Uma das maiores vantagens do Uptime Kuma é que ele vem com um sistema de notificações robusto por padrão. Isso significa que você pode configurar seu monitor de uptime para enviar automaticamente uma mensagem através de uma variedade de canais sempre que encontrar uma anomalia.

Uma captura de tela mostrando uma instância do Uptime Kuma em funcionamento.

Instalando o Uptime Kuma

Obtendo Docker e Docker Compose

Primeiro, obtenha a chave de assinatura GPG para os repositórios do Docker e Docker Compose:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg |sudo gpg --dearmor-o/etc/apt/keyrings/docker.gpg  
sudochmod a+r /etc/apt/keyrings/docker.gpg

Crie um novo arquivo de repositório para o Docker em “/etc/apt/sources.list.d/”

sudonano/etc/apt/sources.list.d/docker.list

Cole a seguinte linha de código dentro do seu novo arquivo de repositório:

deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable

Atualize e faça upgrade do repositório de pacotes para o seu sistema Ubuntu:

sudo apt update &&sudo apt upgrade

Instale o pacote Docker e Docker Compose junto com suas dependências:

sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin nginx git

Certifique-se de que o usuário que está atualmente em execução tenha os direitos adequados para executar o Docker e o Docker Compose:

sudo usermod -aGdocker ramces

Obtendo e Construindo o Uptime Kuma

Crie um novo diretório para o seu contêiner Docker do Uptime Kuma. Isso conterá o arquivo de receita para sua instância:

mkdir uptime-kuma &&cd ./uptime-kuma

Uma vez dentro, crie um novo “docker-compose.yml” usando seu editor de texto favorito:

nano ./docker-compose.yml

Cole o seguinte bloco de código dentro do seu novo arquivo Compose:

---  
version: "3.8"  
services:  
  uptime-kuma:  
    image: louislam/uptime-kuma:1  
    container_name: uptime-kuma  
    volumes:  
      - uptime-kuma:/app/data  
    ports:  
      - 3001:3001  
    restart: always  
volumes:  
  uptime-kuma: null

Construa os contêineres Docker para sua nova instância do Uptime Kuma:

sudodocker compose up -d

Criando um Proxy Reverso para o Uptime Kuma usando Nginx

Vamos criar um proxy reverso no Nginx para que você possa acessar o Uptime Kuma em uma URL publicamente acessível.

Crie um novo arquivo de configuração de site do Nginx usando seu editor de texto favorito:

sudonano/etc/nginx/sites-available/uptimekuma

Escreva o seguinte bloco de código dentro do seu novo arquivo de configuração de site:

server {  
        server_name uptime.myvpsserver.top;  
        location /{  
                proxy_pass http://127.0.0.1:3001;  
                proxy_http_version 1.1;  
                proxy_set_header Upgrade $http_upgrade;  
                proxy_set_header Connection "upgrade";  
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  
                proxy_set_header Host $host;  
}  
}

Vincule seu arquivo de configuração de site da pasta “sites-available” do Nginx para seu diretório “sites-enabled”:

sudoln-s/etc/nginx/sites-available/uptimekuma /etc/nginx/sites-enabled

Reinicie o daemon do servidor Nginx para aplicar suas novas configurações:

sudo systemctl restart nginx

Instalando o Certificado SSL

Para começar, você precisa garantir que seu sistema tenha o pacote core snap em funcionamento:

sudo snap install core

Instale o snap para o certbot da Electronic Frontier Foundation. Esta é uma pequena ferramenta que pode solicitar e manter automaticamente o certificado SSL do seu proxy reverso:

sudo snap install certbot --classic

Teste se o certbot está funcionando corretamente registrando sua nova instalação do certbot na EFF:

sudo certbot register --agree-tos-m [email protected]

Solicite um novo certificado SSL para seu novo proxy reverso:

sudo certbot --nginx-d uptime.myvpsserver.top

Configurando o Uptime Kuma e Adicionando Monitores

Verifique se sua instalação do Uptime Kuma está funcionando corretamente em seu proxy reverso navegando até seu endereço em um navegador web.

Uma captura de tela mostrando a página inicial padrão do Uptime Kuma.

Preencha o formulário com os detalhes que você deseja para sua nova conta de administrador e clique em “Criar” para continuar para sua instância.

Uma captura de tela mostrando os detalhes do administrador para a nova instância.

Clique no botão “Adicionar Novo Monitor” no canto superior esquerdo da página.

Uma captura de tela destacando o botão

Isso abrirá uma nova subjanela na página atual onde você pode especificar o tipo de serviço que deseja monitorar. Por exemplo, mudar o valor “Tipo de Monitor” de “HTTP(S)” para “Porta TCP” criará um monitor que verificará se uma determinada porta na máquina está atualmente aberta.

Uma captura de tela mostrando os diferentes tipos de monitor disponíveis.

Preencha os detalhes da máquina que você deseja monitorar.

Role até o final da página e clique em “Salvar” para iniciar seu novo monitor.

Uma captura de tela mostrando os detalhes completos de um monitor simples de verificação de porta.

Configurando Notificações Externas para o Uptime Kuma

Vá para a página principal da sua instância do Uptime Kuma e clique no ícone do usuário no canto superior direito da página.

Uma captura de tela destacando o ícone do usuário no canto superior direito da tela.

Clique na opção “Configurações” no menu suspenso da página.

Selecione a categoria “Notificações” na nova subjanela da página.

Uma captura de tela destacando a categoria Notificações.

Criando um Serviço de Notificações do Telegram

Clique no botão “Configurar Notificação”. Por padrão, isso abrirá uma pequena janela onde você pode vincular e criar um bot de notificação usando sua conta do Telegram.

Forneça um nome para seu novo alerta de notificação e clique no link BotFather abaixo da caixa de texto “Token do Bot”.

Uma captura de tela destacando o link do Telegram BotFather.

Clique no botão “Enviar Mensagem” na página do BotFather no Telegram.

Uma captura de tela mostrando o prompt inicial para o BotFather.

Nota: O botão “Enviar Mensagem” é um link específico do Telegram que funcionará apenas se o Telegram estiver em execução em sua máquina. Aprenda como instalar o Telegram em sua máquina Linux.

Isso abrirá uma nova janela de chat onde você pode usar o BotFather para criar seu bot de notificação. Escreva “/newbot” no prompt e pressione Enter.

Forneça um nome para o bot que você está vinculando à sua instância do Uptime Kuma.

Escreva um nome de usuário apropriado para seu novo bot de notificação. Note que para isso, o BotFather não aceitará nenhum caractere especial, exceto o sublinhado (_).

Clique no texto que o BotFather destacou para copiá-lo para sua área de transferência.

Uma captura de tela destacando o token único para seu novo bot de notificação.

Teste se seu novo bot está funcionando corretamente procurando seu nome de usuário e iniciando uma conversa com ele.

Uma captura de tela mostrando o histórico inicial de conversas com o novo bot.

Volte para sua instância do Uptime Kuma e cole o token privado do bot dentro da caixa de texto “Token do Bot”.

Clique no botão “Obter Automaticamente” abaixo da caixa de texto “ID do Chat”.

Uma captura de tela destacando o botão Obter Automaticamente.

Role até o final da janela do Uptime Kuma e clique em “Testar” para verificar se o Uptime Kuma pode se comunicar com seu novo bot.

Uma captura de tela mostrando um bot do Telegram do Uptime Kuma funcionando.

Clique em “Salvar” para confirmar suas alterações no Uptime Kuma.

Hospedar um simples daemon de status de serviço sobre Docker é apenas a ponta do iceberg quando se trata de implantar serviços web em contêineres. Aprenda como você pode hospedar seu próprio escritório em nuvem com ownCloud, bem como executar seu próprio Pastebin com Stikked.

Crédito da imagem: Boitulmelo via Unsplash (Fundo) Github (Logo). Todas as alterações e capturas de tela por Ramces Red.