Hier sehen Sie eine grobe Übersicht der Komponenten zur Überwachung von Hosts und Services.
Über das Webinterface von Bloonix werden Hosts und Services sowie Kontakte und Gruppen verwaltet.
Der Bloonix-Server ist der Kern des Monitoring Frameworks und die Schnittstelle für die Bloonix-Agenten. Der Bloonix-Server übersendet auf Anfrage eines Bloonix-Agenten die Konfiguration der zu überwachenden Services und nimmt den Status und auch statistische Daten von den Bloonix-Agenten entgegen, um diese zu validieren, in der Datenbank abzuspeichern und zu prüfen, ob ein Ereignis ausgelöst werden muss, wie zum Beispiel eine E-Mail an einen Administrator zu senden, um ihn darüber zu informieren, dass ein Service überlastet oder nicht mehr verfügbar ist.
Zusammen mit dem Bloonix-Server wird der Bloonix-Service-Checker installiert, welcher Teil des Bloonix-Servers und dafür zuständig ist, die Aktualität des Status von Hosts und Services zu überwachen. Wenn zum Beispiel die CPU-Auslastung eines Servers seit mehreren Minuten nicht mehr geprüft wurde, dann kann das daran liegen, dass ein Bloonix-Agent ausgefallen ist. In diesem Fall würde der Service-Checker als Pseudo-Agent einspringen und einen kritischen Status für den Service liefern.
Der Bloonix-Agent ist der Teil des Frameworks, der dafür zuständig ist, die Services zu überwachen und den Status der Services sowie dazugehörige Statistiken an den Bloonix-Server zu senden. Der Bloonix-Agent wird auf dem zu überwachenden System installiert und läuft dort als Daemon, der dauerhaft das System überwacht. Der Bloonix-Agent kann auch auf einem zentralen Server installiert werden, um von dort aus Webservices und Netzwerkkomponenten zu überwachen, wie Router, Switches und Loadbalancer.
Zusammen mit dem Bloonix-Agenten werden Bloonix-Plugins installiert, welche kleinere Programme sind, die den Status eines oder mehrerer Services prüfen und zugleich statistische Daten zum Service liefern. Ein Plugin kann in jeder beliebigen Programmiersprache geschrieben sein, zu beachten ist nur, dass der Datenaustausch (Programmoptionen und Ausgabe statistischer Daten) im JSON-Format erfolgt. Die Plugins werden zusammen mit dem Bloonix-Agenten installiert.
Mit dem Bloonix-Satellit ist es möglich, externe Dienste von multiplen Standorten zu überwachen. Der Bloonix-Satellit kann auf beliebigen Systemen installiert werden. Der Bloonix-Agent verbindet sich zum Bloonix-Satellit und übermittelt die Service-Checks, welche ausgeführt werden müssen.
Die Bloonix-WebGUI ist das Benutzerinterface und läuft clientseitig als JavaScript Applikation im Browser. Serverseitig läuft die WebGUI als REST-API hinter einem Reverse-Proxy (Nginx), wodurch die Möglichkeit besteht, die WebGUI automatisiert abzufragen. Das Datenformat der REST-API ist JSON.
Für die WebGUI wird ein moderner und HTML5-fähiger Browser benötigt. Wir empfehlen den Einsatz von Chrome, Safari, Firefox oder auch Opera. Der Internet Explorer in Version 11 sollte ebenfalls funktionieren, dieser Browser wird jedoch in keiner Version unterstützt.
Die Datenbank wird zur Speicherung der Konfiguration und der Daten von Hosts, Services, Benutzer und Gruppen eingesetzt. Andere Datenbanksysteme werden aktuell nicht unterstützt.
Elasticsearch wird verwendet, um Metriken und Events zu speichern. Bei der Überwachung von mehreren tausend Hosts können hohe Datenmengen aufkommen. Die Wahl fiel auf Elasticsearch, da Elasticsearch hoch skalierbar ist, eine einfache Clusterfunktionalität bietet und die Daten automatisch horizontal partitioniert.
Zur Webseite von Elasticsearch
Der Webserver Nginx wird als Reverse-Proxy eingesetzt, da die Bloonix-WebGUI als externe FastCGI-Applikation läuft. Die Requests werden per ProxyPass an die WebGUI weitergeleitet.
Im Webinterface werden alle Hosts und Service-Checks eingerichtet, die Sie überwachen möchten. Ein Host kann im Kontext von Bloonix ein Server, ein virtueller Server, ein Router, ein Switch oder auch ein Drucker sein. Jeder Host besitzt einen Hostnamen und eine IP-Adresse. Wenn ein Host im Webinterface eingerichtet wird, erhält dieser eine eindeutige ID und ein dazugehöriges Passwort. Das Passwort ist nicht mit dem Root-Passwort des Servers zu verwechseln, sondern ist ein spezielles Passwort, welches später für den Bloonix-Agenten benötigt wird, damit dieser sich beim Bloonix-Server authentifizieren kann. Darüber hinaus werden Service-Checks eingerichtet, zum Beispiel zur Überwachung der CPU-Auslastung, des Speicherverbrauchs oder der Auslastung der Netzwerkinterfaces.
Zur Ausführung der Service-Checks wird der Bloonix-Agent benötigt. Ist ein Host im Webinterface eingerichtet, so muss als nächstes der Bloonix-Agent installiert werden. Der Bloonix-Agent kann auf multiplen Systemen zum Einsatz kommen, um die Service-Checks für einen Host auszuführen. Wenn Sie die System-Vitals eines Hosts überwachen möchten, wie zum Beispiel die CPU-Auslastung, den Speicherverbrauch oder die Festplattenkapazität, dann wird der Bloonix-Agent auf dem zu überwachenden Server installiert. Wenn Sie die Serverdienste überwachen möchten, wie zum Beispiel einen Mailserver, Webserver oder auch DNS-Server, so kann der Bloonix-Agent auf einem externen System installiert werden, um von dort aus die Serverdienste via HTTP-, SMTP-, IMAP-, oder auch DNS-Check zu überwachen.
Damit der Bloonix-Agent nun weiß, welche Services dieser überwachen soll, wird die Host-ID und das Passwort des Hosts, welche im Webinterface zu finden sind, in der Konfigurationsdatei des Bloonix-Agenten eingetragen. Auf diese Weise kann der Bloonix-Agent die für den Host konfigurierten Service-Checks beim Bloonix-Server abfragen.
Was der Bloonix-Agent nun macht ist folgendes:
Der Bloonix-Agent kann auf einem zentralen Server in Ihrer lokalen Infrastruktur installiert werden, um von dort aus alle Netzwerksysteme via SNMP zu überwachen, wie zum Beispiel Router, Switches oder Drucker. Der Bloonix-Agent kann aber auch auf einem externen Server installiert werden, um von dort aus die Internetservices zu überwachen.
Im Webinterface von Bloonix kann für Service-Checks, die über eine externe Schnittstelle überwacht werden können, wie zum Beispiel über HTTP, SMTP, IMAP, Ping usw., einer oder mehrere Standorte zur Ausführung angegeben werden. In diesem Fall würde der Bloonix-Agent die Service-Checks nicht selber ausführen, sondern die Ausführung an die im Webinterface eingerichteten Bloonix-Satelliten weiterreichen.
Wenn Sie eine detaillierte Beschreibung lesen möchten, wie die Services von Hosts überwacht werden, so finden Sie diese hier: