Was suche ich in einer Überwachungslösung?

21

Dies ist eine kanonische Frage zur Überwachungssoftware.

Also Related: Mit welchem ​​Tool überwachen Sie Ihre Server?

Ich muss meine Server überwachen. Was muss ich bei der Entscheidung für eine Überwachungslösung beachten?

Kyle Brandt
quelle

Antworten:

19

Es gibt viele Überwachungslösungen. Jeder hat seine Vorlieben und jedes Unternehmen hat seine eigenen Bedürfnisse, daher gibt es keine richtige Antwort. Ich kann Ihnen jedoch dabei helfen, herauszufinden, worauf Sie bei der Auswahl einer Überwachungslösung achten sollten.

Wofür sind Überwachungssysteme?

Im Allgemeinen dienen Überwachungssysteme zwei primären Zwecken. Die erste besteht darin, Daten im Laufe der Zeit zu sammeln und zu speichern. Beispielsweise möchten Sie möglicherweise die CPU-Auslastung erfassen und über die Zeit grafisch darstellen. Der zweite Zweck besteht darin, zu warnen, wenn die Dinge entweder nicht reagieren oder sich nicht innerhalb bestimmter Schwellenwerte befinden. Beispielsweise möchten Sie möglicherweise Benachrichtigungen erhalten, wenn ein bestimmter Server von Pings nicht erreicht werden kann oder wenn die CPU-Auslastung über einem bestimmten Prozentsatz liegt. Es gibt auch Protokollüberwachungssysteme wie Splunk, aber ich behandle diese als getrennt.

Diese beiden Hauptaufgaben kommen manchmal in einem einzigen Produkt vor, manchmal ist es üblicher, ein Produkt für jeden Zweck zu haben.

Was sind die Hauptkomponenten und -merkmale von Überwachungssystemen?

Pollers :
Alle Überwachungssysteme benötigen eine Art Poller, um die Daten zu erfassen. Nicht alle Daten werden auf dieselbe Weise erfasst. Sie sollten sich Ihre Umgebung ansehen und entscheiden, welche Daten Sie benötigen und wie sie möglicherweise erfasst werden. Stellen Sie dann sicher, dass das von Ihnen ausgewählte Überwachungssystem die von Ihnen benötigten Funktionen unterstützt. Einige gängige Methoden sind:

  • SNMP (Simple Network Management Protocol)
  • WMI (Windows-Verwaltungsinstrumentation)
  • Ausführen von Skripts (z. B. Ausführen eines Skripts auf dem überwachten Computer oder Ausführen eines Skripts über die Überwachungsbox selbst, die ihre eigene Abfragemethode verwendet). Dies können Bash-Skripte, Perl-Skripte, ausführbare Dateien und Powershell-Skripte sein
  • Agentenbasiertes Monitoring. Bei diesen läuft auf jedem Client ein Prozess und sammelt diese Daten. Diese Daten werden entweder an den Überwachungsserver übertragen oder der Überwachungsserver fragt den Agenten ab. Einige Administratoren sind mit Agents einverstanden, andere mögen sie nicht, da dadurch ein größerer Platzbedarf auf dem zu überwachenden Server verbleibt.
  • Fokussierte APIs (z. B. VMWare-API oder die Möglichkeit, SQL-Abfragen auszuführen)

Wenn Sie meistens ein Betriebssystem in Ihrer Umgebung oder ein primäres Betriebssystem haben, haben bestimmte Systeme möglicherweise mehr Optionen als andere.

Konfiguration :
In Überwachungssystemen wird häufig ein Objekt wiederverwendet. Sie möchten beispielsweise eine bestimmte Anwendung wie Apache oder IIS auf mehreren Servern überwachen. Oder Sie möchten, dass bestimmte Schwellenwerte für Servergruppen gelten. Möglicherweise müssen auch bestimmte Personengruppen "auf Abruf" sein. Daher ist ein gutes Template-System für ein Monitor-System von entscheidender Bedeutung.

Die Konfiguration erfolgt in der Regel über eine Benutzeroberfläche oder über Textdateien. Die Benutzeroberflächenoption ist im Allgemeinen einfacher, aber Textdateien sind in der Regel besser für die Wiederverwendung und Variablen. Je nach IT-Personal bevorzugen Sie also möglicherweise Einfachheit gegenüber Strom.

