In unseren Gesprächen mit Kunden stolpern wir immer wieder über einen Diskussionspunkt: agentenbasiertes versus agentenloses Monitoring.
Es ist in der Tat eine interessante Frage für eine Debatte. Daher wollen wir das Thema in diesem Artikel etwas vertiefen, besonders das agentenlose Monitoring. Wir wollen auch darlegen, warum wir der Meinung sind, dass der Terminus häufig falsch verwendet wird.
IT-Abteilungen nutzen in der Regel eine Monitoring-Lösung, um auf diese Weise eine Übersicht über den Gesundheitsstatus der eigenen IT-Infrastruktur zu erhalten. Eine Monitoring-Software benachrichtigt den Administrator umgehend über potenzielle Zwischenfälle, sodass sie den täglichen Geschäftsbetrieb nicht stören und keine Ausfälle verursachen können.
Mit dem Wachstum eines Unternehmens wächst auch die Komplexität seiner internen Systeme. Heute müssen Sysadmins alle Arten von physikalischen Geräten, etwa Server, Router, Switches oder Storage-Systeme, und virtuelle Plattformen, etwa virtuelle Maschinen, Container und Cloud-Infrastrukturen, sowie Middleware und Applikationen überwachen.
Um eine ganzheitliche Übersicht über alle Leistungswerte der Systeme zu erhalten, muss die IT-Monitoring-Software in der Lage sein, von all diesen angebundenen Geräten die nötigen Daten einzusammeln. Dieser Prozess beinhaltet in der Regel die Installation eines Agenten, also einer kleinen, ausführbaren Datei, die durch den Hersteller der IT-Monitoring-Lösung bereitgestellt wird, und auf dem Zielsystem installiert werden muss. Diese Vorgehensweise beschreibt also den Begriff „agentenbasiertes Monitoring“.
Die Aufgabe des Agenten ist es nun, Daten über die Leistung des Geräts zu sammeln und diese dann an die IT-Monitoring-Lösung zu übermitteln. Ziemlich einfach, oder?
Was ist agentenloses Monitoring?
Wie bei jeder anderen Art von Technologie, die wir nutzen, gibt es auch beim oben genannten Ansatz Ausnahmen. Dies sind Geräte, die zur Leistungsüberwachung nicht die Installation eines Agenten eines Drittanbieters benötigen.
Diese Systeme übermitteln die Daten entweder über eine applikationsspezifische API, wie beispielsweise bei VMware, oder beruhen auf einer standardisierten Technik. Hier verweisen wir hauptsächlich auf die zwei unterschiedlichen Technologien SNMP (Simple Network Management Protocol) und WMI (Windows Management Instrumentation) – auch wenn es noch viele weitere gibt. Ohne zu sehr ins Detail gehen zu wollen:
- Bei WMI handelt es sich um eine Microsoft-basierte Technik, die für das Monitoring und für das Management von Windows-basierten Systemen zum Einsatz kommt. IT-Monitoring-Lösungen verwenden das WMI-Protokoll, um Zugang zu Daten von verschiedenen Parametern und Statuswerten zu erhalten. Dieser Ansatz hat jedoch eine hohe Auswirkung auf die Systemleistung und kann weitere Fehler auslösen.
- SNMP ist weiter verbreitet und erlaubt es Nutzern, eine größere Bandbreite an Systemen mit verschiedenen Betriebssystemen, etwa Windows, Unix und Linux, und verschiedenen Komponenten, etwa Router, Switches oder Drucker, zu überwachen. Das Protokoll bringt bereits eine Reihe von Nachteilen mit sich, etwa Probleme mit der Datenkonsistenz und eine umständliche Sicherung.
Beide Varianten haben ihre Vor- und Nachteile, sodass eine detaillierte Diskussion über das Für und Wider einer Nutzung von WMI oder SNMP Teil eines zusätzlichen Artikels sein müsste.
Nun, es gibt einen einfachen Grund, warum wir sagen, dass es ein agentenloses Monitoring nicht gibt: Sprechen Softwarehersteller davon, dass ihre Lösung ein agentenloses Monitoring ermöglicht, meinen sie eigentlich, dass ein Anwender keinen Agenten eines Drittanbieters auf dem Gerät installieren muss, das er überwachen will.
Es gibt natürlich auch eine Ausnahme: Wenn man für sein Monitoring nur APIs benutzt, handelt es sich tatsächlich um ein agentenloses Monitoring. Dies ist aber normalerweise nur für Applikationen und virtuelle Systeme möglich. Nur wenige Hardwareplattformen und Betriebssysteme verfügen über eine solche API. Daher werden wir auf diesen Fall in diesem Artikel nicht weiter eingehen.
Aber warum ist das so?
Es handelt sich hierbei also um eine Frage der Definition. Auf manchen Komponenten, etwa Switches oder Routern, benötigt man entweder keinen Agenten eines Drittanbieters oder es ist nicht möglich, einen solchen zu installieren. Stattdessen implementieren die Hersteller auf ihren Geräten normalerweise standardmäßig einen Monitoring-Agenten, der auf industriellen Standards beruht und die Leistungsdaten des Geräts ausgeben kann.
Technisch gesehen, können Sie ein agentenloses Monitoring auf ihren Geräten betreiben. Die Realität ist aber, dass Sie ihre Daten von einem nativen Softwareagenten erhalten, der standardmäßig in das Gerät integriert ist. Auf diese Weise vermeiden es die Hersteller, dass man einen Agenten eines Drittherstellers installieren muss.
Sie nutzen also trotzdem einen Monitoring-Agenten, um die Daten über das Gerät einzusammeln. Dieser Agent wird lediglich nicht vom Hersteller ihrer favorisierten Monitoring-Software bereitgestellt. Daher unterscheiden wir zwischen einem dedizierten Monitoring-Agenten (agentenbasiertes Monitoring) und der Nutzung einer nativen, eingebauten Lösung (agentenloses Monitoring, etwa SNMP).
Praktische Unterschiede zwischen agentenbasierter und agentenloser Discovery
Um sowohl den Netzwerkstatus, als auch den Status der zu überwachenden Geräte zu ermitteln, muss bei einer agentenbasierten und bei einer agentenlosen Monitoring-Software erstmal ein Erkennungsschritt erfolgen. Wenn Sie Checkmk verwenden, erkennt es die im Netzwerk vorhandenen Geräte automatisch. Dafür sendet es TCP/IP-Pakete an jedes mögliche Gerät. Bei den Geräten kann es sich um Laptops, Server, Desktops, Drucker, virtuelle Maschinen, Router und ähnliches handeln. Sobald der zuvor installierte Agent alle Geräte identifiziert hat, nimmt er die Services für jedes dieser Geräte in das Inventar auf und überwacht sie.
Obwohl beide Schritte sowohl bei agentenbasierten als auch bei agentenlosen Monitoring-Lösungen durchgeführt werden, unterscheiden sie sich voneinander. Bei einer agentenbasierten Methode ist der installierte Agent für das Abfragen der Geräteinformationen verantwortlich und beantwortet die Anfragen der Monitoring-Instanz. Ohne einen Agenten ist es wiederum die Aufgabe der Hauptapplikation, das Betriebssystem jedes Assets über verschiedene Protokolle oder APIs abzufragen. Um die gewünschten Metriken zu sammeln, muss sie außerdem über genügend Berechtigungen verfügen.
Es ist leicht zu erkennen, dass die praktischen Unterschiede zwischen der agentenbasierten und der agentenlosen Discovery darin bestehen, wer die Aufgabe übernimmt. Wenn ein Agent installiert ist, ist er für die Erkennung und die Informationsbeschaffung zuständig. Ohne Agent erfolgt die Inventarisierung auf Anforderung des Hauptservers. Außerdem sendet eine agentenlose Monitoring-Software in der Regel mehr Daten über das Netzwerk als eine agentenbasierte Software.
Die Vor- und Nachteile eines agentenlosen Monitorings
Auch wenn wir nicht mit der typischen Verwendung des Begriffs agentenloses Monitoring übereinstimmen, da er missverständlich ist, wollen wir uns weiter mit den Vor- und Nachteilen dieser Vorgehensweise beschäftigen.
Vorteile eines agentenlosen Monitorings
Ein nativer, integrierter Monitoring-Agent bringt eine Reihe an Vorteilen mit, die sich folgendermaßen zusammenfassen lassen:
- Es ist weniger aufwändig, seine Geräte zu monitoren – auch wenn es hierbei einige ernsthafte Sicherheitsprobleme nach sich ziehen kann, auf die wir später noch eingehen werden.
- Ein agentenloses Monitoring ist einfach und schnell aufzusetzen, was beinhaltet, dass Sie sich um weniger Dinge innerhalb Ihrer Monitoring-Umgebung aktiv kümmern müssen.
- Es bedeutet einen geringeren Betriebsaufwand, da Sie keine Agenten updaten oder upgraden müssen.
- Eine geringere TCO (Cost of Ownership).
Nachteil eines agentenlosen Monitorings
Es gibt jedoch auch Nachteile eines agentenlosen Monitorings, die zeigen, dass ein agentenbasierter Ansatz doch durchaus Sinn machen könne:
- Sicherheitsprobleme: Agentenloses Monitoring benutzt Schnittstellen, die einen Remote-Zugang ermöglichen. Bei WMI oder SNMP erhält der Anwender neben einem Zugang auf die Leistungsdaten eines Geräts auch Zugriff auf die Steuerung des Geräts, etwa für den Neustart eines Servers. Eine ordnungsgemäße Konfiguration reduziert zwar das Risiko eines ungewollten Verhaltens, die Verantwortung bei diesem Monitoring-Ansatz liegt jedoch allein beim Anwender und seinem Verständnis von der agentenlosen Technik, die er einsetzt.
- Tiefgreifende Metriken: Ein agentenloses Monitoring ist zwar weniger aufwändig, es ist jedoch auch limitiert bezüglich der Daten, die es einsammelt. Ein IT-Administrator will sicher gerne mehr als die Standard-Metriken seiner IT-Infrastruktur einsehen können. Dies ist der Punkt, an dem der agentenbasierte Monitoring-Ansatz zum Tragen kommt, der breitere und tiefere Monitoring-Fähigkeiten und ein umfassenderes Set an Analyseinformationen bereitstellt.
- Flexible Konfiguration: Bei einem agentenbasierten Setup, sind die Agenten häufig in der Lage, das Monitoring auf mehr als eine "Sache" auszuweiten, um etwa allgemeine Daten zum Betriebssystem und Applikations-spezifische Daten zu sammeln. Die Erweiterung der Monitoring-Fähigkeiten einer agentenlosen Lösung, die individuelle Applikationen und Services überwacht, ist entweder sehr schwierig zu implementieren – oder schlichtweg nicht möglich.
Die Vor- und Nachteile eines agentenbasiertem Monitorings
Wir haben auch einige Vor- und Nachteile des agentenbasierten Monitorings für Sie zusammengetragen.
Vorteile eines agentenbasiertem Monitorings
Das agentenbasierte Monitoring bringt ebenfalls zahlreiche Stärken mit sich:
- Sicherheit: Wenn Ihre Monitoring-Lösung einen Agenten verwendet, kann sich dieser stärker auf eine sichere Übertragung von Metriken konzentrieren. Während Sie sich bei einer agentenlosen Lösung auf die Entwicklung eines guten Interfaces verlassen müssen, kann eine agentenbasierte Lösung den Agenten selbst entwickeln und verbessern und so den technologisch fortschrittlichsten Ansatz gewährleisten. TLS/SSL-Verbindungen über TCP sind bei agentenbasierten Tools üblich.
- Detaillierte Metriken: Agentenlose Monitoring-Tools sind in der Regel in ihrer Aussagekraft begrenzt. Manchmal ist das ausreichend, aber in modernen IT-Infrastrukturen ist dies eher selten der Fall. Ein Agent, der auf verschiedenen Hosts und Geräten installiert ist, kann ein breiteres Spektrum an ausführlichen und granularen Metriken sammeln, was Ihnen die Problemprävention oder die Behebung tatsächlicher Probleme um einiges erleichtert.
- Flexibilität: Ein Agent kann in viele Richtungen entwickelt und konfiguriert werden. Wenn Sie bestimmte Daten noch nicht erfassen können, können Sie dies mit einer neueren Version oder durch das Schreiben eines Plugins lösen. Die Flexibilität ist unvergleichlich.
- Performance: Agenten in agentenbasierten Monitoring-Lösungen benötigen nur wenig Speicherplatz und belasten die zugrunde liegende Hardware kaum. Obwohl sie mehr Daten sammeln, verbrauchen sie nicht zu viele Ressourcen.
- Umfang: Während sich agentenlose Lösungen nur auf einen bestimmten Bereich konzentrieren, können agentenbasierte Monitoring-Lösungen Daten von mehreren Gerätetypen und Hosts sammeln und diese zu einem Überblick über die gesamte Infrastruktur zusammenfassen. Sie können außerdem Komponenten wie Cloud-Umgebungen, Container und virtuelle Server überwachen, was mit einer agentenlosen Software nicht möglich ist.
Nachteile eines agentenbasiertem Monitorings
Nicht alles ist ideal bei agentenbasierten Monitoring-Lösungen. Es gibt auch einige Nachteile:
- Konfigurierbarkeit: Mehr Optionen und Spielraum sind auf lange Sicht zwar das Beste, bedeuten aber kurzfristig, dass Sie mehr Schritte und Komponenten beachten müssen, bevor Sie mit dem Monitoring beginnen können. Die meisten modernen Lösungen zielen jedoch darauf ab, den Konfigurationsschritt zu vereinfachen.
- Wartung: Je mehr Teile zu installieren und zu konfigurieren sind, desto höher sind die Wartungskosten. Sie müssen nicht nur die Monitoring-Software aktualisieren, sondern auch die verschiedenen Agenten, die im Netzwerk installiert sind – ein mühsamer Vorgang. Dazu gehört auch, dass Sie den Zugriff auf die gesamte zu überwachende Hardware benötigen.
- Kosten: Bei einigen agentenbasierten Monitoring-Lösungen können höhere Lizenzkosten anfallen.
Welcher Monitoring-Ansatz eignet sich besser?
Welcher Monitoring-Ansatz ist besser? Sollten Sie eher ein agentenloses Monitoring oder eine agentenbasierte Überwachung verwenden?
Die Antwort hängt von den Systemen ab, die Sie überwachen wollen. So lässt sich beispielsweise die meiste Hardware nur über SNMP überwachen. Auf der anderen Seite verfügen manche Systeme nicht über einen vorinstallierten Monitoring-Agenten, unter Linux müssen Sie beispielsweise einen SNMP-Agenten installieren und konfigurieren. Daher sind Sie bei der Wahl des Monitoring-Ansatzes schnell eingeschränkt und die Entscheidung für die eine oder die andere Möglichkeit erübrigt sich. Eine gute Monitoring-Lösung muss jedoch sowohl ein agentenbasiertes als auch ein agentenloses Monitoring umfassen.
Daher sind wir der Meinung, dass es verschiedene Aspekte gibt, die relevanter sind:
- Nutzt das Monitoring-System – falls es diese bereits gibt – vorinstallierte Agenten/APIs, um zuverlässig und sicher genügend Informationen zu liefern?
- Verfügt das Monitoring-System über eigene Agenten, die leichtgewichtig und sicher sind und sich für alle anderen Fälle, wo dies nicht so ist, leicht warten lassen?
- Verfügt das Monitoring-System über eine breite Abdeckung der Objekte und Services, die Sie überwachen wollen – ohne dabei Ihr Budget zu überschreiten?
Wie Sie sehen, erübrigt sich die Frage nach dem richtigen Monitoring-Ansatz auf einer so allgemeinen Ebene. Daher werden wir uns in den nächsten Artikeln intensiver mit diesen Themen auseinandersetzen:
- Der Unterschied zwischen einem großartigen Monitoring-Agenten und einem, den Sie besser nicht nutzen sollten.
- Ist es sinnvoller, Windows mit WMI oder einem dedizierten Agenten zu überwachen? Oder warum wir glauben, dass WMI sich nicht für ein richtiges Monitoring eignet …
- Sollen Sie Linux mit SNMP oder einem dedizierten Agenten überwachen?