it-swarm.com.de

Systemüberwachung mit E-Mail-Benachrichtigungen

Ich habe derzeit einen Ubuntu Server 16.04 LTS und möchte E-Mail-Benachrichtigungen mit Informationen zur Ressourcennutzung auf meinem Server erhalten. CPU, Speicher, Swap, Sie nennen es.

Ich verstehe, dass ich Glances für die lokale Überwachung verwenden kann, aber ich werde nicht die ganze Zeit auf der Konsole sein, um die Informationen zu sehen. Ich benötige nur E-Mail-Benachrichtigungen, die mich über Ressourcen informieren, die über den normalen/kritischen Werten liegen, und benachrichtigt werden.

Kennt jemand eine Methode, mit der ich das machen kann?

9
SergeantSerk

Ich gebe Ihnen eine kleine Liste von Werkzeugen - während ich Nagios persönlich empfehlen würde , so wie ich es gewohnt bin. Es kommt mit einer großen Anwenderbasis, einer guten Sammlung von Plug-Ins usw. - aber ich habe auch gute Dinge über Icinga gehört.

Beachten Sie, dass das Einrichten von Nagios oder Icinga einige Zeit in Anspruch nehmen wird, bis Sie Haben Sie ein perfekt funktionierendes Setup, das alle Ihre vorhandenen Dienste abdeckt/überwacht. Der Start ist höchstwahrscheinlich nicht so einfach, aber wenn Sie ihn erst einmal zum Laufen gebracht haben, ist er ein schönes Setup, das alle von Ihnen definierten Dienste benachrichtigt, wenn sich der Status ändert, sodass etwas gemeldet werden kann, das als kritisch definiert ist

Projektnamen & Links

Zunächst einmal ein kurzer Überblick:

Client- und Server-Setups

Andere interessante Software

  • Smokeping (in Bezug auf die Funktion eingeschränkt)

Single Host Setups

Mehr Informationen

Über Nagios

Wikipedia schreibt

Nagios/ˈnˈiɑːɡoːs /, jetzt bekannt als Nagios Core, ist eine kostenlose Open-Source-Computer-Softwareanwendung, die Systeme, Netzwerke und Infrastruktur überwacht. Nagios bietet Überwachungs- und Alarmierungsdienste für Server, Switches, Anwendungen und Dienste an. Es warnt Benutzer, wenn Probleme auftreten, und benachrichtigt sie ein zweites Mal, wenn das Problem behoben wurde.

Beispielbild - zeigt 1 von mehreren Ansichten, die Sie haben:

enter image description here

Hier ist ein guter AskUbuntu-Beitrag über Wie installiert man Nagios . Nagios Exchange bietet eine riesige Sammlung von Plugins, Addons, Dokumentationen, Erweiterungen und vielem mehr.

Über Munin

Wikipedia schreibt

Munin ist eine kostenlose und quelloffene Software zur Überwachung von Computersystemen, Netzwerken und zur Überwachung der Infrastruktur. Es bietet Überwachungs- und Benachrichtigungsdienste für Server, Switches, Anwendungen, Dienste usw. Es benachrichtigt die Benutzer, wenn Probleme auftreten, und benachrichtigt sie ein zweites Mal, wenn das Problem behoben wurde

Beispielbild

enter image description here

Über Icinga

Wikipedia schreibt

Icinga ist eine Open-Source-Anwendung zur Überwachung von Computersystemen und Netzwerken. Es wurde ursprünglich als Teil der Nagios-Systemüberwachungsanwendung im Jahr 2009 erstellt.

Icinga versucht, erkannte Mängel im Nagios-Entwicklungsprozess zu beheben und neue Funktionen wie eine moderne Benutzeroberfläche im Web 2.0-Stil, zusätzliche Datenbankkonnektoren (für MySQL, Oracle und PostgreSQL) und ein REST API, mit der Administratoren zahlreiche Erweiterungen integrieren können, ohne den Icinga-Kern kompliziert zu modifizieren.

Beispielbild, das eine von mehreren Ansichten zeigt:

enter image description here

Über Spiceworks

Wikipedia schreibt:

Spiceworks ist ein professionelles Netzwerk für die IT-Branche mit Hauptsitz in Austin, Texas. Das Unternehmen wurde im Januar 2006 von Scott Abel, Jay Hallberg, Greg Kattawar und Francis Sullivan gegründet, um IT-Management-Software zu entwickeln.

Spiceworks ist eine Online-Community, in der Benutzer zusammenarbeiten und sich gegenseitig beraten lassen können. Außerdem können sie auf einem Marktplatz IT-bezogene Dienstleistungen und Produkte erwerben. Schätzungen zufolge wird das Netzwerk von mehr als sechs Millionen IT-Experten und 3.000 Technologieanbietern genutzt.

