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

Comment installer et configurer Monit.

Introduction

Monit est un programme utile qui surveille et gère automatiquement les programmes du serveur pour s'assurer non seulement qu'ils restent en ligne de manière cohérente, mais que la taille du fichier, la somme de contrôle ou les autorisations sont toujours correctes.

# yum install monit ( To install monit On RedHat/CentOS/Fedora/ )

# sudo apt-get install monit ( To install monit On Ubuntu/Debian )

Configurer le démon Monit

# vi /etc/monit.conf ( Configuration file in RedHat/CentOS/Fedora/ )

# vi /etc/monit/monitrc ( Configuration file in Ubuntu/Debian )

AJOUTER MAINTENANT LES SERVICES AU FICHIER DE CONFIGURATION MONIT

Ouvrez le fichier de configuration, c'est-à-dire

For RedHat/CentOS/Fedora (# vi /etc/monit.conf)
For Ubuntu/Debian (# vi /etc/monit/monitrc)

Supprimez toutes les lignes du fichier de configuration et ajoutez les lignes ci-dessous. (chaque ligne est définie brièvement ci-dessous)

Définir l'intervalle du démon

Il s'agit de l'intervalle (en secondes) auquel Monit exécute ses tests. La valeur que vous choisirez dépendra du nombre de tests que vous définissez. Si nous modifions cette valeur, vous devrez redémarrer Monit.

# check services at 30 seconds of intervals
set daemon 30

Définir le fichier journal

# set logfile syslog facility log_daemon                       
set logfile /var/log/monit.log

Vérifiez les paramètres d'utilisation de la mémoire et redémarrez

##To check the memory usage and restart the services.    
	check system localhost
    	if memory usage > 93%
        then exec "/usr/local/bin/httpd-start"

Vérifiez le service HTTPD et redémarrez

Ici, le service Httpd est surveillé par monit, c'est-à-dire lorsque le service n'est pas en cours d'exécution ou lorsque le loadavg est supérieur, alors monit exécutera le service httpd pour redémarrer

#To check the Httpd service and restart the services.
# Httpd
        check process httpd with pidfile /var/run/httpd/httpd.pid
        start program = "/usr/local/bin/httpd-start"
        stop program = "/usr/local/bin/httpd-kill"
        if loadavg (1min) greater than 10 for 1 cycles then restart

Vérifiez le service mysqld et redémarrez

Ici, le service Mysqld est surveillé par monit, c'est-à-dire lorsque le service n'est pas en cours d'exécution ou lorsque le loadavg est supérieur, alors monit exécutera le service Mysql pour redémarrer

#To check the mysql service and restart the services.
# mysqld
        check process mysqld with pidfile /var/run/mysqld/mysqld.pid
        start program = "/etc/init.d/mysqld start"
        stop program = "/etc/init.d/mysqld stop"
        if memory usage > 70% for 1 cycles then restart
        if failed host 127.0.0.1 port 3306 then restart
        if loadavg (1min) greater than 5 for 1 cycles then restart

De la même manière, nous pouvons ajouter n'importe quel service qui doit être surveillé par monit et redémarrer

Une fois tous les services ajoutés sur le fichier de configuration. le fichier de configuration ressemble à ci-dessous..

# check services at 2-minute intervals
set daemon 30
# set logfile syslog facility log_daemon                       
set logfile /var/log/monit.log
##To check the memory usage and restart the services.    
	check system localhost
    	if memory usage > 93%
        then exec "/usr/local/bin/httpd-start"

#To check the Httpd service and restart the services.
# Httpd
        check process httpd with pidfile /var/run/httpd/httpd.pid
        start program = "/usr/local/bin/httpd-start"
        stop program = "/usr/local/bin/httpd-kill"
        if loadavg (1min) greater than 10 for 1 cycles then restart

#To check the mysql service and restart the services.
# mysqld
        check process mysqld with pidfile /var/run/mysqld/mysqld.pid
        start program = "/etc/init.d/mysqld start"
        stop program = "/etc/init.d/mysqld stop"
        if memory usage > 70% for 1 cycles then restart
        if failed host 127.0.0.1 port 3306 then restart
        if loadavg (1min) greater than 5 for 1 cycles then restart

NOTE :Puisque nous avons défini la ligne suivante dans le fichier de configuration

start program ="/usr/local/bin/httpd-start"
stop program ="/usr/local/bin/httpd-kill"

Nous devons ajouter les scripts httpd-start, httpd-kill, c'est-à-dire

créez un fichier avec la commande suivante et ajoutez les lignes suivantes

vi /usr/local/bin/httpd-start
#!/bin/bash
/usr/bin/killall -9 httpd; /usr/bin/killall -9 php-cgi; /usr/bin/ipcs |grep apache | /bin/cut -d" " -f2 | /usr/bin/xargs /usr/bin/ipcrm sem {};
/bin/sleep .5;
/usr/sbin/apachectl start
#/sbin/swapoff -a
#/sbin/swapon -a
exit 0;

maintenant enregistrez et quittez en utilisant la commande

 :wq!

Maintenant pareil pour le script httpd-kill

créez un fichier avec la commande suivante et ajoutez les lignes suivantes

 vi /usr/local/bin/httpd-kill
#!/bin/bash
/usr/bin/killall -9 httpd; /usr/bin/ipcs |grep apache | /bin/cut -d" " -f2 | /usr/bin/xargs /usr/bin/ipcrm sem {};
/bin/sleep .5;
exit 0;

de la même manière que nous devons définir pour les scripts Mysqld..

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. En utilisant la commande ci-dessous

# monit -t

Si le fichier de configuration de monit est correct, vous obtenez un message du type "Syntaxe du fichier de contrôle OK", ou si vous ne voyez aucune erreur,

Après avoir corrigé toutes les erreurs possibles, vous pouvez taper la commande suivante pour démarrer le service de surveillance.

# /etc/init.d/monit start

Vérification du service Monit

Vous pouvez vérifier que le service de surveillance est démarré en vérifiant le fichier journal.

# tail -f /var/log/monit

L'exemple de sortie de journal est le suivant

[BDT Apr  3 03:06:04] info     : Starting monit HTTP server at [localhost:2812]
[BDT Apr  3 03:06:04] info     : monit HTTP server started
[BDT Apr  3 03:06:04] info     : 'e2enetworks.com' Monit started
[BDT Apr  3 03:06:04] error    : 'nginx' process is not running
[BDT Apr  3 03:06:04] info     : 'nginx' trying to restart
[BDT Apr  3 03:06:04] info     : 'nginx' start: /etc/init.d/nginx

Cent OS
  1. Comment installer et configurer Nginx sur CentOS 7

  2. Comment installer et configurer Redis sur CentOS 7

  3. Comment installer et configurer GitLab sur CentOS 7

  4. Comment installer et configurer Monit.

  5. Comment installer et configurer CyberPanel sur CentOS 8

Comment installer et configurer ISPConfig CP sur CentOS 7

Comment installer et configurer ownCloud sur CentOS 7

Comment installer et configurer Samba sur CentOS 8

Comment installer et configurer Fail2ban sur CentOS 8

Comment installer et configurer HAproxy sur CentOS 6

Comment installer et configurer Grafana