Receba alertas do servidor no Telegram, e-mail ou WhatsApp: bot do Telegram, notificações do Proxmox VE, scripts, Zabbix e Uptime Kuma.

Para que serve

Monitoramento sem alerta é só um gráfico bonito. Você precisa ser avisado quando um backup falha, um disco começa a dar erro ou um serviço cai. Este artigo mostra como receber alertas do servidor no Telegram, por e-mail e pelo WhatsApp, os canais de aviso mais usados no Brasil, e como ligá-los ao Proxmox VE, a scripts próprios e às ferramentas de monitoramento (Zabbix, Uptime Kuma).

Qual canal usar

  • E-mail: bom para relatórios e histórico (resultado de backup). Ruim para urgência.
  • Telegram: gratuito, API oficial simples, funciona em grupo. É a opção recomendada para alertas imediatos.
  • WhatsApp: o mais lido no Brasil, mas não há API gratuita oficial. Veja os cuidados na seção própria.

Uma boa prática é ter dois canais: Telegram para o que é urgente e e-mail para tudo.

Pré-requisitos

  • Uma conta de e-mail com acesso SMTP autenticado (de preferência um endereço dedicado, como alertas@suaempresa.com.br).
  • Uma conta no Telegram.
  • Proxmox VE 8.1 ou superior para o sistema de notificações descrito (o tipo webhook existe a partir da 8.3).

