Monit est un outil open source gratuit et très utile qui surveille et gère automatiquement processus, des dossiers, répertoires, sommes de contrôle, autorisations, systèmes de fichiers, et des services comme apache, Nginx, MySQL, FTP, SSH, SMTPet ainsi de suite dans un UNIX/Linux systèmes basés et fournit une fonctionnalité de surveillance excellente et utile aux administrateurs système.
Le moniteur dispose d’une interface Web conviviale où vous pouvez directement visualiser l’état du système et configurer les processus à l’aide d’un serveur Web HTTP(S) natif ou via l’interface de ligne de commande. Cela signifie que vous devez avoir un serveur Web comme apache ou Nginx installé sur votre système pour accéder et afficher l’interface Web de monit.
[ You might also like: 20 Command Line Tools to Monitor Linux Performance ]
Ce que Monit peut faire
Monit a la capacité de démarrer un processus s’il n’est pas en cours d’exécution, de redémarrer un processus s’il ne répond pas et d’arrêter un processus s’il utilise des ressources élevées. De plus, vous pouvez également utiliser Monit pour surveiller des dossiers, répertoires, et systèmes de fichiers pour les modifications, modifications de la somme de contrôle, changements de taille de fichier, ou changements d’horodatage.
Avec Monit, vous pouvez surveiller les hôtes distants TCP/IP Port, protocoles serveur, et ping. Monit conserve son propre fichier journal et alerte sur toute condition d’erreur critique et sur l’état de la récupération.
Cet article est écrit pour décrire un guide simple sur Monit installation et configuration sur les distributions Linux basées sur RHEL et Debian.
Étape 1 : Installer Monit sous Linux
Par défaut, le Monit le programme de surveillance n’est pas disponible à partir des référentiels de base du système par défaut, vous devez ajouter et activer un référentiel epel tiers pour installer le surveiller package sous les distributions basées sur RHEL telles que CentOS, Rocheux Linux, et AlmaLinux.
--------- On RHEL 9 based Systems --------- # dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm --------- On RHEL 8 based Systems --------- # dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm --------- On RHEL 7 based Systems --------- # yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
Une fois que vous avez ajouté le référentiel epel, installez le Monit package en exécutant la commande yum suivante.
# yum install monit OR # dnf install monit [On Fedora Linux]
Pour Ubuntu/Debian/Linux Mint l’utilisateur peut facilement installer en utilisant la commande apt comme indiqué.
$ sudo apt install monit
Étape 2 : Configuration de Monit sous Linux
Monit est très facile à configurer, en effet, les fichiers de configuration sont créés pour être très facilement lisibles et les rendre plus faciles à comprendre pour les utilisateurs. Il est conçu pour surveiller les services en cours d’exécution toutes les 2 minutes et conserve les journaux dans « /var/log/monit“.
Monit possède une interface Web qui s’exécute sur le port 2812 à l’aide d’un serveur Web. Pour activer l’interface Web, vous devez apporter des modifications au fichier de configuration de monit.
Le fichier de configuration principal de monit situé à /etc/monit.conf en dessous de (RedHat/CentOS/Fedora) et /etc/monit/monitrc fichier pour (Ubuntu/Debian/Linux Mint).
Ouvrez ce fichier en utilisant l’éditeur de votre choix.
# vi /etc/monitrc Or $ sudo nano /etc/monit/monitrc
Ensuite, décommentez la section suivante et ajoutez l’adresse IP ou le nom de domaine de votre serveur, autorisez n’importe qui à se connecter et modifiez l’utilisateur et le mot de passe monit ou vous pouvez utiliser ceux par défaut.
set httpd port 2812 and use address 0.0.0.0 # only accept connections from localhost allow 0.0.0.0/0 # allow localhost to connect to the server and allow admin:monit # require user 'admin' with password 'monit' allow @monit # allow users of group 'monit' to connect (rw) allow @users readonly # allow users of group 'users' to connect readonly
Une fois que vous l’avez configuré, vous devez démarrer, activer et vérifier le surveiller service pour recharger les nouveaux paramètres de configuration.
# systemctl start monit # systemctl enable monit # systemctl status monit
Maintenant, vous pourrez accéder à l’interface Web de monit en naviguant vers les URL suivantes.
http://localhost:2812 OR http://ip-address:2812 Or http://example.com:2812
Entrez ensuite le nom d’utilisateur sous la forme « administrateur » et mot de passe comme « surveiller“. Vous devriez obtenir un écran similaire à celui ci-dessous.
Étape 3 : Ajouter des services Linux à Monit Monitoring
Une fois la surveiller les interfaces Web sont correctement configurées, commencez à ajouter les programmes que vous souhaitez surveiller dans le /etc/monitrc en dessous de (RedHat/CentOS/Fedora) et /etc/monit/monitrc fichier pour (Ubuntu/Debian/Linux Mint) au fond.
Voici quelques exemples de configuration utiles pour monit, qui peuvent être très utiles pour voir comment un service fonctionne, où il conserve son profil, comment démarrer et arrêter un service, etc.
Surveiller Apache dans Monit
check process httpd with pidfile /var/run/httpd.pid group apache start program = "/usr/bin/systemctl httpd start" stop program = "/usr/bin/systemctl httpd stop" if failed host 127.0.0.1 port 80 protocol http then restart if 5 restarts within 5 cycles then timeout
Surveiller Apache2 dans Monit
check process apache with pidfile /run/apache2.pid start program = "/usr/bin/systemctl apache2 start" with timeout 60 seconds stop program = "/usr/bin/systemctl apache2 stop"
Surveiller Nginx dans Monit
check process nginx with pidfile /var/run/nginx.pid start program = "/usr/bin/systemctl nginx start" stop program = "/usr/bin/systemctl nginx stop"
Surveiller MySQL dans Monit
check process mysqld with pidfile /var/run/mysqld/mysqld.pid group mysql start program = "/usr/bin/systemctl mysqld start" stop program = "/usr/bin/systemctl mysqld stop" if failed host 127.0.0.1 port 3306 then restart if 5 restarts within 5 cycles then timeout
Surveiller SSH dans Monit
check process sshd with pidfile /var/run/sshd.pid start program "/usr/bin/systemctl sshd start" stop program "/usr/bin/systemctl sshd stop" if failed host 127.0.0.1 port 22 protocol ssh then restart if 5 restarts within 5 cycles then timeout
Une fois que vous avez configuré tous les programmes pour la surveillance, vérifiez la syntaxe de monit pour les erreurs. Si vous trouvez des erreurs, corrigez-les, il n’est pas si difficile de comprendre ce qui ne va pas. Lorsque vous recevez un message du type « Syntaxe du fichier de contrôle OK“, ou si vous ne voyez aucune erreur, vous pouvez continuer.
# monit -t Or $ sudo monit -t
Après avoir corrigé toutes les erreurs possibles, vous pouvez taper la commande suivante pour démarrer le service de surveillance.
# systemctl monit restart OR $ sudo systemctl monit restart
Voici à quoi ressemble monit après avoir ajouté tous les services Linux pour la surveillance.
Si vous appréciez ce que nous faisons ici sur TecMint, vous devriez considérer :
TecMint est le site communautaire à la croissance la plus rapide et le plus fiable pour tout type d’articles, de guides et de livres Linux sur le Web. Des millions de personnes visitent TecMint ! pour rechercher ou parcourir les milliers d’articles publiés accessibles GRATUITEMENT à tous.
Si vous aimez ce que vous lisez, pensez à nous acheter un café (ou 2) en signe d’appréciation.
Nous sommes reconnaissants pour votre soutien sans fin.