GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment installer Monit sur CentOS 8 / RHEL 8

Monit est un outil de surveillance de processus open source pour le système d'exploitation Linux qui vous aide à surveiller le processus système. Chaque fois que le service/processus tombe en panne, il effectue automatiquement la maintenance et la réparation du processus particulier et s'assure qu'il est remis en ligne.

Monit peut également être utilisé pour gérer et surveiller des programmes, des fichiers, des répertoires, des systèmes de fichiers, des vérifications de réseau TCP/IP, des vérifications de protocole et peut utiliser SSL pour ces vérifications.

Il se connecte à son fichier journal et avertit l'utilisateur via des messages personnalisables.

Ce guide vous aidera à configurer Monit sur CentOS 8 / RHEL 8.

Installer Monit

Installez les outils de construction nécessaires car Monit n'a pas encore été empaqueté en tant que RPM pour CentOS 8 / RHEL 8.

dnf install -y git gcc glibc make glibc-devel kernel-headers autoconf automake libtool bison flex libzip-devel pam-devel openssl openssl-devel

Clonez le code source de Monit pour la compilation.

cloner git https://bitbucket.org/tildeslash/monit.git

Compilez le Monit avec une série de commandes suivantes.

cd monit./bootstrap./configuremakemake install

Configurer la surveillance

Fonctionnalité

Copiez le fichier monitrc de la source téléchargée dans le répertoire /etc.

cp monitor /etc/

Nous apporterons quelques modifications au fichier de configuration de Monit pour nos besoins.

vi /etc/monitrc

Par défaut, Monit est configuré pour vérifier les services à un intervalle de 30 secondes. Cet intervalle peut être modifié en modifiant la ligne ci-dessous.

définir le démon 30

Vous pouvez définir un serveur de messagerie pour recevoir des alertes dans votre boîte de réception.

définir le port 25 du serveur de messagerie mx.itzgeek.local
Les alertes par e-mail peuvent être personnalisées à l'aide de modèles intégrés trouvés dans le fichier de configuration lui-même. Voir les alertes par e-mail avec Monit au bas de cet article pour plus d'informations.

Le paramètre des journaux peut être modifié à l'aide du fichier suivant.

définir le journal /var/log/monit.log

Assurez-vous de décommenter la ligne ci-dessous. Nous placerons ici les fichiers de surveillance du service.

