Automatisation de la surveillance des serveurs, etc. avec Monit

Qu'est-ce que Monit

Avec le démon de surveillance intégré, vous pouvez effectuer une notification par courrier électronique, une récupération automatique, etc. et une surveillance au-dessus du seuil défini. -Http response, process, port monitoring Exemple) Apache, MySQL, SSL, Postfix, fluentd ・ CPU, mémoire, charge moyenne, capacité du disque, etc.

1. 1. Réglage initial (lors de la nouvelle installation sur le serveur)

① Installez et activez le package EPEL rpm

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

② Installez monit

$ sudo yum -y install monit

③ Vérifiez s'il existe des fichiers liés

$ rpm -ql monit
/etc/logrotate.d/monit
/etc/monit.d
/etc/monit.d/logging
/etc/monitrc
/usr/bin/monit
/usr/lib/systemd/system/monit.service
/usr/share/doc/monit-5.14
/usr/share/doc/monit-5.14/COPYING
/usr/share/doc/monit-5.14/README
/usr/share/man/man1/monit.1.gz
/var/log/monit.log

④ Sauvegarde du fichier de configuration

$ sudo cp -av /etc/monitrc{,.bk}
`/etc/monitrc' -> `/etc/monitrc.bak'
// -une copie avec les autorisations autant que possible
// -v Afficher le nom du fichier avant la copie
// {,.bk}Avec une technique appelée déploiement d'accolades.Copier avec le nom de fichier bk

⑤ Modifiez le fichier de réglage

$ vi /etc/monitrc
…
set daemon  30              //L'intervalle de vérification par défaut est de 30 secondes, modifiez-le donc de manière arbitraire.
…
include /etc/monit.d/*.conf // .Modifier pour lire uniquement la configuration

⑤'monit dispose également d'une fonction de serveur WWW, qui vous permet de vous référer aux paramètres et aux services de contrôle via HTTP.

set httpd port 2812 and    #Port d'interface Web(Default:2812)
    allow localhost        #IP pour autoriser l'accès(localhost)
    allow XXX.XXX.XXX.XXX/XX  #IP pour autoriser l'accès(Toute IP)
    allow admin:monit      #Utilisateur de la console de gestion='admin' password='monit'
#Commentez parce que SSL n'est pas utilisé ci-dessous
    #with ssl {            # enable SSL/TLS and set path to server certificate
    #    pemfile: /etc/ssl/certs/monit.pem
    #}

⑥ Création du fichier de paramétrage

$ vi /etc/monit.d/XXXX.conf //Créer un nouveau pour chaque paramètre
$ mv /etc/monit.d/logging /etc/monit.d/logging.conf //Renommer le fichier de paramètres du journal

2. Fichier de réglage commun

Ce qui suit est le fichier de paramètres principal.

/etc/monitrc
sauvegarde:/etc/monitrc.bk

Incluez et lisez le fichier de paramètres individuel suivant.
/etc/monit.d/*.conf

3. 3. Fichier de réglage individuel (exemple)

/etc/monit.d/test.conf
//Surveillance des paramètres du processus
check process test matching "test"
//Paramètres de démarrage
start program "/usr/local/test/bin/start_test.sh"
//Arrêter le réglage
stop program "/usr/local/test/bin/stop_test.sh"
//S'il n'y a pas de processus, redémarrez
if does not exist then restart
//Notifier slack *
if does not exist then exec "/usr/local/test/bin/slacknotice.sh"
//Si vous ne vous réveillez pas après avoir redémarré 5 fois pendant 5 surveillance, arrêtez
if 5 restarts within 5 cycles then unmonitor

Il est recommandé d'installer le cron suivant comme meilleure pratique de monit.

echo "0 */1 * * * /usr/bin/monit monitor all" >> /var/spool/cron/root

https://hogem.hatenablog.com/entry/20090723/1248358467

4. Commande d'exécution

Commande de démarrage $ systemctl start monit Démarre automatiquement au démarrage du système d'exploitation $ systemctl enable monit Commande d'arrêt $ systemctl stop monit statut $ monit status Recharger lorsque le réglage est modifié (Important !!) $ monit reload Commande de test lors de la modification des paramètres $ monit -t Connaître l'état de la surveillance $ monit summary Lorsque la surveillance est ignorée (si non surveillée) $ monit monitor all Liste des commandes $ monit -h

5. Écran de gestion (Monit Service Manager)

IP: IP du serveur monit PORT: PORT réglé sur ⑤ ' http://XXX.XXX.XXX.XXX:2812/

6. À propos de M / Monit payé

Les sites suivants ont été décrits en détail. https://inokara.hateblo.jp/category/monit

Recommended Posts

Automatisation de la surveillance des serveurs, etc. avec Monit
Automatisation des opérations à distance avec Fabric
Gagner avec la surveillance
Celui de / etc / shadow
Serveur proxy avec Docker
Serveur local avec python
Mettez numpy scipy etc. dans virtualenv d'Ubuntu 12.04 LTS Server
J'ai essayé de démarrer le serveur de Django avec VScode au lieu de Pycharm
Vérifiez l'état de la mémoire du serveur avec la commande gratuite Linux
Vérifiez l'état de fonctionnement du serveur avec la commande Linux top
Créez un serveur API Web ultra-rapide avec Falcon
La vraie valeur de l'automatisation Terraform à partir d'Oracle Cloud