GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So installieren Sie Monit unter CentOS 8 / RHEL 8

Monit ist ein Open-Source-Prozessüberwachungstool für das Linux-Betriebssystem, mit dem Sie den Systemprozess überwachen können. Immer wenn der Dienst/Prozess ausfällt, führt er automatisch die Wartung und Reparatur des jeweiligen Prozesses durch und stellt sicher, dass er wieder online gebracht wird.

Monit kann auch zur Verwaltung und Überwachung von Programmen, Dateien, Verzeichnissen, Dateisystemen, TCP/IP-Netzwerkprüfungen, Protokollprüfungen verwendet werden und kann SSL für solche Prüfungen verwenden.

Es protokolliert seine Protokolldatei und benachrichtigt den Benutzer über anpassbare Nachrichten.

Diese Anleitung hilft Ihnen bei der Einrichtung von Monit unter CentOS 8 / RHEL 8.

Monit installieren

Installieren Sie die erforderlichen Build-Tools, da Monit noch als RPM für CentOS 8 / RHEL 8 gepackt werden muss.

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

Klonen Sie den Monit-Quellcode zum Kompilieren.

git-Klon https://bitbucket.org/tildeslash/monit.git

Kompilieren Sie den Monit mit einer Reihe von folgenden Befehlen.

cd monit./bootstrap./configuremakemake install

Monit konfigurieren

Funktionalität

Kopieren Sie die Datei „monitrc“ aus der heruntergeladenen Quelle in das Verzeichnis „/etc“.

cp monitrc /etc/

Wir werden ein paar Änderungen an der Monit-Konfigurationsdatei für unsere Anforderungen vornehmen.

vi /etc/monitrc

Standardmäßig ist Monit so eingestellt, dass es die Dienste in einem Intervall von 30 Sekunden überprüft. Dieses Intervall kann geändert werden, indem Sie die folgende Zeile ändern.

Dämon 30 setzen

Sie können einen E-Mail-Server einrichten, um Benachrichtigungen in Ihrem Posteingang zu erhalten.

Mailserver mx.itzgeek.local Port 25 setzen
E-Mail-Benachrichtigungen können mithilfe von integrierten Vorlagen angepasst werden, die sich in der Konfigurationsdatei selbst befinden. Weitere Informationen finden Sie unter E-Mail-Benachrichtigungen mit Monit am Ende dieses Artikels.

Die Protokolleinstellungen können mithilfe der folgenden Datei geändert werden.

set log /var/log/monit.log

Stellen Sie sicher, dass Sie die folgende Zeile auskommentieren. Wir werden hier Dienstüberwachungsdateien ablegen.