Benutzeroberfläche :
Die häufigste Benutzeroberfläche für Überwachungssysteme ist heutzutage eine Weboberfläche. In Bezug auf das Webinterface sind folgende Dinge zu bewerten:

  • Gute Übersichten
  • Gute Detailseiten
  • Geschwindigkeit (Wenn Sie Informationen im Krisenmodus suchen müssen, kann eine langsame Benutzeroberfläche sehr frustrierend sein
  • Allgemeines Gefühl. Sie werden viel Zeit in der Benutzeroberfläche verbringen, wenn sich Ihre IT-Mitarbeiter unbeholfen fühlen, sie zu verwenden
  • Anpassung. Jede Organisation hat bestimmte Dinge, die wichtig sind, und andere Dinge, die nicht wichtig sind. Es ist wichtig, dass Sie es an Ihre Bedürfnisse anpassen können

Benachrichtigungsmodul :
Das Benachrichtigungsmodul muss flexibel und zuverlässig sein. Es gibt viele verschiedene Möglichkeiten, benachrichtigt zu werden, darunter:

  • SMS
  • Email
  • Telefon
  • Andere Dinge wie IM / Jabber

Andere zu suchende Eigenschaften sind:

  • Eskalationen (Jemanden benachrichtigen, wenn die andere Person den Alarm nicht bestätigt oder behoben hat)
  • Drehungen und Verschiebungen
  • Gruppen (Bestimmte Gruppen müssen über bestimmte Dinge informiert werden)

Es ist wichtig, darauf zu vertrauen, dass Sie benachrichtigt werden, wenn ein Fehler auftritt. Das hängt von zwei Dingen ab:

  1. Ein zuverlässiges System
  2. Eine einschränkungsfreie Konfiguration. In Überwachungssystemen ist es nicht ungewöhnlich zu glauben, dass Sie eine Warnung erhalten sollten. Aufgrund einiger Konfigurationsdetails wurde die Warnung jedoch nie ausgelöst.

Datenspeicher :
Wenn das System Daten sammelt und speichert (dh Systeme, die Diagramme enthalten), speichert das System Daten. Eine sehr häufige Implementierung sowohl für den Speicher als auch für die grafische Darstellung ist beispielsweise RRD.

Einige Features, nach denen Sie im Datenspeicher suchen müssen:

  • Rohzugriff auf die Daten. Dies kann hilfreich sein, um benutzerdefinierte Diagramme mit Excel zu entwickeln oder zu erstellen.
  • Skalierbarkeit. Abhängig davon, wie viele Daten Sie erfassen, kann sich die Summe schnell summieren. Wenn Sie eine Menge erfassen, möchten Sie sicherstellen, dass diese skaliert wird.

Grafikbibliothek :
Grafiken können nützlich sein, um Trends schnell zu identifizieren und den aktuellen Status eines Objekts anhand seines Verlaufs in einen Kontext zu setzen. Einige enthalten Trends, die hilfreich sein können, um Vorhersagen zu treffen, bevor sie eintreten (z. B. wenn der Speicherplatz knapp wird). Stellen Sie sicher, dass die Grafiken die Informationen enthalten, von denen Sie glauben, dass sie auf klare Weise benötigt werden.

Zugriffssteuerungen :
Wenn Sie eine große Organisation haben, benötigen Sie möglicherweise Zugriffssteuerungen, da bestimmte Administratoren nur bestimmte Dinge anpassen können sollten. Möglicherweise möchten Sie auch öffentlich zugängliche Dashboards. Wenn dies wichtig ist, sollten Sie sicherstellen, dass das Überwachungssystem über die erforderlichen Steuerungen verfügt.

Andere Eigenschaften

Berichterstellung :
Ein System, das gute Berichte liefert, kann Ihnen dabei helfen, festzustellen, was über einen längeren Zeitraum verbessert werden muss. Zum Beispiel kann es eine gute Antwort auf Dinge wie "Welche Systeme fallen am meisten aus?" Geben. Dies kann wichtig sein, wenn Sie versuchen, das Management davon zu überzeugen, Geld für bestimmte Dinge auszugeben - Geschäfte sind wie harte Beweise.

Spezialfunktionen :
Einige Überwachungssysteme sind auf bestimmte Produkte ausgerichtet oder bieten mehr Unterstützung als andere. Wenn Sie beispielsweise hauptsächlich SQL Server überwachen müssen oder VMWare-Produkte intensiv nutzen, sollten Sie sich überlegen, wie gut diese unterstützt werden.

Vordefinierte Überwachungsvorlagen :
Ein System, das viele vordefinierte Vorlagen enthält (oder dessen Benutzerbasis viele Vorlagen erstellt hat), kann viel Zeit sparen.

Erkennung :
Wenn Sie eine große oder sich ändernde Umgebung haben. Einige Systeme bieten die Möglichkeit, neue Systeme über eine API hinzuzufügen oder Überprüfungen durchzuführen, um neue Server oder Komponenten zu finden.

Verteilte Überwachung:
Wenn Sie mehrere Standorte überwachen müssen, kann es hilfreich sein, an jedem Standort Abfrager zu überwachen, anstatt dass viele unabhängige Systeme über das WAN überwachen.

Einige beliebte Überwachungssysteme

Es gibt viele Überwachungssysteme. Wir haben eine Liste mit einer Zusammenfassung zu dieser alten Frage . Zum schnellen Nachschlagen sind einige, über die ich am meisten höre:

  • Nagios
  • Kakteen
  • OpenNMS
  • Sonnenwinde
  • Zabbix
  • Verschiedene cloudbasierte Überwachungssysteme
  • Microsoft System Center
  • Dieser ist noch nicht sehr beliebt, aber Stack Exchange hat sein Überwachungssystem http://bosun.org als Open-Source-Version bereitgestellt

Wie man sich basierend auf dem oben Gesagten entscheidet

Der Grund, warum ich Ihnen nicht sagen kann, was Sie verwenden sollen, ist, dass jede Organisation ihre eigenen Bedürfnisse hat. Wenn Sie die richtige Wahl treffen möchten, sollten Sie alle oben genannten Komponenten durchdenken und herausfinden, welche Funktionen für Ihr Unternehmen wichtig sind. Dann suchen Sie ein System oder Systeme, die behaupten, das zu liefern, was Sie benötigen, und probieren Sie sie aus. Einige davon kosten ein wenig, viel oder sind kostenlos. Unter Berücksichtigung all dessen können Sie dann Ihre Wahl treffen. Nach allem, was ich benutzt habe, sind sie alles andere als perfekt, aber zumindest kann man versuchen, etwas zu finden, das passt.

Kyle Brandt
quelle
2
Unter der "Alerting Engine" benötigen Sie als Feature "Benachrichtigungsratenbegrenzung". Das Ziel von Benachrichtigungen zu sein, die aufgrund von Kaskadenfehlern oder Schlagfehlern Hunderte oder Tausende von Warnungen "stürmen" (es ist oben, es ist unten, es ist oben, es ist unten - oh, hey, es ist wieder oben ...), ist kein Spaß.
Evan Anderson
8

Es ist hilfreich, zwischen Überwachung und Alarmierung zu unterscheiden. Überwachen bedeutet, Daten zu sammeln und Diagramme zu erstellen. Alarmierung bedeutet, mir eine SMS zu senden, wenn ein Server mitten in der Nacht ausfällt.

Nagios dient zur Alarmierung. Kakteen und Munin sind für die Überwachung. Andere Produkte kombinieren die beiden Funktionen. Zenoss und Zabbix sind Beispiele.

Ich beantworte zunächst einige Fragen:

Müssen Sie Server, Netzwerkgeräte, Anwendungen oder alle drei überwachen?

Gibt es Einschränkungen bei den Methoden, die Sie zum Überwachen verwenden können? Können Sie Überwachungsclients wie NRPE auf den Servern installieren oder verwenden Sie SNMP oder beides?

Wer verwendet die Grafiken und wer verwendet die Warnungen? Wie soll das Endergebnis aussehen? Ist das Erscheinungsbild der Benutzeroberfläche von Bedeutung (werden Geschäftsleute dies verwenden oder nur technische Mitarbeiter?)

Was sind Ihre Ressourcen in Bezug auf Zeit, Fähigkeiten und Hardware? Haben Sie zumindest bescheidene Skriptfähigkeiten? Benötigen Sie eine sofort einsatzbereite Lösung?

Meiner Meinung nach sollte die erste Regel sowohl für die Alarmierung als auch für die Überwachung so einfach wie möglich sein. Eine Organisation kann davon leben oder sterben, wie sie Daten alarmiert und sammelt, und die meiste Zeit wird es für sich genommen sowieso kompliziert. Beginnen Sie mit den Grundlagen und bauen Sie von dort aus.

J Adams
quelle
4

tl; dr

Denken Sie an die Dienste, die Ihre Software bereitstellt , und senden Sie Warnungen, wenn diese Dienste ausfallen oder das Risiko eines Ausfalls dieser Dienste steigt.

Service Level Agreements

Die Theorie hinter Überwachungsstrategien besteht darin, Überwachung und Warnungen mit einer Art Service-Level-Vereinbarung zu verknüpfen . Schließlich möchten Sie darauf aufmerksam gemacht werden, dass Sie Geld verlieren, und nicht unbedingt, dass die Anzahl der TCP-Verbindungen zu nji0019.myserver.com sprunghaft ansteigt. Es gibt verschiedene Tools, mit denen Sie Tonnen von Warnungen erhalten und Abhängigkeiten zwischen Warnungen definieren können. Viele dieser Überprüfungen sind jedoch nicht direkt relevant für den Dienst, den Sie jemandem bereitstellen.

Dienstverstoß

Identifizieren Sie die wichtigen Dienste, die Sie bereitstellen, z. B. die Fähigkeit, eine Website zu bedienen, und die Fähigkeit, diese Website zu ändern (z. B. eine Art CMS). Diese sollten überprüft werden (z. B. indem überwacht wird, ob und wie Sie die Webseite erhalten können). Der Ausfall dieser beiden Dienste (hier mit einem Großbuchstaben S verwendet) sollte einen Alarm auslösen, der Sie benachrichtigt.

Wenn es wichtig ist, dass die Site innerhalb eines angemessenen Zeitraums antwortet, sollte dies ebenfalls Warnungen auslösen. Eine Art "Verstoß gegen SLA", wenn Sie so wollen.

Erhöhtes Risiko

Normalerweise besteht ein inhärentes Risiko, dass ein Dienst ausfällt, und oft genug wird dieses Risiko durch die Tatsache gemindert, dass Sie Redundanz einführen, z. B. einen zweiten Server oder eine Slave-Datenbank oder zusätzliche Netzwerkkarten ...

Wenn diese Redundanz verloren geht, ist der Dienst noch in Ordnung, aber das Risiko, dass der Dienst ausfällt, ist gerade gestiegen.

Dies ist der zweite Hauptgrund, um Warnungen auszulösen. dass die Redundanz weg ist (z. B. dass der zweite Server gestorben ist) oder dass die Gefahr unmittelbar bevorsteht, dass sich das Risiko erhöht (z. B. hat die Festplatte nur noch 500 MB, oder der Festplattentrend zeigt an, dass die Festplatte in etwa 5 Stunden voll sein wird).

Was ist mit all diesen Indikatoren?

Aber check_mk gibt mir 50-60 Schecks pro Host, sind das alles wertlos?

Nein. All dies bedeutet nicht, dass Sie die Fülle automatischer Überprüfungen, die Sie mit check_mk erhalten, loswerden möchten. Sie sollten jedoch versuchen, die einzelnen Überprüfungen nach den möglicherweise betroffenen Diensten zu kategorisieren, wenn ein Fehler auftritt.

Welcher Dienst wäre betroffen, wenn die / var / -Partition voll wird? Welcher Dienst wäre betroffen, wenn die eth0-Schnittstelle ausfallen würde? ... wenn ausgehende TCP-Verbindungen von einer Firewall blockiert werden? ... wenn die Anzahl der Threads 800 überschreitet? ... wenn die Datenbank ausfällt?

Beispiel

Sie haben 2 Webserver und einen Datenbankserver, der eine Site hinter einem Load Balancer bedient, dessen Eigentümer Sie nicht sind (z. B. der ISP). Der Dienst, den Sie bereitstellen, ist Port 80 auf den beiden Servern, und sie haben enorme Caches, die z. B. Datenbankausfallzeiten überstehen können (Datenbank auf einem dritten Server).

In diesem Szenario würde der vollständige Ausfall eines Webservers nicht zum Ausfall der Site führen. Was passiert ist, ist, dass die Redundanz weg ist, so dass das Risiko eines Ausfalls gerade gestiegen ist. Das sollte einen Alarm auslösen.

Der vollständige Ausfall der Datenbank wirkt sich möglicherweise nicht auf die Fähigkeit aus, die Site zu bedienen, da die Caches ordnungsgemäß eingerichtet sind. Dies hat dann keine Auswirkungen auf den Dienst, der die Website bedient, kann sich jedoch auf einen anderen Dienst auswirken, nämlich das Aktualisieren der Website oder das Annehmen von Bestellungen ...

Jeder Service verfügt über ein eigenes Servicelevel, das angibt, wie wichtig es ist, den Service wiederherzustellen oder Ausfälle zu vermeiden

Sei agil

Jedes Mal, wenn Sie eine Warnung erhalten, sollten Sie einen der folgenden Schritte ausführen: - Ändern Sie das überwachte System, um das Problem zu beheben, das die Warnung verursacht hat (z. B. Ersetzen des Laufwerks oder Neukonfigurieren von Logrotate oder Ähnlichem). - Ändern Sie das Überwachungssystem, um zu vermeiden, dass die Warnung angezeigt wird gesendet das nächste Mal, wenn diese Situation auftritt. (Ändern Sie z. B. die Werte für "festplattenfrei", damit die Festplatte zu 90% anstatt nur zu 80% gefüllt werden kann.)

Meine eigene Erfahrung

Ich kenne mich hauptsächlich mit Nagios und seiner ausführlichen Konfiguration aus und bin seitdem von Check-mks Multisite begeistert. Ich habe kürzlich erfahren, dass check_mk dieses Konzept von Business Intelligence (seit 1.11) hat, das gut zu diesem Denken zu passen scheint. Sie können festlegen, dass Prüfungen in Nagios Teil eines umfangreicheren Dienstes sind und Regeln enthalten, die den Status des "Dienstes" als Funktion des Status vieler Prüfungen definieren, die zum schlechtesten oder besten Status aggregieren .

Mogsie
quelle
Wow, zwei Abstimmungen und keine Kommentare. Gute Form.
Mogsie
1
Die Leute haben Angst, wenn Sie zu weit voraus denken :)
Florian Heigl
1

