Debian-Software, um mich bei Systemproblemen in meinem System und Server zu benachrichtigen

Ich verwende den Debian-basierten Ubuntu 16.04-Server, um einen Nginx-Webserver mit einigen WordPress-Sites zu betreiben. Dies ist eine kleine persönliche Serverumgebung (ich bezahle 5 USD für den Minimalplan mit 1 CPU-Kern, 20 GB Speicherplatz und 1 GB RAM).

Ich brauche eine einfache, FOSS, Payless-Software mit minimaler Konfiguration, die einen monatlichen Bericht (per E-Mail an mein Gmail-Konto) über die Situation des Servers generiert, wie in:

  • Wenig Speicherplatz (sagen wir, ich habe über 75 % des Speicherplatzes erreicht).
  • Nicht-200-HTTP-Statuscodes für Webseiten meiner Sites.

Und vielleicht noch ein paar Probleme. Ich weiß nicht wirklich, was wichtig ist, um monatlich zu überprüfen (außer Sicherheitsproblemen, aber das Programm, nach dem ich in diesem Fall suche, sollte keine Sicherheitsprobleme melden, sondern nur allgemeine technische Zustände wie die beiden oben genannten und andere, die Sie für sehr wichtig halten Abstürze verhindern).

Nur zur Verdeutlichung, weil es etwas verwirrend klingt: Sie wollen Ihre E-Mails analysieren – oder die Software soll Berichte per Mail versenden?
Die Software sollte Berichte an meine E-Mail (Gmail) senden.
Danke, entsprechend umformuliert (zweiter Absatz, bitte überprüfen Sie, ob ich das gerade verstanden habe).
Izzy, ich hoffe, Sie meinten nicht von lokaler Linux-Mail zu Gmail-Mail, weil ich die Linux-Mail täglich kürze, da crontabsie täglich enorm wird, selbst wenn es sich um eine minimale Umgebung handelt. Ich benutze das einfach grundsätzlich nicht.
Ich habe die lokale Post überhaupt nicht erwähnt. Normalerweise kontaktieren solche „Reporter“ einen SMTP-Server; Wenn also der Empfänger "extern" ist, geht dies auch mit der Post. Keine Kopie mehr in Ihrem lokalen Postfachordner. Aber wenn Sie dort bereits ein Berichtstool haben, ist es einfach, Ihr lokales System dazu zu bringen, dieses an anderer Stelle weiterzuleiten, indem Sie es /etc/aliasesentsprechend bearbeiten (z. B. würde ein Eintrag root: johndoe@example.comdazu führen, dass alle an root gerichteten Mails an johndoe gesendet werden – und nobody: /dev/nullalle Mails an niemanden verwerfen).
Sie haben sich nicht direkt darauf bezogen, ja, ich dachte nur, Sie hätten vielleicht ... Ich verstehe, dass Sie das Haupt-E-Mail-Ziel des Systems von der lokalen E-Mail zu meiner Google Mail-Adresse ändern möchten, aber ich möchte diese wirklich nicht groß bekommen System-E-Mails an mein Konto, möchte ich nur eine E-Mail zu den beiden Themen erhalten, die ich in der Frage erwähnt habe (und vielleicht zu 1 oder 2 zusätzlichen Themen, die ebenfalls kritisch sein könnten).
Dann sollte die Frage so passen, wie sie jetzt formuliert ist :) Viel Glück!

Antworten (3)

Wenn Sie bereit sind, dafür viel Zeit zu investieren, können Sie einen Nagios -Dienst einrichten. Es ist auch als Debian-Paket verfügbar. Dann haben Sie Zugriff auf verschiedene Dashboards, zum Beispiel eines, das so aussieht:

Nagios-Dashboard

Nagios kann auch Berichte erstellen – entweder durch Klicken durch die GUI oder durch Aufrufen vorkonfigurierter Berichtsvorlagen.

Nagios kann auch E-Mails senden (mit der Bezeichnung „Warnung“ oder „Kritisch“, wenn Ihr Dienst bestimmte Schwellenwerte überschreitet).

