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

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.

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.gpgCrie um novo arquivo de repositório para o Docker em “/etc/apt/sources.list.d/”
sudonano/etc/apt/sources.list.d/docker.listCole 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 stableAtualize e faça upgrade do repositório de pacotes para o seu sistema Ubuntu:
sudo apt update &&sudo apt upgradeInstale 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 gitCertifique-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 ramcesObtendo 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-kumaUma vez dentro, crie um novo “docker-compose.yml” usando seu editor de texto favorito:
nano ./docker-compose.ymlCole 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: nullConstrua os contêineres Docker para sua nova instância do Uptime Kuma:
sudodocker compose up -dCriando 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/uptimekumaEscreva 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-enabledReinicie o daemon do servidor Nginx para aplicar suas novas configurações:
sudo systemctl restart nginxInstalando o Certificado SSL
Para começar, você precisa garantir que seu sistema tenha o pacote core snap em funcionamento:
sudo snap install coreInstale 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 --classicTeste 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.topConfigurando 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.

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.

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

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.

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.

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.

Clique na opção “Configurações” no menu suspenso da página.
Selecione a categoria “Notificações” na nova subjanela da página.

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”.

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

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.

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

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”.

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.

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.