"Was passiert?" Server-Leistungsmonitor

"Was passiert?" Server-Leistungsmonitor

Nachdem ich einige Threads zu Serverüberwachungssoftware durchgesehen habe, bleibt mir nur eine einfache Frage:

Welches Serverüberwachungstool sollte ich zur automatischen Erkennung „abnormaler“ Situationen mit Empfehlungen zu deren Behebung verwenden?

Ich suche nach Software, die die Systemleistung nach der Installation überprüft und einige durchschnittliche Auslastungswerte (Speicher, CPU usw.) berechnet. Und wenn etwas passiert (die CPU-Auslastung steigt auf 20 %), versucht sie, einen Grund dafür zu ermitteln. Wenn es Apache ist, sollte sie nach Zugriffsprotokollen suchen. Wenn es MySQL ist, sollte sie die MySQL-Protokolle prüfen und mir sagen, was passiert. Wenn dies daran liegt, dass ein Benutzer viele Bilder dekodiert, möchte ich wissen, welcher Befehl ausgeführt wird, wann und wie der Benutzername lautet. Dasselbe gilt für Festplattennutzung, Speicher, Anzahl der Prozesse, Threads usw.

Idealerweise sollte diese Software das System regelmäßig überprüfen und Probleme melden: Fehler im PHP-Fehlerprotokoll, veraltete Pakete, Sicherheitslücken.

Mit anderen Worten, ich suche nach einer Software, die meinen einfachen Debian-/Apache-/PHP-/MySQL-Server verwaltet, ohne dass ich die Diagramme täglich überwachen muss.

Antwort1

Im Gegensatz zu Zabbix - erwähnt vonMaxwell- ist der ehrwürdigeNagios(und es ist ein relativ neuer Fork,Vereisung). Dieses Framework gibt es seit über zehn Jahren und es ist unglaublich stabil – der einzige Nachteil ist die Installation und Konfiguration, die (insbesondere beim ersten Mal) viel zeitaufwändiger ist als bei einem von einem kommerziellen Unternehmen unterstützten System wie Zabbix.

Beide haben natürlich ihren Platz im Ökosystem – ich würde Ihnen also empfehlen, beide auszuprobieren. Wie in meinem Kommentar erwähnt, gilt jedoch: Je eingehender Sie die Überwachung durchführen möchten, desto mehr Aufwand müssen Sie einplanen, sei es durch das Schreiben eigener Plugins/Skripte oder das Suchen/Herunterladen/Ändern der Arbeit anderer.

Viel Glück!

Antwort2

Es gibt jede Menge solcher Software. Beachten Sie jedoch, dass Sie sie auf einem anderen Host ausführen sollten, da sonst das Risiko hoch ist, nicht benachrichtigt zu werden, wenn etwas schief geht.

Als Beispiel verwenden wir eine Kombination aus Nagios (übernimmt die gesamte Überwachung und Alarmierung, d. h. es ist dafür zuständig, jemanden aufzuwecken, wenn ein Bediener etwas im Auge behalten muss) und Cacti (könnte auch Alarmierung durchführen, aber wir verwenden es nur, um verschiedene Messdaten zu sammeln und zu aggregieren, die von Netzwerkverkehr über Systemlast bis hin zu E-Mail-Spam-Statistiken reichen).

Wenn Sie eine Warnmeldung erhalten (von Nagios, Cacti, Zabbix oder was auch immer), können Sie das Problem normalerweise leichter diagnostizieren, wenn Sie sich einige Leistungsdaten ansehen (Cacti, Zabbix oder andere).

Bei dem von Ihnen beschriebenen üblichen LAMP-Stack sind die beiden häufigsten Problemsituationen (zumindest meiner Erfahrung nach), dass der HTTP- oder SQL-Server überhaupt nicht oder nicht innerhalb einer angemessenen Zeit antwortet (eine Nagios-Sonde überprüft dies) oder dass die durchschnittliche Systemlast sehr hoch ist.

