Frage Was suche ich in einer Monitoring-Lösung?


Das ist ein Kanonische Frage über Überwachungssoftware.

Auch bezogen: Mit welchem ​​Tool überwachen Sie Ihre Server?

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


21
2018-05-31 15:30


Ursprung


Verbunden: Mit welchem ​​Tool überwachen Sie Ihre Server? - Chris S


Antworten:


Es gibt viele Überwachungslösungen da draußen. Jeder hat seine Vorliebe und jedes Unternehmen hat seine eigenen Bedürfnisse, daher gibt es keine richtige Antwort. Ich kann Ihnen jedoch helfen, herauszufinden, wonach Sie bei der Auswahl einer Überwachungslösung suchen 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 im Zeitverlauf grafisch darstellen. Der zweite Zweck besteht darin, zu warnen, wenn die Dinge entweder nicht reagieren oder nicht innerhalb bestimmter Schwellenwerte liegen. Zum Beispiel möchten Sie möglicherweise Warnungen, wenn ein bestimmter Server nicht durch Pings erreicht werden kann oder wenn die CPU-Auslastung über einem bestimmten Prozentsatz liegt. Es gibt auch Log-Monitoring-Systeme wie Splunk, aber ich behandle diese als separate dafür.

Diese beiden Hauptrollen kommen manchmal in einem einzigen Produkt vor, andere Male und häufiger ist es, ein Produkt für jeden Zweck zu haben.

Was sind die wichtigsten Komponenten und Funktionen in Überwachungssystemen?

Poller:
Alle Überwachungssysteme benötigen eine Art Poller, um die Daten zu sammeln. Nicht alle Daten werden auf die gleiche Weise gesammelt. Sie sollten sich Ihre Umgebung ansehen und entscheiden, welche Daten Sie benötigen und wie sie gesammelt werden können. Stellen Sie dann sicher, dass das von Ihnen gewählte Überwachungssystem unterstützt, was Sie benötigen. Einige gängige Methoden umfassen:

  • SNMP (Einfaches Netzwerkverwaltungsprotokoll)
  • WMI (Windows-Verwaltungsinstrumentation)
  • Ausführen von Skripts (z. B. Ausführen eines Skripts auf dem Computer, der überwacht wird, oder Ausführen eines Skripts aus der Überwachungsbox selbst, die eine eigene Abfragemethode verwendet). Dazu gehören Dinge wie Bash-Skripte, Perl-Skripte, ausführbare Dateien und Powershell-Skripte
  • Agentenbasierte Überwachung. Mit diesen läuft ein Prozess auf jedem Client und sammelt diese Daten. Diese Daten werden entweder auf den Überwachungsserver übertragen oder der Überwachungsserver fragt den Agenten ab. Einige Administratoren sind mit Agents einverstanden, andere mögen sie nicht, da sie auf dem zu überwachenden Server einen größeren Platzbedarf haben.
  • Fokussierte APIs (z. B. VMWare-API oder die Fähigkeit, SQL-Abfragen auszuführen)

Wenn in Ihrer Umgebung oder einem primären Betriebssystem meist ein Betriebssystem vorhanden ist, verfügen bestimmte Systeme möglicherweise über mehr Optionen als andere.

Aufbau:
In Überwachungssystemen gibt es oft eine Menge an Wiederverwendung von Objekten. Beispielsweise möchten Sie eine bestimmte Anwendung wie Apache oder IIS auf einer Reihe von Servern überwachen. Oder Sie möchten, dass bestimmte Schwellenwerte für Servergruppen gelten. Sie können auch bestimmte Gruppen von Personen "auf Abruf" haben. Daher ist ein gutes Templating-System für ein Monitorsystem unerlässlich.