inclure /etc/monit.d/*

Interface Web

Monit fournit également une interface Web pour surveiller et gérer les services configurés. Par défaut, Monit écoute sur le port 2812, mais il doit être configuré.

Editez le fichier de configuration de Monit /etc/monitrc.

vi /etc/monitrc

Recherchez le port httpd 2812, modifiez les entrées suivantes.

DE :

set httpd port 2812 and use address localhost # accept only connection from localhost allow localhost # autorise localhost à se connecter au serveur et autorise admin:monit # requiert l'utilisateur 'admin' avec le mot de passe 'monit' #with ssl { # enable SSL /TLS et définissez le chemin vers le certificat du serveur # pemfile :/etc/ssl/certs/monit.pem #}

À :

définissez le port httpd 2812 et utilisez l'adresse 0.0.0.0 # n'accepte que la connexion de localhost (abandonnez si vous utilisez M/Monit) allow 0.0.0.0/0 # autorisez localhost à se connecter au serveur et autorisez admin:monit # nécessite l'utilisateur 'admin' avec le mot de passe 'monit' #with ssl { # active SSL/TLS et définit le chemin vers le certificat du serveur # pemfile :/etc/ssl/certs/monit.pem #}

À partir des paramètres ci-dessus, Monit écoutera sur le port 2812 sur toutes les interfaces. L'utilisateur administrateur pourra accéder à l'interface Web à partir de n'importe quel réseau.

Configuration du système

Nous allons maintenant créer un fichier systemd pour démarrer automatiquement Monit au démarrage du système.

vi /lib/systemd/system/monit.service

Utilisez les paramètres ci-dessous.

 # Ce fichier est un modèle systemd pour le service monit. Pour # enregistrer monit avec systemd, placez le fichier monit.service # dans le répertoire /lib/systemd/system/ puis démarrez-le # en utilisant systemctl (voir ci-dessous). # # Enable monit to start on boot:# systemctl enable monit.service # # Démarrer monit immédiatement:# systemctl start monit.service # # Stop monit:# systemctl stop monit.service # # Status:# systemctl status monit.service [Unité ] Description=Utilitaire de surveillance proactive pour les systèmes Unix After=network.target Documentation=man:monit(1) https://mmonit.com/wiki/Monit/HowTo [Service] Type=simple KillMode=process ExecStart=/usr /local/bin/monit -I ExecStop=/usr/local/bin/monit quit ExecReload=/usr/local/bin/monit reload Restart =on-abnormal StandardOutput=null [Install] WantedBy=multi-user.target  

Rechargez le démon systemd.

rechargement du démon systemctl

Démarrez le service Monit.

systemctl démarrer la surveillance

Démarrage automatique de Monit au démarrage.

systemctl activer la surveillance

Pare-feu

Configurez le pare-feu pour autoriser l'accès à l'interface Web de Monit, s'exécutant sur le port 2812.

firewall-cmd --permanent --add-port=2812/tcpfirewall-cmd --reload

Accéder à l'interface Web de Monit

Ouvrez votre navigateur Web et accédez à l'URL ci-dessous.

http://votre.adresse.ip.ess:2812

OU

http://votre.fq.dn:2812

Utilisez le nom d'utilisateur et le mot de passe mentionnés à l'étape précédente.

La page d'accueil de Monit ressemblera à ceci :

Configurer les services de surveillance avec Monit

Une fois l'interface Web en place, nous pouvons commencer à configurer d'autres services que vous souhaitez surveiller.

mkdir /etc/monit.d/

Vous pouvez placer les fichiers de configuration sous le répertoire /etc/monit.d/.

Configurer le service pour syslog.

vi /etc/monit.d/syslogmonitor

Utilisez les informations ci-dessous.

vérifier le processus SysLog avec pidfile /var/run/rsyslogd.pidstart program ="/usr/bin/systemctl start rsyslog.service"stop program ="/usr/bin/systemctl stop rsyslog.service"

Service de configuration pour HTTP.

vi /etc/monit.d/httpdmonitor

Utilisez les informations ci-dessous.

vérifier le processus HTTPD avec pidfile /var/run/httpd/httpd.pidstart program "/usr/bin/systemctl start httpd.service"stop program "/usr/bin/systemctl stop httpd.service"if failed port 80 protocol http puis redémarrer

Une fois configuré, testez la syntaxe Monit

monit -t

Sortie :

Contrôlez la syntaxe du fichier OK

Rechargez Monit pour prendre en compte les modifications.

moniteur de rechargement systemctl

Accédez à l'interface Web. Vous devriez voir les nouveaux services que nous venons de configurer.

En cliquant sur un service, vous obtiendrez plus d'informations sur le service en question. Ici, vous pouvez effectuer des actions telles que démarrer, arrêter et redémarrer le service, et également désactiver la surveillance.

Tester la surveillance

Arrêtez maintenant le service HTTP pour nos tests.

systemctl arrêter httpd

Attendez 30 secondes, Monit démarrera automatiquement le syslog. Vous pouvez le trouver dans le journal Monit.

cat /var/log/monit.log

Sortie :

[EST Jan 27 20:37:03] erreur :le processus 'HTTPD' n'est pas en cours d'exécution[EST Jan 27 20:37:03] info :'HTTPD' essaie de redémarrer[EST Jan 27 20:37:03] info :'HTTPD' start:'/usr/bin/systemctl start httpd.service'[EST Jan 27 20:37:38] info :le processus 'HTTPD' est en cours d'exécution avec le pid 25270

Alerte par e-mail avec Monit

Des modèles d'alerte prédéfinis sont disponibles dans Monit pour alerter les administrateurs système en cas d'échec d'un service particulier. Pour cette démo, nous utiliserons le relais local (serveur de messagerie) pour alerter l'utilisateur root.

Modifiez le fichier de configuration.

vi /etc/monitrc

Vous pouvez mettre à jour le modèle d'alerte ci-dessous selon vos besoins.

set mail-format { from:Monit  subject:monit alert -- $EVENT $SERVICE message:$EVENT Service $SERVICE Date:$DATE Action:$ACTION Hôte:$HOST Description:$DESCRIPTION Votre fidèle employé, Monit}

Définissez ici l'adresse du destinataire pour recevoir des alertes sur tous les types d'actions

définir l'alerte root@localhost

Définissez l'adresse du destinataire ici pour ne pas alerter sur les redémarrages de service initiés par l'utilisateur.

set alert root@localhost not on { instance, action }

Enfin, définissez la configuration du serveur de messagerie afin que vous puissiez recevoir des e-mails.

définir l'hôte local du serveur de messagerie

Ici, j'utilise le relais local dnf install -y sendmail &&systemctl start sendmail afin que nous puissions lire les alertes par e-mail sur le terminal pour confirmer le mécanisme d'alerte.

Rechargez le service.

moniteur de rechargement systemctl

Afficher l'alerte

Le Monit a envoyé des e-mails à l'utilisateur root concernant le processus HTTP.

cat /var/spool/mail/root

Sortie :

À :[email protected] :monit alert -- N'existe pas HTTPDDate :Tue, 28 Jan 2020 01:44:05 GMTX-Mailer :Monit 5.27.0MIME-Version :1.0Content-Type :text/ plaine; charset=utf-8Content-Transfer-Encoding :8bitMessage-Id :<[email protected]>N'existe pas Service HTTPD Date :lundi 27 janvier 2020 20:44:05 Action :redémarrer Hôte :centos8.itzgeek .local Description :le processus n'est pas en cours d'exécution Votre fidèle employé, Monit @ ITzGeekFrom [email protected] Mon Jan 27 20:44:47 2020Return-Path :Reçu :de centos8.itzgeek.local (localhost [127.0.0.1] ) par centos8.itzgeek.local (8.15.2/8.15.2) avec l'identifiant ESMTP 00S1ilKL026285 pour  ; Mon, 27 Jan 2020 20:44:47 -0500De :"Monit" À :[email protected] :monit alert -- Existe HTTPDDate :Mar, 28 Jan 2020 01:44 :47 GMTX-Mailer :Monit 5.27.0MIME-Version :1.0Content-Type :text/plain ; charset=utf-8Content-Transfer-Encoding :8bitMessage-Id :<[email protected]>Exists Service HTTPD Date :lundi 27 janvier 2020 20:44:47 Action :alerte Hôte :centos8.itzgeek.local Description :le processus est en cours d'exécution avec le pid 26069 Votre fidèle employé, Monit @ ITzGeek

OU

Utilisez mutt dnf install -y mutt, un client de messagerie pour afficher les alertes.

Conclusion

C'est tout. Nous avons configuré avec succès Monit sur CentOS 8 / RHEL 8.


Cent OS
  1. Comment installer phpMyAdmin sur RHEL 8 / CentOS 8

  2. Comment installer P7Zip sur RHEL 8 / CentOS 8

  3. Comment installer ntfs-3g sur RHEL 8 / CentOS 8

  4. Comment installer Icinga 2 sur CentOS 8 / RHEL 8

  5. Comment installer Monit sur CentOS 6

Comment installer cpan sur RHEL 8 / CentOS 8

Comment installer ruby ​​sur RHEL 8 / CentOS 8

Comment installer Docker CE sur RHEL 8 / CentOS 8

Comment installer VirtualBox 6.0 sur CentOS 8 / RHEL 8

Comment installer PHP 7.4 sur CentOS 8 / RHEL 8

Comment installer Monit sur CentOS 7 / RHEL 7