Nagios hat ein paar Gabeln, sehen Sie selbst, was heutzutage als cool gilt.

Klingt, als würdest du linode.com benutzen :) Ich mag sie auch.

access.logIn der Linode-Systemsteuerung können Sie Speicherplatzwarnungen usw. festlegen. Für Nicht-200-Statuscodes usw. können Sie einfach ein kleines Skript schreiben, das nach ihnen sucht (oder vielleicht nur die error.log) und Ihnen einen Bericht/eine Benachrichtigung per E -Mail zusendet

Möglicherweise möchten Sie eine andere Software zur Erkennung von Eindringlingen/Versuchen wie zfail2ban

Danke, ich benutze einen ähnlichen Dienst - DigitalOcean. Sie haben ihre eigene Softwarelösung, die man herunterladen und installieren und dann nach Bedarf konfigurieren muss, aber ich suche nach etwas Out-of-Box, etwas mit recht trivialen Optionen für übliche kleine Serverumgebungen (vorausgesetzt, es gibt eine), hauptsächlich weil ich es möchte Sparen Sie Zeilen im ohnehin schon langen Server-Installationsskript. Vielleicht ist das Schreiben eines Moduls eine gute Option, obwohl ich dafür mehr Regex lernen müsste.

Meine bevorzugten Optionen dafür sind monit für die Dienstüberwachung und netdata für die Ressourcenverfolgung.

Monit ist ein minimalistisches Dienstüberwachungs- und Zustandsprüfungstool mit einem kinderleichten Konfigurationsformat. Es kann die üblichen Dienstüberwachungsaufgaben erledigen (ein Programm neu starten, wenn es nicht mehr läuft, E-Mail-Benachrichtigungen senden, wenn ein Fehler auftritt usw.), aber es hat auch eine Reihe anderer nützlicher Überprüfungen eingebaut (Sie können es einfach verwenden, um es zu verwenden HTTP-Rückgabecodes für beliebige Pfade auf Ihrem Webserver überprüfen) und ermöglicht die gegenseitige Abhängigkeit von Prüfungen (z. B. können Sie den Status einer Netzwerkschnittstelle überwachen lassen und dann nur versuchen, den Status eines Netzwerkdateisystems über diese Verbindung zu überprüfen, wenn die Schnittstelle ist oben). Es ist auch winzig in Bezug auf die Ressourcennutzung (die Instanz auf meinem Heimserver, die etwa 50 Prüfungen pro Minute ausführt, verbraucht nur etwa 4 MB Speicher und eine winzige Menge an CPU-Zeit, wenn sie die Prüfungen ausführt).

Netdata ist im Gegensatz dazu auf die Verfolgung von Leistungsmetriken ausgerichtet, verfügt aber auch über ein System zur Zustandsprüfung, mit dem Sie Warnungen über eine Reihe verschiedener Messaging-Dienste (einschließlich E-Mail und SMS sowie eine Reihe anderer) senden können, wenn die verfolgten Metriken vorliegen außerhalb gewisser Grenzen. Standardmäßig verfolgt es eine Reihe grundlegender Dinge, ohne dass ein Benutzereingriff erforderlich ist, und es verfügt über Plugins für eine Reihe verschiedener Serveranwendungen (einschließlich nginx), die einfach einzurichten sind. Es wird standardmäßig auch mit einer Reihe wirklich nützlicher Überprüfungen geliefert (einschließlich einer ziemlich ordentlichen Überprüfung, die anhand der zunehmenden Speicherplatznutzung ermittelt, ob sich ein Dateisystem in den nächsten 48 Stunden wahrscheinlich füllt). Es ist auch sehr leicht (ich habe es so eingestellt, dass es 12 Stunden Metriken auf demselben Server wie oben erwähnt verfolgt, und es

Beachten Sie, dass die beiden zusammen für einen einzelnen Host die gleichen Dinge tun können wie die bekannten Netzwerküberwachungslösungen wie Nagios, Ganglia oder Munin für ganze Netzwerke, mit viel weniger Aufwand bei der Konfiguration.