Die Konfiguration erfolgt in der Regel über eine Benutzeroberfläche oder Textdateien. Die Benutzeroberflächenoption wird im Allgemeinen einfacher sein, aber Textdateien sind tendenziell besser für die Wiederverwendung und Variablen. Abhängig von Ihren IT-Mitarbeitern bevorzugen Sie Einfachheit gegenüber Strom.

Benutzeroberfläche:
Die am häufigsten verwendete Schnittstelle für Überwachungssysteme ist heutzutage eine Webschnittstelle. Einige Dinge in Bezug auf das Web-Interface zu bewerten sind:

  • Gute Übersicht
  • Gute Detailseiten
  • Geschwindigkeit (Wenn Sie Informationen im Krisenmodus finden müssen, kann eine langsame Schnittstelle sehr frustrierend sein
  • Allgemeines Gefühl. Sie werden viel Zeit in der Benutzeroberfläche verbringen, wenn es sich klobig anfühlt, werden Ihre IT-Mitarbeiter sich resistent gegen die Verwendung fühlen
  • 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:
Der Alarmierungsmechanismus muss flexibel und zuverlässig sein. Es gibt viele verschiedene Möglichkeiten, um benachrichtigt zu werden, einschließlich:

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

Andere Funktionen, auf die Sie achten sollten, sind:

  • Eskalationen (jemanden benachrichtigen, wenn die andere Person die Warnung nicht bestätigt oder repariert hat)
  • Rotationen und Verschiebungen
  • Gruppen (Bestimmte Gruppen müssen über bestimmte Dinge informiert werden)

Es ist wichtig zu vertrauen, dass wenn etwas schief geht, Sie Alarm bekommen. Das kommt auf zwei Dinge an:

  1. Ein zuverlässiges System
  2. Eine vorbehaltsfreie Konfiguration. In Überwachungssystemen ist es nicht ungewöhnlich, dass Sie denken, dass Sie eine Warnung erhalten sollten, aber wegen einiger Details in der Konfiguration wurde die Warnung nie ausgelöst.

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

Einige Funktionen, die Sie aus dem Datenspeicher suchen, sind:

  • Roher Zugriff auf die Daten. Dies kann für das Entwickeln gegen oder das Erstellen von benutzerdefinierten Diagrammen mit etwas wie Excel nützlich sein.
  • Skalierbarkeit Abhängig davon, wie viele Daten du sammelst, kann es sich schnell summieren. Wenn du viel sammelst, willst du sicherstellen, dass es skaliert wird.

Grafische Bibliothek:
Diagramme können nützlich sein, um schnell Trends zu erkennen und dem aktuellen Zustand von etwas basierend auf seiner Historie einen Kontext zu geben. Einige enthalten Trends, die hilfreich sein können, um Dinge vorherzusagen, bevor sie eintreten (d. H. Dass kein Speicherplatz mehr zur Verfügung steht). Stellen Sie sicher, dass die Grafiken Ihnen die Informationen liefern, von denen Sie glauben, dass Sie sie klar benötigen.

Zugriffskontrollen:
Wenn Sie eine große Organisation haben, benötigen Sie möglicherweise Zugriffssteuerungen, da bestimmte Administratoren nur in der Lage sein sollten, bestimmte Dinge anzupassen. Sie können auch Dashboards für die Öffentlichkeit suchen. Wenn dies wichtig ist, sollten Sie sicherstellen, dass das Überwachungssystem über die erforderlichen Steuerelemente verfügt.

Andere Eigenschaften

Berichterstattung:
Ein System, das gute Berichte liefert, kann Ihnen helfen, zu identifizieren, was über lange Zeiträume verbessert werden muss. Zum Beispiel kann es eine gute Antwort auf Dinge wie "Welche Systeme gehen am meisten?" Geben. Dies kann wichtig sein, wenn Sie versuchen, das Management zu überzeugen, Geld für bestimmte Dinge auszugeben - Geschäfte sind harte Beweise.

Spezialisierte Funktionen:
Einige Überwachungssysteme sind auf bestimmte Produkte ausgerichtet oder haben mehr Unterstützung als andere. Wenn Sie zum Beispiel SQL Server überwachen müssen oder wenn Sie VMWare-Produkte intensiv nutzen, sollten Sie sehen, wie gut diese unterstützt werden.

Vordefinierte Überwachungsvorlagen:
Ein System, das mit vielen vordefinierten Vorlagen geliefert wird (oder eine Benutzerbasis hat, die viele Vorlagen erstellt hat), kann eine große Zeitersparnis bedeuten.

Entdeckung:
Wenn Sie eine große oder sich verändernde Umgebung haben. Einige Systeme bieten die Möglichkeit, neue Systeme über eine API hinzuzufügen oder Scans auszuführen, um neue Server oder Komponenten zu finden.

Verteiltes Monitoring:
Wenn Sie mehrere Standorte überwachen müssen, kann es hilfreich sein, Überwachungs-Poller an jedem Standort zu haben, anstatt dass viele unabhängige Systeme über das WAN überwachen.

Einige beliebte Überwachungssysteme

Es gibt eine Menge von Überwachungssystemen da draußen. Wir haben eine Liste mit einer Zusammenfassung dieser alten Frage. Zur schnellen Bezugnahme sind einige, die ich am meisten höre:

  • Nagios
  • Kakteen
  • OpenNMS
  • Sonnenwinde
  • Verschiedene Cloud-basierte Monitoring-Systeme
  • Microsoft System Center
  • Dieser ist noch nicht populär, aber Stack Exchange hat sein Überwachungssystem von Open Source bezogen http://bosun.org

Wie man basierend auf dem obigen 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 finden Sie ein System oder Systeme, die behaupten, das zu liefern, was Sie brauchen, und sie auszuprobieren. Einige von ihnen kosten ein wenig, viel oder sind frei. Wenn Sie all dies berücksichtigen, können Sie Ihre Wahl treffen. Von dem, was ich benutzt habe, sind sie alles andere als perfekt, aber zumindest kannst du versuchen, etwas zu bekommen, das passt.


19
2018-05-31 15:30



Unter der "Alerting Engine" benötigen Sie wirklich "Benachrichtigungsrate begrenzen" als eine Funktion. Das Ziel der Benachrichtigung "Stürme" von Hunderten oder Tausenden von Warnungen aufgrund von Kaskadierungsfehlern oder Flattern Fehler (es ist oben, es ist down, es ist oben, es ist down - oh, hey, es ist wieder hoch ...) ist kein Spaß. - Evan Anderson


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

Nagios dient zur Warnung. Kakteen und Munin dienen zur Überwachung. Andere Produkte kombinieren die beiden Funktionen. Zenoss und Zabbix sind Beispiele.

Ich würde damit beginnen, einige Fragen zu beantworten:

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

Gibt es Einschränkungen hinsichtlich der 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 wird die Grafiken verwenden und wer wird die Benachrichtigungen verwenden? Wie soll das Endergebnis aussehen? Ist das Aussehen und Verhalten der Benutzeroberfläche von Bedeutung (werden Geschäftsleute diese oder nur technische Mitarbeiter verwenden?)

Was sind Ihre Ressourcen, sowohl in Bezug auf Zeit, Fähigkeiten und Hardware? Hast du zumindest eine bescheidene Skriptfähigkeit? Brauchen Sie eine Out-of-the-Box-Lösung?

Meiner Meinung nach sollte die erste Regel sowohl für die Alarmierung als auch für die Überwachung einfach sein! Eine Organisation kann leben oder sterben, wie sie Daten alarmiert und sammelt, und die meiste Zeit wird es sowieso kompliziert. Beginne mit den Grundlagen und baue von dort aus.


8
2018-05-31 20:38





tl; dr

Denk an die Dienste, die Ihre Software bietet, senden Sie Warnungen, wenn diese Dienste fehlschlagen, oder wenn die Risiko eines Fehlers dieser Dienste erhöht sich.

Service Level Agreements

Die Theorie hinter Überwachungsstrategien besteht darin, Monitoring und Alerts an irgendeine Art zu binden Service-Level-Vereinbarung. Schließlich möchten Sie auf die Tatsache hingewiesen werden, dass Sie Geld verlieren, nicht unbedingt, dass es eine Spitze in der Anzahl der TCP-Verbindungen zu nji0019.myserver.com gibt. Es gibt verschiedene Tools, die Ihnen eine Menge Warnungen geben, Abhängigkeiten zwischen Alerts definieren, aber viele dieser Überprüfungen sind nicht direkt relevant für die Bedienung Du gibst jemandem etwas.

Dienstverletzung

Identifizieren Sie die wichtigen Dienste, die Sie bereitstellen, z. B. die Möglichkeit, eine Website bereitzustellen, und die Möglichkeit, diese Website (z. B. ein CMS) zu ändern. Diese sollten überprüft werden (z. B. durch Überwachung, dass Sie die Webseite abrufen können und das können Sie). Der Ausfall dieser beiden Dienste (hier mit einem Großbuchstaben S verwendet) sollte eine Benachrichtigung auslösen, um Sie zu benachrichtigen.

Wenn es wichtig ist, dass die Website innerhalb einer angemessenen Zeitspanne antwortet, sollte dies ebenfalls zu Warnungen führen. Irgendwie eine "Verletzung von SLA", wenn Sie so wollen.

Erhöhtes Risiko

In der Regel besteht ein inhärentes Risiko, dass ein Dienst versagt, und oft genug wird dieses Risiko durch die Tatsache verringert, dass Sie Redundanz einführen, z. ein zweiter Server oder eine Slave-Datenbank oder zusätzliche Netzwerkkarten ...

Wenn diese Redundanz verloren geht, ist der Service immer noch in Ordnung, aber das Risiko, dass der Service versagt, ist einfach gestiegen.

Dies ist der zweite wichtige Grund, um Warnmeldungen auszulösen. diese Redundanz ist weg (z. B. dass der zweite Server gestorben ist), oder dass die Gefahr besteht, dass das Risiko steigt (z. B. hat die Platte nur noch 500 Mb, oder der Plattentrend zeigt an, dass die Platte in etwa 5 Stunden voll wird).

Was ist mit all diesen Indikatoren?

Aber check_mk gibt mir 50-60 Checks pro Host, sind diese alle wertlos?

Nein. Das bedeutet nicht, dass Sie die Fülle der automatischen Schecks, die Sie z. check_mk, aber es bedeutet, dass Sie versuchen sollten, jede Prüfung dahingehend zu kategorisieren, welche Dienste betroffen sein könnten, wenn etwas nicht funktioniert.

Welcher Dienst wäre betroffen, wenn die Partition / var / voll ist? Welcher Service wäre betroffen, wenn die eth0-Schnittstelle ausgeschaltet ist? ... ob ausgehende TCP-Verbindungen von einer Firewall blockiert werden? ... wenn die Anzahl der Threads 800 übersteigt? ... wenn die Datenbank ausfällt?

Beispiel

Sie haben 2 Webserver und einen Datenbankserver, der eine Site hinter einem Load Balancer bereitstellt, den Sie nicht besitzen (z. B. der ISP). Der Service, den Sie bereitstellen, ist Port 80 auf den beiden Servern und sie haben enorme Caches, die z. Datenbankausfallzeiten (Datenbank auf einem dritten Server).

In diesem Szenario führt der vollständige Ausfall eines Webservers nicht zum Ausfall der Site. Was passiert ist, ist, dass die Redundanz weg ist, so dass die Risiko des Scheiterns ist gerade gegangen. Das sollte eine Warnung auslösen.

Der vollständige Fehler der Datenbank hat möglicherweise keinen Einfluss auf die Fähigkeit, die Site überhaupt zu bedienen, da die Caches gut eingerichtet sind. Das dann hat keinen Einfluss auf den Service die Website zu bedienen, aber es könnte einen anderen Service betreffen, nämlich die Aktualisierung der Website oder die Annahme von Bestellungen ...

Jeder Dienst würde seinen eigenen Dienstgrad haben, der angibt, wie wichtig es ist, den Dienst wiederherzustellen oder Ausfälle zu vermeiden

Sei agil

Jedes Mal, wenn Sie eine Warnung erhalten, sollten Sie einen der folgenden Schritte ausführen: - das überwachte System ändern, um das Problem zu beheben, das die Warnung ausgelöst hat (z. B. das Laufwerk ersetzen oder logrotate oder etwas neu konfigurieren) - Ändern Sie das Überwachungssystem, um zu vermeiden, dass die Warnung beim nächsten Auftreten der Situation gesendet wird. (z. B. die Ebenen für "disk free" ändern, so dass die Platte bis zu 90% statt nur 80% füllen kann)

Meine eigene Erfahrung

Ich bin hauptsächlich mit Nagios und seiner ausführlichen Konfiguration vertraut und bin seither auf Check-mks Multisite süchtig. Ich habe kürzlich gelernt, dass check_mk dieses Konzept der Business Intelligence (seit 1.11) hat, das diesem Denken gut zu entsprechen scheint. Sie können definieren, dass Checks in Nagios Teil eines größeren Service sind und Regeln haben, die den Status des "Service" als eine Funktion des Status vieler Checks definieren, die sich zu den am schlimmsten oder Beste Zustand.


4
2017-08-14 13:00



Wow, zwei Downvotes und keine Kommentare. Gute Form. - mogsie
Leute haben Angst, wenn du zu weit nach vorn denkst :) - Florian Heigl


