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

So installieren Sie Monit unter CentOS 7 / RHEL 7

Monit ist ein Open-Source-Prozessüberwachungstool für das Linux-Betriebssystem, das Ihnen hilft, den Systemprozess über den Webbrowser zu überwachen und bei Bedarf automatisch die Wartung oder Reparatur des jeweiligen Prozesses durchzuführen, sodass er wieder online gebracht werden kann.

Monit kann auch zur Verwaltung und Überwachung von Programmen, Dateien, Verzeichnissen und Geräten für Zeitstempeländerungen, Prüfsummenänderungen oder Größenänderungen verwendet werden; nicht darauf beschränkt, verschiedene TCP/IP-Netzwerkprüfungen und Protokollprüfungen durchzuführen, 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 Installation von Monit auf CentOS 7 / RHEL 7.

Monit installieren

Aktivieren Sie das EPEL-Repository, um die neueste Version von Monit herunterzuladen.

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

Installieren Sie Monit mit dem YUM-Befehl.

yum -y install monit

Starten Sie Monit mit dem folgenden Befehl.

monit

Ausgabe:

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

Überprüfen Sie den Überwachungsstatus.

monit status

Ausgabe:

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

Monit konfigurieren

Die Hauptkonfigurationsdatei von Monit ist /etc/monitrc. 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. Diese Einstellung kann geändert werden, indem Sie die folgende Zeile ändern.

set daemon  30

Benachrichtigungen können konfiguriert werden durch.

set mailserver mx.itzgeek.local port 25

Alert-Vorlagen finden Sie in der Konfigurationsdatei selbst. Siehe Extras am Ende dieses Artikels.
Die Protokolleinstellungen können mithilfe der folgenden Datei geändert werden.

set log /var/log/monit

Monit-Weboberfläche aktivieren

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 Monit-Konfigurationsdatei.

vi /etc/monitrc

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

VON:

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
    #}

AN:

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
    #}

Von den obigen Einstellungen aus wird monit auf 2812 lauschen und der Admin-Benutzer kann von jedem Netzwerk aus auf die Webschnittstelle zugreifen.

Monitor neu laden.

systemctl restart monit

Monit beim Start automatisch starten.

systemctl enable monit

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

firewall-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 wie folgt aus.

Dienste für die Überwachung mit Monit konfigurieren

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

Sie können die Konfigurationsdateien für die Dienstüberwachung im Verzeichnis /etc/monit.d/ ablegen.

Für SSH-Dienst konfigurieren.

vi /etc/monit.d/sshdmonitor

Verwenden Sie die folgenden Informationen.

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

Dienst für Syslog konfigurieren.

vi /etc/monit.d/syslogmonitor

Verwenden Sie die folgenden Informationen.

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"

Konfigurationsdienst für HTTP.

vi /etc/monit.d/httpdmonitor

Verwenden Sie die folgenden Informationen.

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

Testen Sie nach der Konfiguration die Monit-Syntax

monit -t

Ausgabe:

Control file syntax OK

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

monit reload

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

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

Testüberwachung

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

systemctl stop httpd

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

cat /var/log/monit.log

Ausgabe:

[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

E-Mail-Benachrichtigung mit Monit

In Monit sind vordefinierte Benachrichtigungsvorlagen verfügbar, um Systemadministratoren zu benachrichtigen, wenn ein bestimmter Dienst ausfällt.

Bearbeiten Sie die Konfigurationsdatei.

vi /etc/monitrc

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

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
}

Stellen Sie hier die Empfängeradresse ein. Hinweis:Sie erhalten Benachrichtigungen zu allen Arten von Aktionen

set alert root@localhost

Wenn Sie nicht bei einem vom Benutzer initiierten Dienstneustart benachrichtigt werden möchten, fügen Sie die folgende Konfiguration hinzu.

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

Stellen Sie abschließend die Mailserver-Konfiguration so ein, dass Sie Mails empfangen können. Hier verwende ich das lokale Relay, damit wir Mail-Alerts über das Terminal lesen können, um die Tests zu überprüfen.

set mailserver localhost

Laden Sie den Dienst neu.

monit reload

Beispielwarnung

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

cat /var/spool/mail/root

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

ODER

Verwenden Sie den E-Mail-Client Mutt (yum install -y mutt).

Schlussfolgerung

Das ist alles. Wir haben Monit erfolgreich auf CentOS 7 / RHEL 7 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 8 / RHEL 8