Um script de shell para enviar alerta por e -mail quando a memória fica baixa

Um script de shell para enviar alerta por e -mail quando a memória fica baixa

Um aspecto poderoso dos programas de conchas Unix/Linux, como Bash, é o seu incrível apoio a construções de programação comuns que permitem tomar decisões, executar comandos repetidamente, criar novas funções e muito mais. Você pode escrever comandos em um arquivo conhecido como script de shell e executá -los coletivamente.

Isso oferece a você um meio confiável e eficaz de administração do sistema. Você pode escrever scripts para automatizar tarefas, por exemplo, backups diários, atualizações do sistema etc; Crie novos comandos/utilitários/ferramentas personalizados e além. Você pode escrever scripts para ajudá -lo a acompanhar o que está se desenrolando em um servidor.

Um dos componentes críticos de um servidor é a memória (BATER), isso afeta muito o desempenho geral de um sistema.

Neste artigo, compartilharemos um script de shell pequeno, mas útil, para enviar um email de alerta para um ou mais administradores (s) do sistema, se a memória do servidor estiver funcionando baixa.

Este é o script é particularmente útil para ficar de olho VPs Linux (Servidores privados virtuais) com pequena quantidade de memória, digamos sobre 1 GB (aproximadamente 990MB).

Configuração do ambiente de teste

  1. A CENTOS/RHEL 7 servidor de produção com Mailx Utilitário instalado com o servidor de correio do Postfix Working.

É assim que o AlertMemory.sh Script funciona: Primeiro, ele verifica o tamanho da memória livre e determina se a quantidade de memória livre é menor ou igual a um tamanho especificado (100 Mb para os fins deste guia), usado como uma marca de bancada para o tamanho da memória livre menos aceitável.

Se essa condição for verdadeira, gerará uma lista dos 10 principais processos que consomem RAM do servidor e enviarão um email de alerta para endereços de email especificados.

Observação:.

Script shell para verificar a memória do servidor
#!/Bin/Bash ################################################## ############################################ #script Nome: alertMemory.SH #Description: Envie alerta e-mail quando a memória do servidor estiver executando #args baixos: #author: Aaron kili kisinga #email: [email protegido] #license: gnu gpl-3 ############## ########Omas ######################## ## Declare Variáveis ​​de correio ## Envie Assunto = "Alerta de status da memória do servidor"## enviando e -mail como de ="[Email protegido]"## enviando e -mail para ="[Email protegido]"## Envie uma cópia de carbono para também_to ="[Email protegido]"## obtenha tamanho total de memória gratuita em megabytes (mb) grátis = $ (grátis -mt | Grep Total | Awk 'print $ 4') ## Verifique se a memória livre é menor ou igual a 100 MB Se [["$ free" -le 100 ]]; Em seguida, obtenha os principais processos que consomem memória do sistema e salvam em arquivo temporário PS -EO PID, PPID, CMD,%MEM,%CPU - -Sorte = -%Mem | cabeça>/tmp/top_proccesses_consuming_memory.arquivo txt =/tmp/top_proccesses_consuming_memory.txt ## Enviar email se a memória do sistema estiver executando eco baixo -e "Aviso, a memória do servidor está funcionando baixa!\ n \ nfree memória: $ free mb "| Mailx -a" $ file "-s" $ sujeito "-r" $ de "-c" $ para "" $ também_to "fi saída 0 

Depois de criar seu script /etc/scripts/alertMemory.sh, Torne -o executável e simplificador para Cron.a cada hora.

# chmod +x/etc/scripts/alertMemory.sh # ln -s -t /etc /cron.Horário/alertMemory.sh/etc/scripts/alertMemory.sh 

Isso significa que o script acima será executado após cada 1 hora enquanto o servidor estiver em execução.

Dica: Você pode testar se estiver funcionando como pretendido, defina o valor da marca de bancada um pouco alto para acionar facilmente um email a ser enviado e especifique um pequeno intervalo de cerca de 5 minutos.

Em seguida, continue verificando a linha de comando usando o comando gratuito fornecido no script. Depois de confirmar que está funcionando, defina os valores reais que você gostaria de usar.

Abaixo está uma captura de tela mostrando um e -mail de alerta de amostra.

Alerta de email de memória Linux

Isso é tudo! Neste artigo, explicamos como usar o script shell para enviar e -mails de alerta para administradores de sistema, caso a memória do servidor (RAM) esteja funcionando baixa. Você pode compartilhar qualquer pensamento relacionado a este tópico, conosco através do formulário de feedback abaixo.