Einer der kritischsten Punkte, die Unternehmen vergessen, wenn sie eine Überwachungslösung wählen, ist diese Es geht nicht nur darum, operative Probleme zu lösen, sondern um die unvorhergesehenen Probleme von morgen! Ich meine, natürlich ist die Lösung aktueller Probleme wichtig, aber vertrauen Sie mir, in vielen Fällen wird diese kurzsichtige Strategie das Überleben eines Unternehmens nicht garantieren.

Es gibt Dutzende von großartigen Überwachungslösungen auf dem Markt. Die Auswahl einer kleinen Auswahl von Lösungen, die Ihre Anforderungen erfüllen, ist eine schwierige und langwierige Aufgabe. Außerdem ist es noch schwieriger, eine zu finden, die zu Ihrem Budget passt. Der interessante Teil ist einen finden, der mit deiner Gegenwart und deiner Zukunft übereinstimmt. Und es gibt keinen Bewertungsprozess, um das zu erkennen, es ist eine Frage der Erfahrung + Intuition + ein sehr wichtiger Faktor: Vertrauen, was nicht leicht ist hacken.

Als Faustregel gilt: Suche und suche nach Erfolgsgeschichten von Ihren in die engere Wahl genommenen Überwachungslösungen, insbesondere wenn es sich um ein Unternehmen aus Ihrer Branche handelt. Fragen Sie den Verkäufer nach seinen Erfolgsgeschichten und bitten Sie ihn sogar um die Erlaubnis, mit einem seiner Kunden zu sprechen. Unternehmen, die keine Angst davor haben, zeigen dies echt Beziehungen mit ihren Kunden, und sie verbergen das nicht, und das ist ein sehr selten was man heutzutage findet.

Zabbix, Icinga, Pandora FMS, Op5, Datadog, New Relic ... sie alle haben ihre Höhen und Tiefen, aber die echtes Problem Finde heraus, welcher sich besser an deine Zukunft anpasst.


1
2018-05-12 16:37





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


0
2018-06-01 17:43