skip to Main Content
Recevoir Un Email D'alerte Si La Consommation CPU De Votre Serveur Est Trop élevée

Recevoir un email d'alerte si la consommation CPU de votre serveur est trop élevée

Temps de lecture 5 minutes

Lorsque vous hébergez un site sur un serveur dédié vous pouvez paramétrer toutes les alertes que vous voulez. Ce n’est généralement pas le cas sur un serveur mutualisé, mais on vous explique comment contourner cette limitation chez certains hébergeurs.

Pourquoi j’ai besoin de recevoir des alertes en cas de surconsommation CPU ?

Je gère actuellement plus de 200 sites répartis sur une dizaine de serveurs. J’essaie d’automatiser un maximum de taches de gestion et si généralement ça se passe bien, une erreur non identifiée à temps va provoquer un raz de marée destructeur. C’est précisément ce qui s’est passé hier et qui a généré des pics de consommation CPU sur tous mes serveurs en même temps.

Recevoir un email d'alerte si la consommation CPU de votre serveur est trop élevée

Recevoir un email d'alerte si la consommation CPU de votre serveur est trop élevée #2

Le problème est que si sur mes serveurs dédiés je reçois des alertes dans ce cas, je ne reçois par contre absolument rien quand ça concerne mes serveurs mutualisés.

Dans un monde idéal, il serait judicieux d’installer une solution de monitoring complète comme Grafana, mais je vous propose ci-dessous une solution bien plus simple et rapide à mettre en oeuvre.

Comment configurer un email automatique d’alerte consommation CPU

Une partie de mes sites est hébergée chez o2switch (un excellent prestataire que je vous conseille très chaudement) et il se trouve qu’o2switch fournit un accès SSH à ses serveurs.

Une fois connecté en SSH au serveur qui nous intéresse j’ai créé le petit script bash tout simple :

cpu=$(top -b -n 5 -d.2 | grep 'Cpu' |  awk '{sum +=$2 } END { print(sum / NR) }' )
if((${cpu%.*}>70))
then
    mail -s "[Alerte CPU] ${cpu}% sur ${HOSTNAME}" [email protected] <<< ''
fi

Je suis assez nul en bash, donc ce petit script est loin d’être parfait. En gros il va faire 5 top d’affilée à intervalles de 0,2 secondes et renvoyer la moyenne des mesures de consommation CPU.
Si cette valeur est supérieure à 70% il y a un souci et ça mérite donc un mail !

Une fois ce script sauvé sur le serveur (j’utilise personnellement nano) n’oubliez pas de le rendre exécutable avec la commande chmod u+x. Pour ma part j’ai sauvé ce script sous le nom cpu_alert.sh et j’ai donc saisi chmod u+x cpu_alert.sh

Si vous avez un doute sur l’emplacement où vous vous trouvez faites un pwd.Notez ensuite le chemin complet du script qui devrait donc ressembler à /home/mon_compte/cpu_alert.sh

Il vous faut ensuite déclencher ce script à intervalles réguliers. Personnellement j’ai choisi de le déclencher toutes les 10 minutes.

Chez o2switch la commande crontab -e qui permet d’éditer directement la table des processus récurrents n’est pas pleinement opérationnelle (et heureusement). C’est pourquoi il faut se rendre dans votre CPanel pour ajouter votre script de contrôle :

Recevoir un email d'alerte si la consommation CPU de votre serveur est trop élevée #3

Recevoir un email d'alerte si la consommation CPU de votre serveur est trop élevée #4

Et voilà !

5 1 vote
Noter cet article

Fabien Elharrar

Consultant en acquisition d'audience, monétisation web et growth hacking.

S’abonner
Notifier de
guest

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

0 Commentaires
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x
Back To Top
×Close search
Rechercher