Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
superviser_son_systeme_avec_monit [2023/12/05 22:28] – [Contrôles] superadminsuperviser_son_systeme_avec_monit [2024/05/26 10:10] (Version actuelle) – [État des disques] superadmin
Ligne 146: Ligne 146:
 Par exemple : « Si la charge CPU est supérieur à 90% alors on envoie une alerte » Par exemple : « Si la charge CPU est supérieur à 90% alors on envoie une alerte »
  
-Les services sont des ensemble de contrôles qui définissent un service à surveiller (serveur web, système de fichiers, etc...), dont la syntaxe commence toujours par "check".+Les services sont des ensembles de contrôles qui définissent un service à surveiller (serveur web, système de fichiers, etc...), dont la syntaxe commence toujours par "check".
  
-==== Déclaration d'un service ====+==== Performances du système ====
  
-Avant d'indiquer des contrôles, il faut déclarer un service : +<code>CHECK SYSTEM
- +
-==== Contrôles ==== +
- +
-=== Checks systèmes de base === +
- +
-<code>check system+
 #Vérification de la charge CPU moyenne sur une durée #Vérification de la charge CPU moyenne sur une durée
-if loadavg (15min) > 4 then alert+IF loadavg (15min) > 4 THEN ALERT
 #Vérification de la charge CPU utilisateur #Vérification de la charge CPU utilisateur
-if cpu usage (user) > 80% then alert+IF cpu usage (user) > 80% THEN ALERT
 #Vérification de la charge mémoire #Vérification de la charge mémoire
-if memory usage > 90% then alert+IF memory usage > 90% THEN ALERT
 #Vérification de la charge de la mémoire SWAP #Vérification de la charge de la mémoire SWAP
-if swap usage > 50% then alert</code>+IF swap usage > 50% THEN ALERT</code>
  
-=== Check des disques ===+==== État du stockage ====
  
-Check simple de l'espace disque avec alerte si dépassement du seuil :+=== Condition physique d'un disque ===
  
-<code>check device disk with path /dev/sda1 +Le tutoriel suivant permet de créer un script pour superviser l'état d'un disque grâce à la technologie S.M.A.R.T. : 
-     if space usage > 80% then alert+ 
 +[[https://www.smarthomebeginner.com/monit-monitor-hard-drive-smart-health-and-temperature/|Superviser l'état de ses disques durs avec Monit et SmartMonTools (Smart Home beginner)]] 
 + 
 +=== Espace disque restant === 
 + 
 +Contrôle simple pour vérifier l'espace restant sur une partition avec alerte si dépassement du seuil : 
 + 
 +<code>CHECK DEVICE DISK WITH PATH /dev/sda1 
 +     IF space usage > 80%  
 +     THEN ALERT
 </code> </code>
  
-=== Check de fichiers/répertoires ===+Il est recommandé d'utiliser l'UUID d'un disque pour continuer à la superviser dans le cas où un restart du serveur changerait le chemin du disque.
  
-<code>check <file|directory> /path/file.txt +Le chemin doit être remplacé par celui vers l'UUID du disque en question : 
-     if ... then alert</code>+ 
 +<code>ls /dev/disk/by-uuid</code> 
 + 
 +<code>CHECK DEVICE DISK WITH PATH /dev/disk/by-uuid/67B67C515B26C8F5 
 +     IF space usage 80%  
 +     THEN ALERT
 </code> </code>
  
  
 +
 +==== Test de fichiers/répertoires ====
 +
 +Tester l'existence/état d'un répertoire ou d'un fichier :
 +
 +<code>CHECK <file|directory> /path/file.txt
 +     IF ... THEN ALERT</code>
 +
 +==== État d'un hôte distant ====
 +
 +Vérifier qu'une machine est bien joignable (ici on teste le ping puis le SMTP, puis le SSH) :
 +
 +<code>CHECK HOST host1 ADDRESS 1.1.1.1
 +    IF FAILED icmp type echo count 3 with timeout 35 seconds THEN ALERT
 +    IF FAILED port 25 protocol smtp with timeout 35 seconds THEN ALERT
 +    IF FAILED port **** protocol ssh with timeout 35 seconds for 2 cycles THEN ALERT</code>
 +
 +==== État d'un site web ====
 +
 +Ce contrôle permet de vérifier si un site web est bien accessible (ici en https port 443) :
 +
 +<code>CHECK HOST site1 WITH ADDRESS site1.fr
 +            IF FAILED
 +                    port 443
 +                    protocol https
 +           THEN ALERT
 +</code>
 +
 +==== Utiliser un script ====
 +
 +Il est également possible de créer ses propres scripts de supervision en shell, de demander à Monit de les exécuter régulièrement et de réutiliser une valeur en sortie comme indicateur. 
 +
 +Exemple avec un script permettant de vérifier l'état d'un disque. Ici, on récupère la valeur de sortie du script et s'il est égal à 0 le contrôle renvoie "Status failed" et alerte l'administrateur :
 +
 +<code>check program disk_SYSTEM with path "/scripts/check_disk.sh"
 +    every 120 cycles
 +    if status != 1 then alert
 +    group disks
 +</code>
  
 ===== Sources ===== ===== Sources =====
Ligne 187: Ligne 234:
  
 [[https://www.it-connect.fr/monit-linterface-web/|Monit : l'interface web (IT Connect)]] [[https://www.it-connect.fr/monit-linterface-web/|Monit : l'interface web (IT Connect)]]
- 
-[[https://www.smarthomebeginner.com/monit-monitor-hard-drive-smart-health-and-temperature/|Superviser l'état de ses disques durs avec Monit (Smart Home beginner)]]