Einer der wichtigsten Punkte, die Unternehmen bei der Auswahl einer Überwachungslösung vergessen, ist, dass es nicht nur um die Lösung sofortiger betrieblicher Probleme geht, sondern um die unvorhergesehenen Probleme von morgen! Natürlich ist es wichtig, sofortige Probleme zu lösen, aber vertrauen Sie mir, in vielen Fällen wird diese kurzsichtige Strategie das Überleben eines Unternehmens nicht garantieren.

Es gibt Dutzende großartiger Überwachungslösungen auf dem Markt. Es ist schwierig und langwierig, eine kleine Auswahl an Lösungen zu finden, die Ihren Anforderungen entsprechen. Darüber hinaus ist es noch schwieriger, eine Lösung zu finden, die zu Ihrem Budget passt. Das Interessante ist , einen zu finden, der auf Ihre Gegenwart und Ihre Zukunft abgestimmt ist . Und es gibt keinen Bewertungsprozess, um dies zu erkennen, es ist eine Frage der Erfahrung + der Intuition + eines sehr wichtigen Faktors: Vertrauen , was nicht leicht zu hacken ist .

Als Faustregel gilt, dass Sie nach Erfolgsgeschichten Ihrer in die engere Wahl gezogenen Überwachungslösungen suchen und suchen müssen , insbesondere, wenn sie ein Unternehmen aus Ihrer Branche betreffen. Fragen Sie den Verkäufer nach ihren Erfolgsgeschichten und fragen Sie ihn sogar um Erlaubnis, mit einem seiner Kunden sprechen zu dürfen. Unternehmen, die sich nicht davor fürchten, zeigen, dass sie echte Beziehungen zu ihren Kunden haben, und das verbergen sie nicht, und das ist heutzutage äußerst selten anzutreffen .

Zabbix, Icinga, Pandora FMS, op5, Datadog, New Relic ... sie haben alle ihre Höhen und Tiefen, aber das eigentliche Problem ist, zu finden, welches sich besser an Ihre Zukunft anpasst.

Axel
quelle
0

Wenn Sie eine Remote-Systemüberwachung in Betracht ziehen, ist es möglicherweise eine gute Idee, nach den tatsächlichen Standorten zu suchen, an denen Tests durchgeführt werden. Konnektivitätsprobleme gehören nicht der Vergangenheit an. Wenn Ihre Hardware eine Gruppe in einer bestimmten Region bedient, möchten Sie möglicherweise sicherstellen, dass Ihre Ressourcen an diesem bestimmten Standort verfügbar sind.

Svetoslav Stefanov
quelle