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
- No Telegram, abra uma conversa com @BotFather, envie
/newbot, escolha um nome e um usuário terminado embot. Ele devolve um token no formato123456789:AA.... Guarde-o como senha. - Crie um grupo (ex.: "Alertas Servidores"), adicione o bot e as pessoas da equipe, e mande uma mensagem qualquer no grupo.
- Descubra o chat ID do grupo:
Procurecurl -s "https://api.telegram.org/bot<TOKEN>/getUpdates""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/setprivacyou mencione o bot). - 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
- Em Notification Targets → Add → SMTP, preencha servidor, porta 587, modo STARTTLS, usuário e senha, remetente e destinatários.
- 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
- 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.
- Method:
- 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_modeMarkdown/HTML e a mensagem tem caracteres especiais. Remova oparse_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 smtpe, no destino sendmail, o log do Postfix comjournalctl -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.
