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

Comment installer Monit sur CentOS 7 / RHEL 7

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 à l'aide du navigateur Web et également, chaque fois que cela est nécessaire, à effectuer automatiquement la maintenance ou la réparation du processus particulier de manière à ce qu'il puisse être remis en ligne. /P>

Monit peut également être utilisé pour gérer et surveiller les programmes, fichiers, répertoires et périphériques pour les changements d'horodatage, les changements de somme de contrôle ou les changements de taille ; ne se limite pas à effectuer diverses vérifications du 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 à installer Monit sur CentOS 7 / RHEL 7.

Installer Monit

Activez le référentiel EPEL pour télécharger la dernière version de Monit.

yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

Installez Monit à l'aide de la commande YUM.

yum -y install monit

Démarrez monit en utilisant la commande suivante.

monit

Sortie :

Starting Monit 5.25.1 daemon with http interface at [localhost]:2812

Vérifiez l'état de la surveillance.

monit status

Sortie :

Monit 5.25.1 uptime: 0m

System 'server.itzgeek.local'
  status                       OK
  monitoring status            Monitored
  monitoring mode              active
  on reboot                    start
  load average                 [0.01] [0.05] [0.04]
  cpu                          0.0%us 0.0%sy 0.0%wa
  memory usage                 170.2 MB [29.0%]
  swap usage                   0 B [0.0%]
  uptime                       4m
  boot time                    Sun, 09 Feb 2020 04:55:42
  data collected               Sun, 09 Feb 2020 05:00:00

Configurer la surveillance

Le fichier de configuration principal de Monit est /etc/monitrc. 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. Ce paramètre peut être modifié en modifiant la ligne ci-dessous.

set daemon  30

Les alertes peuvent être configurées par.

set mailserver mx.itzgeek.local port 25

Les modèles d'alerte peuvent être trouvés dans le fichier de configuration lui-même. Voir les extras au bas de cet article.
Le paramètre des journaux peut être modifié à l'aide du fichier suivant.

set log /var/log/monit

Activer l'interface Web Monit

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é.

Modifiez le fichier de configuration de moniteur.

vi /etc/monitrc

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

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'
    #with ssl {            # enable SSL/TLS and set path to server certificate
    #    pemfile: /etc/ssl/certs/monit.pem
    #}

À :

set httpd port 2812 and
    use address 0.0.0.0  # only accept connection 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'
    #with ssl {            # enable SSL/TLS and set path to server certificate
    #    pemfile: /etc/ssl/certs/monit.pem
    #}

À partir des paramètres ci-dessus, monit écoutera sur 2812 et l'utilisateur administrateur pourra accéder à l'interface Web à partir de n'importe quel réseau.

Recharger le moniteur.

systemctl restart monit

Démarrage automatique de Monit au démarrage.

systemctl enable monit

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/tcp

firewall-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 à celle ci-dessous.

Configurer les services pour la surveillance avec Monit

Une fois l'interface Web en place, nous pouvons commencer à configurer les services que nous voulons surveiller.

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

Configurer pour le service SSH.

vi /etc/monit.d/sshdmonitor

Utilisez les informations ci-dessous.

check process sshd with pidfile /var/run/sshd.pid
start program  "/usr/bin/systemctl start sshd.service"
stop program  "/usr/bin/systemctl stop sshd.service"
if failed port 22 protocol ssh then restart

Configurer le service pour syslog.

vi /etc/monit.d/syslogmonitor

Utilisez les informations ci-dessous.

check process syslogd with pidfile /var/run/syslogd.pid
start 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.

check process httpd with pidfile /var/run/httpd/httpd.pid
start program "/usr/bin/systemctl start httpd.service"
stop program "/usr/bin/systemctl stop httpd.service"
if failed port 80 protocol http then restart

Une fois configuré, testez la syntaxe monit

monit -t

Sortie :

Control file syntax OK

Rechargez-le pour prendre effet des modifications.

monit reload

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

En cliquant sur les services, 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.

Surveillance des tests

Arrêtez maintenant le service HTTP pour nos tests.

systemctl stop httpd

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

cat /var/log/monit.log

Sortie :

[UTC Feb  9 05:18:00] error    : 'httpd' process is not running
[UTC Feb  9 05:18:00] info     : 'httpd' trying to restart
[UTC Feb  9 05:18:00] info     : 'httpd' start: '/usr/bin/systemctl start httpd.service'
[UTC Feb  9 05:18:31] info     : 'httpd' process is running with pid 1959

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.

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 <monit@$HOST>
   subject: monit alert --  $EVENT $SERVICE
   message: $EVENT Service $SERVICE
                 Date:        $DATE
                 Action:      $ACTION
                 Host:        $HOST
                 Description: $DESCRIPTION

            Your faithful employee,
            Monit @ ITzGeek
}

Définissez ici l'adresse du destinataire. Remarque :Vous recevrez des alertes sur tous les types d'actions

set alert root@localhost

Si vous souhaitez ne pas vous alerter lors du redémarrage du service initié par l'utilisateur, ajoutez la configuration ci-dessous.

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. Ici, j'utilise le relais local afin que nous puissions lire l'alerte mail sur le terminal pour vérifier les tests.

set mailserver localhost

Rechargez le service.

monit reload

Exemple d'alerte

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

cat /var/spool/mail/root

E-mail :

From [email protected]  Sun Feb  9 05:22:48 2020
Return-Path: <[email protected]>
X-Original-To: root@localhost
Delivered-To: [email protected]
Received: from server.itzgeek.local (localhost [IPv6:::1])
        by server.itzgeek.local (Postfix) with ESMTP id 670E21082B34
        for <root@localhost>; Sun,  9 Feb 2020 05:22:48 +0000 (UTC)
From: "Monit" <[email protected]>
To: [email protected]
Subject: monit alert --  Does not exist httpd
Date: Sun, 09 Feb 2020 05:22:48 GMT
X-Mailer: Monit 5.25.1
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Message-Id: <[email protected]>

Does not exist Service httpd
                 Date:        Sun, 09 Feb 2020 05:22:48
                 Action:      restart
                 Host:        server.itzgeek.local
                 Description: process is not running

            Your faithful employee,
            Monit @ ITzGeek

From [email protected]  Sun Feb  9 05:23:18 2020
Return-Path: <[email protected]>
X-Original-To: root@localhost
Delivered-To: [email protected]
Received: from server.itzgeek.local (localhost [IPv6:::1])
        by server.itzgeek.local (Postfix) with ESMTP id B22AF1082B37
        for <root@localhost>; Sun,  9 Feb 2020 05:23:18 +0000 (UTC)
From: "Monit" <[email protected]>
To: [email protected]
Subject: monit alert --  Exists httpd
Date: Sun, 09 Feb 2020 05:23:18 GMT
X-Mailer: Monit 5.25.1
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Message-Id: <[email protected]>

Exists Service httpd
                 Date:        Sun, 09 Feb 2020 05:23:18
                 Action:      alert
                 Host:        server.itzgeek.local
                 Description: process is running with pid 2139

            Your faithful employee,
            Monit @ ITzGeek

OU

Utilisez le client de messagerie Mutt (yum install -y mutt).

Conclusion

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


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 8 / RHEL 8