Mit diesen beiden Prüfungen werden Sie wahrscheinlich 95 % Ihrer Probleme beheben, es gibt jedoch noch viele weitere Dinge, auf die Sie achten sollten – Beispiele:

  1. Apache arbeitet ständig mit der maximalen Anzahl von Prozessen/Threads, die Sie konfiguriert haben. Das bedeutet, dass Ihr Server mit der Last nicht Schritt halten kann.
  2. Das System funktioniert „ok“, aber im RAID ist ein Laufwerk ausgefallen (Sie wissen nicht, wie oft so etwas monatelang unbemerkt bleibt – oder zumindest bis zum nächsten Laufwerksausfall ;)

Fast alle Produkte, die Sie auf dem Markt finden, können alles überwachen/grafisch darstellen, was Sie ihnen vorsetzen. Normalerweise können Sie sie zusätzlich zu den enthaltenen Instrumenten und dem allgegenwärtigen SNMP über einfache Shell-Skripte, kurze Programme usw. erweitern.

Antwort3

ZabbixMit einer Überwachungslösung können Sie alles überwachen, was Sie möchten, und entsprechende Aktionen auslösen. Aktionen können beispielsweise die Ausführung eines Skripts sein, das Protokolle verarbeitet und das Ergebnis bei Bedarf zurücksendet. Sie können auch eine Aktion auslösen, wenn eine oder mehrere Bedingungen erfüllt sind (z. B. wenn die Ausgabe eines Protokollanalyseskripts einen Fehler und eine CPU-Auslastung von über 40 % anzeigt).

Antwort4

Nagios-Installation

Nagios ist ein Host- und Service-Monitor, der Sie über Netzwerkprobleme informiert, bevor es Ihre Kunden, Endbenutzer oder Manager tun. Er wurde für die Ausführung unter dem Linux-Betriebssystem entwickelt, funktioniert aber auch unter den meisten Varianten einwandfrei. Der Überwachungs-Daemon führt periodische Prüfungen der von Ihnen angegebenen Hosts und Dienste mithilfe externer Plugins durch, die Statusinformationen an Nagios zurückgeben. Wenn Probleme auftreten, kann der Daemon auf verschiedene Weise (E-Mail, Instant Message, SMS usw.) Benachrichtigungen an administrative Kontakte senden. Eine Nagios-Installation auf Ihrem Server trägt dazu bei, die Zuverlässigkeit Ihres Servers zu verbessern.

Nagios verfügt über zahlreiche Funktionen, die es zu einem sehr leistungsstarken Überwachungstool machen. Einige der wichtigsten Funktionen sind unten aufgeführt: Überwachung von Netzwerkdiensten (SMTP, POP3, HTTP, NNTP, PING usw.) Überwachung von Hostressourcen (Prozessorauslastung, Festplatten- und Speichernutzung, laufende Prozesse, Protokolldateien usw.) Überwachung von Umgebungsfaktoren wie der Temperatur Geplante Ausfallzeiten zur Unterdrückung von Host- und Dienstbenachrichtigungen während geplanter Ausfallzeiten Einfaches Plugin-Design, mit dem Benutzer problemlos eigene Host- und Dienstprüfungen entwickeln können Möglichkeit, eine Netzwerk-Hosthierarchie zu definieren, um ausgefallene und nicht erreichbare Hosts zu erkennen und zwischen ihnen zu unterscheiden Unterstützung für die Implementierung redundanter und verteilter Überwachungsserver Möglichkeit, Probleme über die Weboberfläche zu bestätigen Kontaktbenachrichtigungen, wenn Dienst- oder Hostprobleme auftreten und behoben werden (per E-Mail, Pager oder einer anderen benutzerdefinierten Methode) Optionale Eskalation von Host- und Dienstbenachrichtigungen an verschiedene Kontaktgruppen Möglichkeit, Ereignishandler zu definieren, die während Dienst- oder Hostereignissen zur proaktiven Problemlösung ausgeführt werden sollen Externe Befehlsschnittstelle, die spontane Änderungen am Überwachungs- und Benachrichtigungsverhalten durch die Verwendung von Ereignishandlern, der Weboberfläche und Anwendungen von Drittanbietern ermöglicht Beibehaltung des Host- und Dienststatus über Programmneustarts hinweg

verwandte Informationen