[LINUX] Automatisierung der Serverüberwachung etc. mit Monit

Was ist Monit?

Mit dem integrierten Überwachungsdämon können Sie E-Mail-Benachrichtigungen, automatische Wiederherstellung usw. und eine Überwachung über dem festgelegten Schwellenwert durchführen. -Http-Antwort, Prozess, Portüberwachung Beispiel) Apache, MySQL, SSL, Postfix, fließend ・ CPU, Speicher, Lastdurchschnitt, Festplattenkapazität usw.

1. 1. Grundeinstellung (bei Neuinstallation auf dem Server)

① Installieren und aktivieren Sie das EPEL rpm-Paket

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

② Monit installieren

$ sudo yum -y install monit

③ Überprüfen Sie, ob verwandte Dateien vorhanden sind

$ 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

④ Sicherung der Einstellungsdatei

$ sudo cp -av /etc/monitrc{,.bk}
`/etc/monitrc' -> `/etc/monitrc.bak'
// -a Kopieren Sie so viele Berechtigungen wie möglich
// -v Dateinamen vor dem Kopieren anzeigen
// {,.bk}Mit einer Technik namens Brace Deployment.Kopieren Sie mit dem Dateinamen bk

⑤ Bearbeiten Sie die Einstellungsdatei

$ vi /etc/monitrc
…
set daemon  30              //Das Standardprüfintervall beträgt 30 Sekunden. Ändern Sie es daher beliebig.
…
include /etc/monit.d/*.conf // .Bearbeiten, um nur zu lesen conf

⑤'monit verfügt außerdem über eine WWW-Serverfunktion, mit der Sie über HTTP auf Einstellungen und Steuerungsdienste zugreifen können.

set httpd port 2812 and    #Webinterface-Port(Default:2812)
    allow localhost        #IP, um den Zugriff zu ermöglichen(localhost)
    allow XXX.XXX.XXX.XXX/XX  #IP, um den Zugriff zu ermöglichen(Beliebige IP)
    allow admin:monit      #Benutzer der Verwaltungskonsole='admin' password='monit'
#Kommentieren Sie aus, da SSL unten nicht verwendet wird
    #with ssl {            # enable SSL/TLS and set path to server certificate
    #    pemfile: /etc/ssl/certs/monit.pem
    #}

⑥ Erstellung einer Einstellungsdatei

$ vi /etc/monit.d/XXXX.conf //Erstellen Sie für jede Einstellung eine neue
$ mv /etc/monit.d/logging /etc/monit.d/logging.conf //Protokolleinstellungsdatei umbenennen

2. Gemeinsame Einstellungsdatei

Das Folgende ist die Haupteinstellungsdatei.

/etc/monitrc
Backup:/etc/monitrc.bk

Fügen Sie die folgende individuelle Einstellungsdatei hinzu und lesen Sie sie.
/etc/monit.d/*.conf

3. 3. Individuelle Einstellungsdatei (Beispiel)

/etc/monit.d/test.conf
//Prozesseinstellungen überwachen
check process test matching "test"
//Starteinstellungen
start program "/usr/local/test/bin/start_test.sh"
//Einstellung beenden
stop program "/usr/local/test/bin/stop_test.sh"
//Wenn kein Prozess vorhanden ist, starten Sie neu
if does not exist then restart
//Benachrichtigen Sie locker *
if does not exist then exec "/usr/local/test/bin/slacknotice.sh"
//Starten Sie 5 Mal während 5 Überwachung neu und stoppen Sie, wenn Sie nicht aufwachen
if 5 restarts within 5 cycles then unmonitor

Es wird empfohlen, den folgenden Cron als bewährte Methode für die Überwachung zu installieren.

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

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

4. Ausführungsbefehl

Befehl starten $ systemctl start monit Startet automatisch, wenn das Betriebssystem gestartet wird $ systemctl enable monit Befehl stoppen $ systemctl stop monit Status $ monit status Neu laden, wenn die Einstellung geändert wird (Wichtig !!) $ monit reload Testbefehl beim Ändern von Einstellungen $ monit -t Kennen Sie den Überwachungsstatus $ monit summary Wenn die Überwachung übersprungen wird (wenn nicht überwacht) $ monit monitor all Befehlsliste $ monit -h

5. Verwaltungsbildschirm (Monit Service Manager)

IP: IP des Überwachungsservers PORT: PORT in ⑤ 'gesetzt http://XXX.XXX.XXX.XXX:2812/

6. Über bezahlte M / Monit

Die folgenden Stellen wurden ausführlich beschrieben. https://inokara.hateblo.jp/category/monit

Recommended Posts

Automatisierung der Serverüberwachung etc. mit Monit
Automatisierung von Remote-Operationen mit Fabric
Mit Monitoring gewinnen
Das von / etc / shadow
Proxyserver mit Docker
Lokaler Server mit Python
Setzen Sie numpy scipy usw. in virtualenv von Ubuntu 12.04 LTS Server
Ich habe versucht, Djangos Server mit VScode anstelle von Pycharm zu starten
Überprüfen Sie den Speicherstatus des Servers mit dem Befehl Linux free
Überprüfen Sie den Betriebsstatus des Servers mit dem Linux-Befehl top
Erstellen Sie mit Falcon einen Light-Speed-Web-API-Server
Der wahre Wert der Terraform-Automatisierung ab Oracle Cloud