Un script shell pour envoyer une alerte par e-mail lorsque la mémoire devient bas

Un script shell pour envoyer une alerte par e-mail lorsque la mémoire devient bas

Un aspect puissant des programmes Shell Unix / Linux tels que frapper, est leur support étonnant pour les constructions de programmation communes qui vous permettent de prendre des décisions, d'exécuter des commandes à plusieurs reprises, de créer de nouvelles fonctions, et bien plus encore. Vous pouvez écrire des commandes dans un fichier appelé script shell et les exécuter collectivement.

Cela vous offre un moyen fiable et efficace d'administration du système. Vous pouvez écrire des scripts pour automatiser les tâches, par exemple les back-ups quotidiens, les mises à jour du système, etc. Créer de nouvelles commandes / utilitaires / outils personnalisés et au-delà. Vous pouvez écrire des scripts pour vous aider à suivre ce qui se déroule sur un serveur.

L'un des composants critiques d'un serveur est la mémoire (RAM), cela a un impact considérable sur les performances globales d'un système.

Dans cet article, nous partagerons un petit mais utile script shell pour envoyer un e-mail d'alerte à un ou plusieurs administrateurs système, si la mémoire du serveur s'exécute bas.

Ce script est particulièrement utile pour garder un œil sur VPS Linux (Serveurs privés virtuels) avec une petite quantité de mémoire, par exemple sur 1 Go (environ 990 Mo).

Configuration de l'environnement de test

  1. UN Centos / Rhel 7 serveur de production avec MAILX Utilitaire installé avec le serveur de messagerie postfix de travail.

C'est comment le alertmémoire.shot Le script fonctionne: d'abord, il vérifie la taille de la mémoire libre, puis détermine si la quantité de mémoire libre est inférieure ou égale à une taille spécifiée (100 MB aux fins de ce guide), utilisé comme référence pour la taille de mémoire libre la moins acceptable.

Si cette condition est vraie, elle générera une liste des 10 principaux processus consommant un serveur RAM et envoie un e-mail d'alerte aux adresses e-mail spécifiées.

Note: Vous devrez apporter quelques modifications au script (en particulier l'utilitaire de l'expéditeur de messagerie, utilisez les indicateurs appropriés) pour répondre à vos exigences de distribution Linux.

Script shell pour vérifier la mémoire du serveur
#!/ bin / bash ############################################### ########################################### #Script Nom: AlertMemory.SH #Description: Envoyez le courrier d'alerte lorsque la mémoire du serveur est à faible #ARGS: #Author: Aaron Kili Kisinga #email: [Protégé par e-mail] #LICENCE: GNU GPL-3 ############## #################################################### ######################## ## Déclare les variables de messagerie ## Sujet par e-mail = "Alerte d'état de la mémoire du serveur"## Envoi du courrier comme de ="[Protégé par e-mail]"## Envoi du courrier à ="[Protégé par e-mail]"## Envoyer une copie carbone à aussi_to ="[Protégé par e-mail]"## Obtenez la taille totale de la mémoire libre dans les mégaoctets (MB) gratuit = $ (gratuit -mt | grep total | awk 'print $ 4') ## Vérifiez si la mémoire libre est moins ou égale à 100 Mo Si [["" $ gratuit "-le 100 ]]; Ensuite, ## Obtenez les principaux processus consommant la mémoire du système et enregistrez dans un fichier temporaire ps -eo pid, ppid, cmd,% mem,% CPU --sort = -% mem | tête> / tmp / top_proccesss_consuming_memory.Fichier txt = / tmp / top_proccesss_consuming_memory.txt ## Envoyer un e-mail si la mémoire système fonctionne à faible écho -e "avertissement, la mémoire du serveur est à faible!\ n \ nfree Memory: $ gratuit mb ​​"| MailX -a" $ file "-s" $ sujet "-r" $ from "-c" $ to "" $ aussi_to "fi sort 0 

Après avoir créé votre script / etc / scripts / alertmemory.shot, Rendez-le exécutable et symbolique à Cron.de temps.

# chmod + x / etc / scripts / alertmemory.sh # ln -s -t / etc / cron.horaire / alertrémoire.sh / etc / scripts / alertmemory.shot 

Cela signifie que le script ci-dessus sera exécuté chaque fois toutes les 1 heure tant que le serveur s'exécute.

Conseil: Vous pouvez tester si cela fonctionne comme prévu, définissez la valeur de la marque de référence un peu haut pour déclencher facilement un e-mail à envoyer et spécifiez un petit intervalle d'environ 5 minutes.

Continuez ensuite à vérifier la ligne de commande en utilisant la commande libre fournie dans le script. Une fois que vous avez confirmé que cela fonctionne, définissez les valeurs réelles que vous souhaitez utiliser.

Vous trouverez ci-dessous une capture d'écran montrant un exemple de courriel d'alerte.

Alerte par e-mail de mémoire Linux

C'est tout! Dans cet article, nous avons expliqué comment utiliser Shell Script pour envoyer des e-mails d'alerte aux administrateurs système dans la mémoire du serveur (RAM). Vous pouvez partager toutes les réflexions relatives à ce sujet, avec nous via le formulaire de rétroaction ci-dessous.