Über Monit

Wikipedia schreibt

Monit ist ein kostenloses Open Source-Tool zur Prozessüberwachung für Unix und Linux. Mit Monit kann der Systemstatus direkt über die Befehlszeile oder über den systemeigenen HTTP (S) Webserver angezeigt werden. Mit Ruby auf Rails und dem Mongrel-Webserver wurde Monit immer beliebter, da ein Tool benötigt wurde, das die vielen identischen Mongrel-Prozesse verwalten konnte, die zur Unterstützung ausgeführt werden mussten eine skalierbare Ruby auf Rails Site, und Monit war für die Bedürfnisse der Ruby auf Rails Community ziemlich einzigartig geeignet. Viele beliebte Rails Websites haben Monit verwendet, einschließlich Twitter und scribd.

Über Kakteen

Wikipedia schreibt:

Cacti ist ein Open-Source-Tool für die webbasierte Netzwerküberwachung und -grafik, das als Front-End-Anwendung für das Open-Source-Datenprotokollierungstool RRDtool nach Industriestandard entwickelt wurde. Mit Cacti kann ein Benutzer Dienste in festgelegten Intervallen abfragen und die resultierenden Daten grafisch darstellen. Es wird im Allgemeinen verwendet, um Zeitreihendaten von Metriken wie CPU-Auslastung und Netzwerkbandbreitennutzung grafisch darzustellen. Üblicherweise wird der Netzwerkverkehr überwacht, indem ein Netzwerk-Switch oder eine Router-Schnittstelle über SNMP (Simple Network Management Protocol) abgefragt werden.

Das Front-End kann mehrere Benutzer mit jeweils eigenen Diagrammsätzen verwalten, sodass es manchmal von Webhosting-Anbietern (insbesondere dedizierten Servern, virtuellen privaten Servern und Kollokationsanbietern) verwendet wird, um Bandbreitenstatistiken für ihre Kunden anzuzeigen. Es kann verwendet werden, um die Datenerfassung selbst zu konfigurieren, sodass bestimmte Setups ohne manuelle Konfiguration von RRDtool überwacht werden können. Cacti kann erweitert werden, um jede Quelle über Shell-Skripte und ausführbare Dateien zu überwachen.

Über Zabbix

Wikpedia schreibt:

Zabbix ist eine von Alexei Vladishev entwickelte Open-Source-Überwachungssoftware für Unternehmensnetzwerke und -anwendungen. Es wurde entwickelt, um den Status verschiedener Netzwerkdienste, Server und anderer Netzwerkhardware zu überwachen und zu verfolgen.

Zabbix verwendet MySQL, PostgreSQL, SQLite, Oracle oder IBM DB2 zum Speichern von Daten. Das Backend ist in C und das Webfrontend in PHP geschrieben. Zabbix bietet verschiedene Überwachungsoptionen

12
dufte

Sie können mehrere Lösungen verwenden. Einer von ihnen ist monit.

Führen Sie in der Befehlszeile einfach den folgenden Befehl aus:

Sudo apt-get install monit

Monit sollte nun installiert sein und über eine der folgenden URLs erreichbar sein:

http://localhost:2812
http://IPADDRESS:2812 (local network IP)
http://domain.com:2812 (if you have domain name pointing to your server)

Monit Configuration

Bevor Sie Monit für die automatische Serverüberwachung verwenden können, müssen Sie einige grundlegende Einstellungen vornehmen. Sichern Sie zuerst die vorhandene Standardkonfiguration Monit mit dem folgenden Befehl:

Sudo mv /etc/monit/monitrc /etc/monit/monitrc.bak

Erstellen Sie anschließend mit dem Befehl eine neue monitrc -Datei

Sudo /etc/monit/monitrc 

und kopieren Sie den folgenden Inhalt hinein.

# How often in seconds should monit check your services.
set daemon 120

set logfile /var/log/monit.log
set idfile /var/lib/monit/id
set statefile /var/lib/monit/state

# Configure your SMTP out server. 
set mailserver smtp-server.columbus.rr.com port 25,localhost

set eventqueue
    basedir /var/lib/monit/events # set the base directory where events will be stored
    # optionally limit the queue size
    slots 100 

# Use one of the following 2 lines. The second line alerts on every little change and can be annoying.
set alert [email protected] but not on { instance, pid, ppid } #does not send alert on pid changes
#set alert [email protected] 

set httpd port 2812 and
    #Change username and password
    allow Username:Password
    # To enable SSL for WebUI uncomment the next 2 lines
    #ssl enable
    #pemfile /path/to/unified/certificate.pem
    # To restrict access to localhost only uncomment the following line
    #allow localhost

