Monit est un outil de surveillance de processus gratuit et open source qui peut être utilisé pour surveiller le processus système à l'aide du navigateur Web et de la ligne de commande. Il est également utilisé pour surveiller les fichiers, les répertoires et les périphériques pour les changements de taille et les changements d'autorisation. Monit répare automatiquement un processus particulier s'il tombe en panne. Monit est également capable de surveiller la plupart des services tels que Apache, Sendmail, Nginx, FTP, SSH et MySQL sur un système basé sur Linux. Vous pouvez surveiller le port TCP/IP des hôtes distants, les protocoles et le ping à l'aide de Monit. Monit a la capacité d'arrêter un processus spécifique qui utilise beaucoup de ressources. Surveillez votre serveur et envoyez des alertes sur toute condition d'erreur critique et sur l'état de la récupération.
Caractéristiques
- Démarrage, arrêt et arrêt automatiques d'un processus spécifique.
- Interface Web conviviale pour la surveillance de l'état.
- Notifier par e-mail toute condition critique.
- Vérifiez la charge du système, l'utilisation du processeur, l'utilisation de la RAM, le disque, les changements de taille de fichier, les changements d'autorisation, etc.
- Surveillez divers protocoles HTTP, FTP, SSH, POP, IMAP, LDAP, IMAP et SMTM.
- Journalisation via syslog ou son propre fichier journal.
Dans ce tutoriel, nous expliquerons comment configurer et utiliser Monit sur Debian 9.
Exigences
- Un nouveau serveur Debian 9 installé sur votre système.
- le mot de passe root est configuré sur votre serveur.
1.Mettre à jour le système
Commençons par mettre à jour votre système vers la dernière version stable. Vous pouvez le mettre à jour avec la commande suivante :
apt-get update -y
apt-get upgrade -y
Une fois votre système mis à jour, redémarrez votre système pour que ces modifications prennent effet avec la commande suivante :
reboot
Après le redémarrage, connectez-vous avec l'utilisateur root et passez à l'étape suivante.
2. Installation de Monit
Par défaut, Monit est disponible dans le référentiel Ubuntu. Vous pouvez facilement l'installer en exécutant la commande suivante :
apt-get install monit -y
Une fois Monit installé, démarrez le service Monit et activez-le au démarrage en exécutant la commande suivante :
systemctl start monit
systemctl enable monit
Vous pouvez vérifier l'état du service Monit à tout moment en exécutant la commande suivante :
systemctl status monit
3 Configuration de Monit
Le fichier de configuration par défaut de Monit monitrc se trouve dans le répertoire /etc/monit/ et les autres fichiers de configuration spécifiques au processus et au serveur se trouvent dans le répertoire /etc/monit/conf-available/. Monit est livré avec une interface Web intégrée, mais est désactivé par défaut. Vous pouvez l'activer en éditant le fichier /etc/monit/monitrc comme suit :
nano /etc/monit/monitrc
Changez les lignes de :
# set httpd port 2812 and # use address localhost # only accept connection from localhost # allow localhost # allow localhost to connect to the server and # allow admin:monit # require user 'admin' with password 'monit'
À
set httpd port 2812 and allow admin:monit # require user 'admin' with password 'monit'
Enregistrez et fermez le fichier lorsque vous avez terminé, puis redémarrez le service monit pour appliquer ces modifications avec la commande suivante :
systemctl restart monit
Vous pouvez vérifier l'état du service Monit avec la commande suivante :
netstat -ant | grep :2812
Vous devriez voir le résultat suivant :
tcp 0 0 0.0.0.0:2812 0.0.0.0:* LISTEN 1615/monit tcp6 0 0 :::2812 :::* LISTEN 1615/monit
4 Accéder à l'interface Web Monit
Vous pouvez accéder à l'interface Web de Monit en utilisant l'URL http://192.168.0.227:2812, puis entrez le nom d'utilisateur admin et le mot de passe monit . Vous devriez voir le tableau de bord Monit comme suit :
Vous pouvez voir l'état de Minit avec la commande suivante :
monit status
Vous devriez voir le résultat suivant :
System 'localhost' status Running monitoring status Monitored load average [0.68] [0.78] [0.45] cpu 0.0%us 0.0%sy 0.0%wa memory usage 294.1 MB [14.7%] swap usage 0 B [0.0%] data collected Mon, 07 Aug 2017 20:12:36
Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.
5 Ajout de services de surveillance
Une fois l'interface Web de Monit configurée, vous devrez ajouter les services que vous souhaitez surveiller.
Ici, nous allons donner quelques exemples pour surveiller certains services comme Apache, Proftpd et Rsyslog.
Configurer Monit pour le service Apache
Par défaut, Monit est livré avec le modèle prédéfini pour certains processus et services. Vous pouvez trouver ces modèles dans le répertoire /etc/monit/conf-available/. Par défaut, le modèle pour Apache est disponible dans Monit. Il vous suffira donc de l'activer. Vous pouvez l'activer en exécutant la commande suivante :
ln -s /etc/monit/conf-available/apache2 /etc/monit/conf-enabled/
Ensuite, redémarrez monit servcie pour appliquer ces modifications avec la commande suivante :
systemctl restart monit
Configurer Monit pour le service Rsyslog
Tout d'abord, activez le modèle Rsyslog avec la commande suivante :
ln -s /etc/monit/conf-available/rsyslog /etc/monit/conf-enabled/
Ensuite, redémarrez le service monit pour appliquer ces modifications avec la commande suivante :
systemctl restart monit
Configurer Monit pour le service Proftpd
Le modèle pour Proftpd n'est pas disponible avec Monit. Vous devrez donc créer un fichier de configuration pour Proftpd. Vous pouvez le faire en créant le fichier proftpd dans le répertoire /etc/monit/conf-available/ comme suit :
nano /etc/monit/conf-available/proftpd
Ajoutez les lignes suivantes :
check process proftpd with pidfile /var/run/proftpd.pid start program = "/etc/init.d/proftpd start" stop program = "/etc/init.d/proftpd stop" if failed port 21 protocol ftp then restart
Enregistrez et fermez le fichier lorsque vous avez terminé, puis activez le fichier de configuration avec la commande suivante :
ln -s /etc/monit/conf-available/proftpd /etc/monit/conf-enabled
Ensuite, vérifiez le fichier de configuration pour toute erreur de syntaxe avec la commande suivante
monit -t
Enfin, redémarrez monit service pour appliquer ces modifications avec la commande suivante :
systemctl restart monit
Une fois que vous avez configuré tous les services requis, accédez à l'interface Web pour surveiller tous les services comme indiqué ci-dessous :
Ensuite, cliquez sur le service apache pour voir les informations détaillées sur apache :
6 Surveillance de la surveillance via la ligne de commande
Vous pouvez également surveiller Monit à partir de la ligne de commande. Vous pouvez voir un résumé rapide de monit en exécutant la commande suivante :
monit summary
Vous devriez voir le résultat suivant :
The Monit daemon 5.16 uptime: 0m Process 'rsyslogd' Initializing - start pending File 'rsyslogd_bin' Accessible File 'rsyslogd_rc' Accessible File 'rsyslog_file' Does not exist Process 'proftpd' Running Process 'apache' Execution failed File 'apache_bin' Accessible File 'apache_rc' Accessible System 'localhost' Running
Vous pouvez également voir l'état de tous les services avec la commande suivante :
monit status
Vous devriez voir le résultat suivant :
The Monit daemon 5.16 uptime: 0m Process 'rsyslogd' status Initializing - start pending monitoring status Initializing data collected Mon, 07 Aug 2017 20:41:18 File 'rsyslogd_bin' status Accessible monitoring status Monitored permission 755 uid 0 gid 0 size 585.3 kB timestamp Tue, 25 Oct 2016 11:38:40 checksum d71f3d1c58df065e3aac1e2c566a6436 (MD5) data collected Mon, 07 Aug 2017 20:41:18 File 'rsyslogd_rc' status Accessible monitoring status Monitored permission 755 uid 0 gid 0 size 2.7 kB timestamp Tue, 25 Oct 2016 11:48:29 checksum a1ef1bb01ba370040d705c92fc09e92e (MD5) data collected Mon, 07 Aug 2017 20:41:18 File 'rsyslog_file' status Does not exist monitoring status Monitored data collected Mon, 07 Aug 2017 20:41:18 Process 'proftpd' status Running monitoring status Monitored pid 4915 parent pid 1 uid 0 effective uid 119 gid 65534 uptime 3m threads 1 children 0 memory 3.6 MB memory total 3.6 MB memory percent 0.2% memory percent total 0.2% cpu percent 0.0% cpu percent total 0.0% port response time 10.737 ms to [localhost]:21 type TCP/IP protocol FTP data collected Mon, 07 Aug 2017 20:41:18 Process 'apache' status Execution failed monitoring status Monitored data collected Mon, 07 Aug 2017 20:41:48 File 'apache_bin' status Accessible monitoring status Monitored permission 755 uid 0 gid 0 size 647.0 kB timestamp Sat, 29 Jul 2017 22:19:09 checksum ef2a678bdcd791948ceabc3013d9a2c0 (MD5) data collected Mon, 07 Aug 2017 20:41:18 File 'apache_rc' status Accessible monitoring status Monitored permission 755 uid 0 gid 0 size 7.9 kB timestamp Mon, 07 Aug 2017 20:40:33 checksum 744ef9ca584493299c353e2251cbf993 (MD5) data collected Mon, 07 Aug 2017 20:41:18 System 'localhost' status Running monitoring status Monitored load average [0.96] [0.60] [0.46] cpu 0.0%us 0.0%sy 0.0%wa memory usage 266.4 MB [13.3%] swap usage 2.1 MB [0.4%] data collected Mon, 07 Aug 2017 20:41:18
Pour voir des informations détaillées sur le service Proftpd, exécutez la commande suivante :
monit status proftpd
Vous devriez voir le résultat suivant :
The Monit daemon 5.16 uptime: 2m Process 'proftpd' status Running monitoring status Monitored pid 4915 parent pid 1 uid 0 effective uid 119 gid 65534 uptime 6m threads 1 children 0 memory 3.6 MB memory total 3.6 MB memory percent 0.2% memory percent total 0.2% cpu percent 0.0% cpu percent total 0.0% port response time 7.945 ms to [localhost]:21 type TCP/IP protocol FTP data collected Mon, 07 Aug 2017 20:43:49
Toutes nos félicitations! vous avez installé et configuré avec succès Monit sur votre serveur Debian 9.