Surveillance serveur · 5 min read · Oct 18, 2025
Surveillance des températures des serveurs Linux et Unix avec Opsview
Surveillance des températures des serveurs Linux et Unix avec Opsview
Gérer la consommation d’énergie dans un Datacenter est un facteur clé pour aider à réduire les coûts énergétiques globaux de l’entreprise et garantir que les serveurs fonctionnent à des performances optimales. La surchauffe peut entraîner des coûts accrus pour le refroidissement et présente également le risque de faire planter les serveurs.
Le logiciel de surveillance des serveurs Opsview peut être utilisé pour vérifier et alerter sur la température des serveurs ainsi que sur la température des composants individuels d’un serveur (mémoire, CPU et disques durs). Des seuils et des alertes peuvent être définis lorsque des températures critiques sont dépassées, aidant à garder les serveurs en surchauffe sous contrôle.
Cet article de blog détaille comment configurer Opsview pour surveiller la température des serveurs Linux et Unix.
Étapes :
[ NB : Ce guide suppose que le système que nous souhaitons surveiller a déjà l’agent Opsview installé]
1. En tant que root, nous devrons installer “lm_sensors” et “hddtemp” (les noms peuvent différer selon les distributions Linux) ; sur CentOS/RHEL, ils sont acquis via “ yum install lm_sensors hddtemp “.
2. Une fois ces éléments installés, nous devrons exécuter “sensors-detect” en tant que root pour détecter les éléments dont nous souhaitons surveiller la température. Une fois terminé, nous devrons enregistrer cela (il suffit d’appuyer sur ENTER) et le détecteur de capteurs est complet.
3. Maintenant que lm_sensors et hddtemp sont installés, nous pouvons les tester localement comme ci-dessous :
Température HDD :
[root@rhelserver ~]# hddtemp /dev/sda/dev/sda: ST3120811AS: 31°Clm_sensors :
[root@rhelserver ~]# sensorscoretemp-isa-0000Adapter: ISA adapterCore 0: +38.0°C (high = +84.0°C, crit = +100.0°C)Core 1: +39.0°C (high = +84.0°C, crit = +100.0°C)Core 2: +37.0°C (high = +84.0°C, crit = +100.0°C)Core 3: +38.0°C (high = +84.0°C, crit = +100.0°C)
i5k_amb-isa-0000Adapter: ISA adapterCh. 0 DIMM 0: +67.0°C (low = +110.5°C, high = +124.0°C)Ch. 1 DIMM 0: +62.0°C (low = +110.5°C, high = +124.0°C)
Nous pouvons voir, selon la sortie ci-dessus, que nos capteurs et leurs lectures de température sont détectés et fonctionnent comme prévu, maintenant nous devons ajouter des plugins pour prendre cette sortie sur une base “par capteur” afin que nous puissions l’ajouter à une vérification de service pour surveiller la température du serveur.
4. Téléchargez le plugin “check_lm_sensors” depuis le lien ici et copiez-le dans /usr/local/nagios/libexec. Une fois cela fait, extrayez-le via
tar -zxvf check_lm_sensors-3.1.1.tar.gz5. Nous pouvons tester notre nouveau plugin en tant que root en exécutant :
/usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensors –listqui devrait à nouveau lister les capteurs et leurs températures. Si cela ne fonctionne pas ou donne des erreurs Perl, alors éditez le fichier check_lm_sensors en utilisant nano/vim, et en haut du script, ajoutez ce qui suit :
use lib "/usr/local/nagios/perl/lib/";6. Pour nous permettre d’exécuter cette commande en tant qu’utilisateur “nagios” (nécessaire pour les vérifications de service check_nrpe), nous devons :
chmod +x /usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensorschown –R nagios:nagios /usr/local/nagios/libexec/check_lm_sensors-3.1.1/7. Nous devons également ajouter une ligne au fichier /etc/sudoers. En tant qu’utilisateur root, ajoutez la ligne suivante en bas de /etc/sudoers :
nagios ALL=(root) NOPASSWD:/usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensorsCela permet à l’utilisateur nagios d’exécuter check_lm_sensors en tant que root sans avoir à s’authentifier par mot de passe.
8. Nous devons maintenant ajouter nos commandes de vérification à notre agent, car nous allons les exécuter localement sur le serveur et transmettre la sortie à notre serveur Opsview via la commande check_nrpe (NRPE étant N agios R emote P lugin E xecutor). Pour ce faire, nous devons définir quelles sont nos commandes et comment nous allons les appeler. Pour cela, nous devons éditer le fichier “overrides.cfg”, situé à /usr/local/nagios/etc/nrpe_local/override.cfg.
9. Nous devons éditer ce fichier en utilisant un éditeur de texte tel que vim ou nano, c’est-à-dire :
nano /usr/local/nagios/etc/nrpe_local/override.cfget ajouter des lignes similaires à celles ci-dessous :
check_command[core0_temp]=sudo /usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensors --sanitize --high Core0=45,55
check_command[core1_temp]=sudo /usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensors --sanitize --high Core1=45,55
check_command[core2_temp]=sudo /usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensors --sanitize --high Core2=45,55
check_command[core3_temp]=sudo /usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensors --sanitize --high Core3=45,55
check_command[dimm0_temp]=sudo /usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensors --sanitize --high Ch.0DIMM0=60,75
check_command[dimm1_temp]=sudo /usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensors --sanitize --high Ch.1DIMM0=60,75
check_command[sda_temp]=sudo /usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensors --sanitize --high sdaTemp=60,75Cela créera 7 nouvelles commandes, telles que “core0_temp”, qui exécutent le chemin complet spécifié à droite du “= “.
10. Ensuite, nous devons recharger l’agent Opsview en exécutant
service opsview-agent restartpar exemple.
11. Nous pouvons maintenant tester ces nouvelles commandes en tant qu’utilisateur nagios, en naviguant vers /usr/local/nagios/libexec et en exécutant une commande comme ci-dessous :
./check_nrpe –H localhost –c dimm0_tempCela affichera le résultat, comme ci-dessous, si cela se termine avec succès :
[nagios@rhelserver libexec]$ ./check_nrpe -H localhost -c dimm0_temp
LM_SENSORS WARNING - Ch.0DIMM0=67.0|Ch.0DIMM0=67.0;60;75;;12. Maintenant que tout est confirmé comme fonctionnant, nous devons simplement créer nos vérifications de service dans Opsview et les ajouter à un hôte. Pour ce faire, connectez-vous simplement à Opsview, et naviguez vers “ PARAMÈTRES > VÉRIFICATIONS DE SERVICE “ et cliquez sur le symbole vert “PLUS”. Cela chargera une nouvelle page, que vous devrez remplir avec divers paramètres tels que le nom, le groupe de services, etc.
Les sections importantes pour cet exemple sont Plugin et arguments ; dans “Plugin”, nous devons sélectionner check_nrpe et dans les arguments, nous devons entrer quelque chose de similaire à “ -H $HOSTADDRESS$ -c dimm0_temp “; où “dimm0_temp” est la commande que nous avons exécutée plus tôt et ajoutée à notre fichier overrides.cfg.

13. Une fois que nous avons créé des vérifications de service pour toutes nos lignes ajoutées dans “overrides.cfg” sur notre serveur, nous pouvons ensuite naviguer vers “ PARAMÈTRES > HÔTES“, cliquer sur l’hôte correspondant (ou l’ajouter s’il n’est pas actuellement dans Opsview), et naviguer vers l’onglet MONITEURS où vous pouvez sélectionner vos nouvelles vérifications de service comme ci-dessous :

14. Une fois ajoutées, nous devons enfin recharger Opsview pour appliquer nos modifications, via “ PARAMÈTRES > APPLIQUER LES MODIFICATIONS “ et “recharger la configuration”. Une fois rechargé, nous pouvons ensuite naviguer vers notre hôte et voir nos nouveaux moniteurs de température du serveur comme ci-dessous :
15. Nous pouvons maintenant commencer à créer des profils de notification basés sur les températures, c’est-à-dire “Prévenez-moi si une température devient critique pour l’un de mes serveurs dans le Datacenter ‘XYZ’ pendant ces périodes”, par exemple. De cette façon, nous pouvons nous assurer d’être informés instantanément lorsqu’une température de serveur devient critique, via SMS/email/notifications push iOS, et enquêter immédiatement.

Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.