include /etc/monit/conf.d/*

Zeilen, die mit einem # beginnen, sind Kommentare, mit denen Sie die Konfiguration anpassen können. Stellen Sie sicher, dass mindestens die Administrator-E-Mail, der SMTP-Server und der SMTP-Port korrekt konfiguriert sind. Sie sollten auch in Betracht ziehen, den Benutzernamen und das Kennwort von Monit WebUI zu ändern. Wenn Sie ein SSL-Zertifikat haben, können Sie dies auch für den HTTPS-Zugriff aktivieren

Verwenden Sie vorerst die folgenden Befehle, um sicherzustellen, dass Monit ordnungsgemäß funktioniert.

So testen Sie die Monit -Konfiguration auf Syntaxfehler:

Sudo monit -t

So starten Sie Monit:

Sudo monit

So überprüfen Sie den Überwachungsstatus:

Sudo monit status

Systemlastüberwachung mit Monit

Es ist erforderlich, dass Sie eine funktionierende Monit-Instanz mit einer richtigen /etc/monit/monitrc -Datei haben. Monit-Konfigurationen für verschiedene Dienste werden aus dem Ordner /etc/monit/conf.d geladen. Um die Serverauslastung mit Monit zu überwachen, erstellen Sie eine Monit Konfigurationsdatei mit dem folgenden Befehl:

Sudo /etc/monit/conf.d/systemload

Kopieren Sie die folgenden Inhalte, speichern Sie sie und beenden Sie sie

# domain.com could be IP, hostname, or localhost
check System domain.com
    if loadavg (1min) > 4 then alert
    if loadavg (5min) > 2 then alert
    if memory usage > 75% then alert
    if swap usage > 25% then alert
    if cpu usage (user) > 80% then alert
    if cpu usage (system) > 30% then alert
    if cpu usage (wait) > 20% then alert

Mit diesem Code wird Monit eine E-Mail-Benachrichtigung an Sie gesendet, wenn eine der oben genannten Bedingungen erfüllt ist (z. B. durchschnittliche Last ist >4 für mindestens 1 Minute oder wenn mehr als 75% RAM erfüllt ist) . Sie können die obigen Regeln beliebig anpassen. Nachfolgend finden Sie eine Beispiel-E-Mail-Benachrichtigung, die von Monit gesendet wurde, sowie eine Beschreibung des Zustands, der die Warnung verursacht hat.

Monit testen und neu laden

Sobald Sie Änderungen vorgenommen haben, müssen Sie die Monit Konfiguration testen:

Sudo monit -t

Sie sollten die folgende Meldung anzeigen: Control File Syntax OK.

Überprüfen Sie dann mit dem folgenden Befehl, ob Monit bereits ausgeführt wird:

Sudo /etc/init.d/monit status

Wenn Monit ausgeführt wird, laden Sie Monit Konfigurationen mit dem folgenden Befehl neu:

Sudo /etc/init.d/monit reload

Starten Sie jetzt Ihren Webbrowser und rufen Sie eine der folgenden URLs auf, je nachdem, wie Ihr Monit konfiguriert ist (achten Sie darauf, die richtige Portnummer zu verwenden):

http://localhost:2812
http://IPADDRESS:2812 (local network IP)
http://domain.com:2812 (if you have domain name pointing to your server)

Sie sollten den Systemstatus, die Auslastung, die CPU-Auslastung, die Speicherauslastung und die Swap-Auslastung sehen

Speicherüberwachung mit Monit

Als nächstes ist es erforderlich, dass Sie eine funktionierende Monit -Instanz mit einer richtigen /etc/monit/monitrc -Datei haben. Monit Konfigurationen für verschiedene Dienste werden aus dem Ordner /etc/monit/conf.d geladen. Für die Speicherplatzüberwachung mit der Konfigurationsdatei Monit, create aMonit` mit dem folgenden Befehl:

Sudo /etc/monit/conf.d/storagespace

Kopieren Sie die folgenden Inhalte, speichern Sie sie und beenden Sie sie

# add each drive you want to monitor below
check filesystem Ubuntu with path /dev/sda1
    if space usage > 90% then alert
check filesystem Home with path /dev/sda3
    if space usage > 90% then alert
check filesystem Media with path /dev/sdb1
    if space usage > 90% then alert

Der obige Code überwacht den Festplattenspeicher in 3 Partitionen auf 2 Laufwerken. Wenn einer von ihnen mehr als 90% voll ist, werden Sie alarmiert.

Sie können auch bestimmte Dienste überwachen.

Apache Server mit Monit überwachen

Das Einrichten der Apache-Serverüberwachung mit Monit erfolgt mit Monit’s vorgefertigten Konfigurationsvorlagen. Sie müssen lediglich die vorhandene Vorlage aus dem Ordner /etc/monit/monitrc.d in den Ordner /etc/monit/conf.d kopieren.

Sudo cp /etc/monit/monitrc.d/Apache2 /etc/monit/conf.d/

Anstatt zu kopieren, können Sie auch einen symbolischen Link erstellen. Der Apache-Webserverprozess erstellt Apache2.pid. Die obige Code-Monitor-Datei Apache2.pid und, falls nicht vorhanden, Monit versuchen, Apache neu zu starten. Ein Neustart löst einen E-Mail-Alarm aus. Wenn der Neustart mehrmals fehlschlägt, beendet Monit die Überwachung des Apache-Servers.

...

2
2707974

Sie können sich auch SeaLion ansehen. Sie können benutzerdefinierte Warnungen für die CPU-Auslastung, den Arbeitsspeicher usw. festlegen. Außerdem können Sie Ihre eigenen Metriken hinzufügen und konfigurieren Benachrichtigungen auch für sie. Sie können auch festlegen, dass die Befehle in bestimmten Intervallen ausgeführt werden und ihre Ausgaben in einer Zeitleistenanzeige angezeigt werden. Sie können mehr darüber finden hier .

2
Araknid

Die oben genannten Tools eignen sich hervorragend zum Generieren von E-Mails. Ich ziehe es vor, E-Mails für meine tägliche Überwachung zu erhalten, da ich nicht den ganzen Tag ein Dashboard ansehen möchte. Das Problem ist, dass Sie von E-Mails überflutet werden und nur interessiert sind, wenn etwas schief geht. Außerdem, woher weißt du, ob eine E-Mail aus irgendeinem Grund niemals zugestellt wurde und du denkst, dass alles gut funktioniert?.

Ich habe lange gesucht und bin auf 2 Produkte gestoßen, die Ihre Berichts-E-Mails lesen und Sie warnen können, wenn Sie Maßnahmen ergreifen müssen.

  1. PRTG Sie können E-Mail-Filter einrichten, um nach E-Mails zu suchen, die bestimmte Wörter enthalten. War etwas kompliziert zu machen.
  2. Ein Online-Tool mit dem Namen wwww.smtpviewer.com erledigt die Aufgabe tatsächlich und verfügt über eine Zeitlimiteinstellung, die Sie warnt, wenn E-Mails von Ihren überwachten Geräten für eine festgelegte Zeit nicht eingegangen sind.
1
John Grobbelaar

Soweit ich weiß, ist Ihr Bedarf sehr gering. Sie möchten E-Mail-Inhalte per SMS nach bestimmten Schlüsselwörtern durchsuchen und benachrichtigt werden, wenn dies passiert. Nur wenn die E-Mail beispielsweise das Wort "Fehler" enthält, möchten Sie benachrichtigt werden, und nicht, wenn die E-Mail erfolgreich ist. Ich benutze auch www.smtpviewer.com, wie von John Grobbelaar erwähnt, um benachrichtigt zu werden. Der Vorteil eines Online-Tools ist, dass Sie immer benachrichtigt werden können, wenn die erwartete E-Mail nicht eintrifft. Von all den Mail-Monitor-Tools, die ich mit diesem gespielt habe, ist das einfachste und macht nur dieses eine.

0
Dirk Hemmingway

In meiner Schule gab uns unser Lehrer eine Schulung zu Pandora FMS, einer Überwachungslösung, die Serverüberwachung, Anwendungen und sogar Netzwerke abdeckt!

Ich kannte Zabbix und Nagios zu der Zeit nur, ich hatte noch nie von dieser Lösung gehört, aber jetzt stütze ich mein Projekt darauf, weil es zusätzliche Funktionen bietet. Der Serverüberwachungsteil ist wirklich ausgereift und meiner Meinung nach ist es einfacher, Leistungsstatistiken so schnell wie möglich zu konfigurieren und abzurufen: http://pandorafms.com/monitoring-solutions/server-monitoring/

0
rawmal

Obwohl es nicht genau das tut, was Sie wollen, halte ich logwatch für ein äußerst nützliches und dennoch einfaches Werkzeug.

Sie erhalten eine tägliche Zusammenfassung aller Ereignisse, die in Ihrem /var/log -Verzeichnis aufgetreten sind, sowie einige andere wichtige Systeminformationen, z. B. den aktuellen Speicherplatz. Alles, was fehlt, kann ganz einfach hinzugefügt werden (zum Beispiel habe ich ein Skript hinzugefügt, das prüft, ob bestimmte Daemons noch ausgeführt werden).

0
Darren