inklusive /etc/monit.d/*

Webinterface

Monit bietet auch eine Webschnittstelle zum Überwachen und Verwalten der konfigurierten Dienste. Standardmäßig lauscht Monit auf Port 2812, aber es muss eingerichtet werden.

Bearbeiten Sie die Konfigurationsdatei von Monit /etc/monitrc.

vi /etc/monitrc

Suchen Sie nach httpd-Port 2812, ändern Sie die folgenden Einträge.

VON:

set httpd port 2812 and use address localhost # nur Verbindung von localhost akzeptieren localhost erlauben # localhost sich mit dem Server verbinden und erlauben admin:monit # erfordert Benutzer 'admin' mit Passwort 'monit' #with ssl { # SSL aktivieren /TLS und Pfad zum Serverzertifikat # pemfile festlegen:/etc/ssl/certs/monit.pem #}

AN:

stellen Sie den httpd-Port 2812 ein und verwenden Sie die Adresse 0.0.0.0 # nur Verbindung von localhost akzeptieren (löschen, wenn Sie M/Monit verwenden) 0.0.0.0/0 zulassen # Erlaube localhost sich mit dem Server zu verbinden und erlaube admin:monit # Benutzer 'admin' mit Passwort 'monit' #with ssl { # SSL/TLS aktivieren und Pfad zum Serverzertifikat festlegen # pemfile:/etc/ssl/certs/monit.pem #}

Ausgehend von den obigen Einstellungen lauscht Monit auf allen Schnittstellen auf Port 2812. Der Admin-Benutzer kann von jedem Netzwerk aus auf die Webschnittstelle zugreifen.

Systemd-Setup

Wir werden jetzt eine systemd-Datei erstellen, um Monit beim Systemstart automatisch zu starten.

vi /lib/systemd/system/monit.service

Verwenden Sie die folgenden Einstellungen.

 # Diese Datei ist eine systemd-Vorlage für den Monit-Dienst. Um # monit bei systemd zu registrieren, platzieren Sie die Datei monit.service # im Verzeichnis /lib/systemd/system/ und starten Sie sie # dann mit systemctl (siehe unten). # # Monit zum Starten beim Booten aktivieren:# systemctl enable monit.service # # Monit sofort starten:# systemctl start monit.service # # Monit stoppen:# systemctl stop monit.service # # Status:# systemctl status monit.service [Unit ] Description=Proaktives Überwachungsdienstprogramm für Unix-Systeme 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 [Installieren] WantedBy=multi-user.target  

Laden Sie den systemd-Daemon neu.

systemctl daemon-reload

Starten Sie den Monit-Dienst.

systemctl start monit

Monit beim Start automatisch starten.

systemctl enable monit

Firewall

Konfigurieren Sie die Firewall, um den Zugriff auf die Monit-Weboberfläche zuzulassen, die auf Port 2812 ausgeführt wird.

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

Greifen Sie auf die Monit-Weboberfläche zu

Öffnen Sie Ihren Webbrowser und rufen Sie die folgende URL auf.

http://Ihre.IP.Adresse.ess:2812

ODER

http://ihr.fq.dn:2812

Verwenden Sie den im vorherigen Schritt genannten Benutzernamen und das Passwort.

Die Monit-Startseite sieht folgendermaßen aus:

Dienste für die Überwachung mit Monit konfigurieren

Sobald die Webschnittstelle eingerichtet ist, können wir damit beginnen, andere Dienste einzurichten, die Sie überwachen möchten.

mkdir /etc/monit.d/

Sie können die Konfigurationsdateien im Verzeichnis /etc/monit.d/ ablegen.

Dienst für Syslog konfigurieren.

vi /etc/monit.d/syslogmonitor

Verwenden Sie die folgenden Informationen.

prüfen Sie den Prozess SysLog mit pidfile /var/run/rsyslogd.pidstart program ="/usr/bin/systemctl start rsyslog.service"stop program ="/usr/bin/systemctl stop rsyslog.service"

Konfigurationsdienst für HTTP.

vi /etc/monit.d/httpdmonitor

Verwenden Sie die folgenden Informationen.

Prozess HTTPD mit PID-Datei prüfen /var/run/httpd/httpd.pidstart program "/usr/bin/systemctl start httpd.service"stop program "/usr/bin/systemctl stop httpd.service", wenn Port 80-Protokoll fehlgeschlagen ist http dann neu starten

Testen Sie nach der Konfiguration die Monit-Syntax

monit -t

Ausgabe:

Steuerdateisyntax OK

Laden Sie Monit neu, um die Änderungen zu übernehmen.

Systemctl-Überwachung neu laden

Greifen Sie auf die Weboberfläche zu. Sie sollten die neuen Dienste sehen, die wir gerade konfiguriert haben.

Wenn Sie auf einen Dienst klicken, erhalten Sie weitere Informationen zu dem jeweiligen Dienst. Hier können Sie Aktionen wie das Starten, Beenden und Neustarten des Dienstes ausführen und auch die Überwachung deaktivieren.

Testen Sie die Überwachung

Stoppen Sie jetzt den HTTP-Dienst für unsere Tests.

systemctl stoppt httpd

Warten Sie 30 Sekunden, Monit startet das Syslog automatisch. Sie finden es im Monit-Log.

cat /var/log/monit.log

Ausgabe:

[EST 27. Jan 20:37:03] Fehler:„HTTPD“-Prozess läuft nicht[EST 27. Jan 20:37:03] info:„HTTPD“ versucht neu zu starten[EST 27. Jan 20:37:03] info :'HTTPD' start:'/usr/bin/systemctl start httpd.service' [EST 27. Januar 20:37:38] info :'HTTPD'-Prozess läuft mit PID 25270

E-Mail-Benachrichtigung mit Monit

In Monit sind vordefinierte Warnvorlagen verfügbar, um Systemadministratoren zu warnen, wenn der bestimmte Dienst ausfällt. Für diese Demo verwenden wir das lokale Relay (E-Mail-Server), um den Root-Benutzer zu benachrichtigen.

Bearbeiten Sie die Konfigurationsdatei.

vi /etc/monitrc

Sie können die unten stehende Benachrichtigungsvorlage gemäß Ihren Anforderungen aktualisieren.

set Mail-Format { von:Monit  Betreff:Monit Alarm -- $EVENT $SERVICE Nachricht:$EVENT Service $SERVICE Datum:$DATE Aktion:$ACTION Host:$HOST Beschreibung:$DESCRIPTION Ihr treuer Mitarbeiter, Monit}

Legen Sie hier die Empfängeradresse fest, um Benachrichtigungen zu allen Arten von Aktionen zu erhalten

Alarm root@localhost setzen

Stellen Sie die Empfängeradresse hier so ein, dass sie bei vom Benutzer initiierten Dienstneustarts nicht benachrichtigt wird.

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

Stellen Sie abschließend die Mailserver-Konfiguration so ein, dass Sie E-Mails empfangen können.

mailserver localhost setzen

Hier verwende ich das lokale Relay dnf install -y sendmail &&systemctl start sendmail, damit wir E-Mail-Warnungen über das Terminal lesen können, um den Warnmechanismus zu bestätigen.

Laden Sie den Dienst neu.

Systemctl-Überwachung neu laden

Benachrichtigung anzeigen

Der Monit hat E-Mails über den HTTP-Prozess an den Root-Benutzer gesendet.

cat /var/spool/mail/root

Ausgabe:

An:[email protected]:monit alert -- Existiert nicht HTTPDDate:Di, 28 Jan 2020 01:44:05 GMTX-Mailer:Monit 5.27.0MIME-Version:1.0Content-Type:text/ schmucklos; charset=utf-8Content-Transfer-Encoding:8bitMessage-Id:<[email protected]>Does not exist Service HTTPD Date:Mo, 27 Jan 2020 20:44:05 Aktion:Neustart Host:centos8.itzgeek .local Beschreibung:Prozess läuft nicht Ihr treuer Mitarbeiter, Monit @ ITzGeekFrom [email protected] Mo Jan 27 20:44:47 2020Return-Path:Received:from centos8.itzgeek.local (localhost [127.0.0.1] ) von centos8.itzgeek.local (8.15.2/8.15.2) mit ESMTP-ID 00S1ilKL026285 für ; Mo, 27. Januar 2020 20:44:47 -0500Von:"Monit" An:[email protected]:monit alert -- Exists HTTPDDate:Di, 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:Mo, 27 Jan 2020 20:44:47 Action:alert Host:centos8.itzgeek.local Description :Prozess läuft mit PID 26069 Ihr treuer Mitarbeiter, Monit @ ITzGeek

ODER

Verwenden Sie mutt dnf install -y mutt, einen E-Mail-Client, um Benachrichtigungen anzuzeigen.

Schlussfolgerung

Das ist alles. Wir haben Monit erfolgreich auf CentOS 8 / RHEL 8 konfiguriert.


Cent OS
  1. So installieren Sie phpMyAdmin auf RHEL 8 / CentOS 8

  2. So installieren Sie P7Zip auf RHEL 8 / CentOS 8

  3. So installieren Sie ntfs-3g auf RHEL 8 / CentOS 8

  4. So installieren Sie Icinga 2 unter CentOS 8 / RHEL 8

  5. So installieren Sie Monit unter CentOS 6

So installieren Sie cpan auf RHEL 8 / CentOS 8

So installieren Sie Ruby auf RHEL 8 / CentOS 8

So installieren Sie Docker CE auf RHEL 8 / CentOS 8

So installieren Sie VirtualBox 6.0 unter CentOS 8 / RHEL 8

So installieren Sie PHP 7.4 unter CentOS 8 / RHEL 8

So installieren Sie Monit unter CentOS 7 / RHEL 7