want wanted live enjoy wait need study - brainly.com.br
como configurar um sistema de notificação por e-mail no ubuntu 2024
ultimamente tenho lido muito sobre notificações push e alertas em tempo real. o problema é que a maioria das pessoas não sabe como fazer isso funcionar de verdade sem depender de serviços pagos ou complicados demais. hoje vou explicar o meu processo que uso há anos.
o básico: want wanted live enjoy wait need study
a primeira coisa que você precisa entender é que configurar um sistema de monitoramento requer paciência. tem gente que quer ver tudo funcionando na hora, mas na prática leva uns vinte minutos para deixar tudo configurado corretamente. eu costumo levar uns trinta minutos porque sou metódico.
para começar, você vai precisar ter acesso root ao servidor ou usar um usuário com permissões sudo. se você estiver no windows, esquece, isso aqui é pra linux mesmo.
instale o packagemailx:
👉 Clique no botão abaixo para saber mais sobre o assunto!
sudo apt-get install mailutils
depois disso, configure o postfix:
sudo dpkg-reconfigure postfix
na hora da configuração, selecione "internet site" e coloque o nome do seu domínio. se não tiver domínio, use algo como user@localhost mesmo.
script de monitoramento simples
criei um script bash simples que verifico todo dia. o script basicamente monitora dois serviços: cpu e disco. quando algum dos dois passa de certos limites, ele envia um e-mail.
o script fica em /usr/local/bin/monitor.sh e o conteúdo é basicamente isso:
#!/bin/bash
load=$(cat /proc/loadavg | awk '{print $1}')
if (( $(echo "$load > 2.0" | bc -l) )); then
echo "Carga alta: $load" | mail -s "Alerta CPU" seuemail@gmail.com
fi
disk=$(df -h / | tail -1 | awk '{print $5}' | sed 's/%//')
if [ "$disk" -gt 90 ]; then
echo "Disco quase cheio" | mail -s "Alerta Disco" seuemail@gmail.com
fi
depois de criar o script, dê permissão de execução:
chmod +x /usr/local/bin/monitor.sh
agendando com cron
agora vem a parte importante. você precisa rodar esse script periodicamente. eu uso cron porque é simples e funciona bem.
abra o editor do cron:
crontab -e
e adicione a seguinte linha:
*/5 * * * * /usr/local/bin/monitor.sh
isso vai rodar a cada cinco minutos. não adianta colocar muito frequente porque vai lotar sua caixa de entrada. cinco minutos é um bom equilíbrio entre resposta rápida e não ser chato.
testando o sistema
antes de confiar no sistema, faça um teste. rode o script manualmente e verifique se o e-mail chega:
/usr/local/bin/monitor.sh
se não tiver carga alta ou disco cheio, não vai enviar nada. aí você pode forçar o teste manipulando os valores:
load="3.0"
echo "Teste carga $load" | mail -s "Teste CPU" seuemail@gmail.com
ou então brincar com o disco enchendo um pouco mais pra ver o alerta disparar.
problemas comuns que eu encontrei
o principal problema que tive foi com o gmail bloqueando os e-mails. o postfix às vezes é marcado como spam pelos filtros do gmail. a solução foi configurar um usuário específico do Gmail com App Passwords ao invés da senha normal.
outro problema foi o cron não executar o script. descobri que o problema era o caminho relativo no script. ao usar o caminho absoluto (/usr/local/bin/monitor.sh) no cron, o problema sumiu.
se o e-mail não estiver chegando, verifique os logs:
tail -f /var/log/mail.log
isso mostra tudo o que está acontecendo com o envio de e-mails em tempo real.
limitações desse método
esse sistema é básico. ele só monitora carga e disco. não monitora memória, rede, processos travados ou coisas do tipo. se você precisa de algo mais completo, existe o nagios, zabbix ou até soluções cloud como o datadog.
também não tem interface gráfica. você vai receber e-mails e pronto. se quiser algo visual, precisa investir mais tempo configurando ferramentas diferentes.
outro ponto: se o servidor cair, você não recebe notificação de queda. o script só roda quando o servidor está vivo. pra monitorar queda, precisaria de um serviço externo pingando seu servidor, como o uptimerobot ou algo similar.
alternativas melhores
se você quer algo mais robusto, recomendo o prometheus com grafana. é um pouco mais complicado de configurar mas dá muito mais informação. tem dashboards bonitos, alertas personalizados e integração com telegram, slack, ou qualquer outra coisa.
pra quem quer algo simples mas melhor que e-mail, tem o telegram bots. você pode configurar o script pra mandar mensagem num grupo do telegram ao invés de e-mail. é mais rápido e menos propenso a ser ignorado.
enfim, o sistema de e-mail funciona bem pra quem tá começando ou precisa de algo simples mesmo. mas conforme a complexidade aumenta, vale a pena migrar pra ferramentas mais adequadas.