Parte 1: criar o bot para receber alertas do servidor no Telegram

  1. No Telegram, abra uma conversa com @BotFather, envie /newbot, escolha um nome e um usuário terminado em bot. Ele devolve um token no formato 123456789:AA.... Guarde-o como senha.
  2. Crie um grupo (ex.: "Alertas Servidores"), adicione o bot e as pessoas da equipe, e mande uma mensagem qualquer no grupo.
  3. Descubra o chat ID do grupo:
    curl -s "https://api.telegram.org/bot<TOKEN>/getUpdates"
    Procure "chat":{"id":-100.... IDs de grupo são negativos. Se a lista vier vazia, mande outra mensagem no grupo e repita (em grupos, desative o "privacy mode" do bot no BotFather com /setprivacy ou mencione o bot).
  4. Teste o envio:
    curl -s -X POST "https://api.telegram.org/bot<TOKEN>/sendMessage" \
      -d chat_id="-100XXXXXXXXXX" -d text="Teste de alerta do servidor"

Parte 2: notificações do Proxmox VE

O Proxmox avisa sobre backups (vzdump), falhas de disco detectadas pelo smartd, replicação, atualizações disponíveis e eventos de cluster/HA. Tudo isso é configurado em Datacenter → Notifications, que tem destinos (targets) e regras (matchers).

E-mail via SMTP

  1. Em Notification Targets → Add → SMTP, preencha servidor, porta 587, modo STARTTLS, usuário e senha, remetente e destinatários.
  2. Clique em Test. A mensagem deve chegar em segundos.

Usar um servidor SMTP autenticado (do seu provedor de e-mail) evita que as mensagens caiam no spam, o que é comum quando o próprio servidor envia direto com o Postfix padrão. O destino sendmail padrão tem a vantagem de reenviar se falhar; o SMTP direto, não.

Telegram via webhook

  1. Em Notification Targets → Add → Webhook:
    • Method: POST
    • URL: https://api.telegram.org/bot{{ secrets.token }}/sendMessage
    • Header: Content-Type = application/json
    • Body:
      {"chat_id": "{{ secrets.chat }}", "text": "{{ escape title }}\n\n{{ escape message }}"}
    • Secrets: token = token do bot; chat = chat ID do grupo.
  2. Clique em Test.

Guardar token e chat ID como secrets evita que apareçam em texto aberto na configuração. O helper escape protege o JSON contra quebras de linha e aspas da mensagem.

Regras (matchers)

Em Notification Matchers, edite o default-matcher ou crie novos. Exemplo: um matcher com severidade warning e error enviando para o Telegram, e outro sem filtro enviando tudo para o e-mail. Nas tarefas de backup (Datacenter → Backup → Edit), confirme que o modo de notificação está usando o sistema de notificações e não apenas um e-mail fixo.

Parte 3: alertas a partir de scripts

Para usar em cron, no smartd ou em scripts de backup próprios, crie /usr/local/bin/alerta-telegram:

#!/bin/sh
# uso: alerta-telegram "texto da mensagem"
TOKEN="SEU_TOKEN"
CHAT="-100XXXXXXXXXX"
MSG="[$(hostname)] ${1:-$SMARTD_MESSAGE}"
curl -s -m 10 -X POST "https://api.telegram.org/bot${TOKEN}/sendMessage" \
  --data-urlencode chat_id="$CHAT" --data-urlencode text="$MSG" >/dev/null
chmod 700 /usr/local/bin/alerta-telegram
alerta-telegram "teste via script"

Exemplo de uso em backup: meu-backup.sh || alerta-telegram "Backup falhou". O artigo «Como monitorar a saúde do disco e a temperatura do servidor (smartd, NVMe e IPMI)» mostra como ligá-lo ao smartd.

Parte 4: Zabbix e Uptime Kuma

  • Zabbix: em Alerts → Media types, já existe o tipo Telegram. Preencha o token, ative-o, depois em Users → seu usuário → Media informe o chat ID e confirme que a ação Report problems to Zabbix administrators está habilitada.
  • Uptime Kuma: em Settings → Notifications, escolha Telegram, informe token e chat ID e clique em Test.

Parte 5: e o WhatsApp?

Existem dois caminhos, com custos e riscos bem diferentes:

  • API oficial (WhatsApp Business Platform / Cloud API da Meta): estável e permitida, mas exige conta empresarial verificada, número dedicado, mensagens em modelos (templates) aprovados e cobrança por mensagem. Faz sentido para empresas que já usam a plataforma, ou por meio de um provedor parceiro (BSP).
  • Gateways não oficiais (WAHA, Evolution API e similares): rodam em container e conectam um número comum como se fosse o WhatsApp Web. Uptime Kuma e outras ferramentas se integram a eles. São gratuitos ou baratos, porém violam os termos de uso do WhatsApp, e o número pode ser banido sem aviso. Se optar por eles, use um chip exclusivo para alertas, nunca o número da empresa, e mantenha o Telegram ou e-mail como canal principal.

Como saber se funcionou

  • O botão Test de cada destino entrega a mensagem.
  • Faça um teste real: rode um backup manual de uma VM pequena e confirme a notificação; pare um serviço monitorado e veja o alerta de queda e de retorno.

Problemas comuns

  • Telegram responde "chat not found": chat ID errado (faltou o sinal de menos) ou o bot não está no grupo.
  • Erro 400 "can't parse entities": você ativou parse_mode Markdown/HTML e a mensagem tem caracteres especiais. Remova o parse_mode.
  • E-mail não chega: confira porta e modo (587 com STARTTLS ou 465 com TLS), credenciais e a pasta de spam. Veja os erros recentes com journalctl --since "15 min ago" | grep -i -e notif -e smtp e, no destino sendmail, o log do Postfix com journalctl -u postfix@-.
  • Alertas demais: use matchers por severidade e evite mandar eventos informativos para o canal urgente; equipes ignoram canais barulhentos.

Perguntas frequentes

Como descobrir o chat ID de um grupo do Telegram?

Adicione o bot ao grupo, mande uma mensagem e consulte https://api.telegram.org/bot<TOKEN>/getUpdates. O ID do grupo é o número negativo em "chat":{"id":....

Enviar alertas pelo Telegram é gratuito?

Sim. A API de bots do Telegram é oficial e gratuita, por isso é a opção recomendada para alertas imediatos.

Existe API gratuita do WhatsApp para alertas?

Não oficialmente. A Cloud API da Meta é paga por mensagem e exige conta empresarial verificada. Gateways não oficiais são gratuitos, mas violam os termos de uso e o número pode ser banido.

Por que os e-mails de alerta do Proxmox caem no spam?

Geralmente porque o servidor envia direto com o Postfix padrão, sem autenticação. Use um destino SMTP autenticado do seu provedor de e-mail, na porta 587 com STARTTLS.

Para agendar scripts que disparam alertas, veja também o artigo «Como agendar tarefas no Linux com cron e com systemd timers».

Leitura complementar

Precisa de ajuda? Abra um ticket ou fale com o suporte pelo WhatsApp.

Esta resposta lhe foi útil? 0 Usuários acharam útil (0 Votos)

Leia também