EN | DE

Systemanforderungen

Die Systemanforderungen von Bloonix sind von verschiedenen Faktoren abhängig:

  • Wieviele Services aller Hosts werden insgesamt überwacht.
  • Wie lange werden die Statistiken und Events aufbewahrt.
  • Wieviele User haben Zugang zur WebGUI.
  • Wieviele gleichzeitige User sind in der WebGUI eingeloggt.

All diese Faktoren und noch einige mehr tragen dazu bei, dass die Anforderungen an die Hardware steigen. Sollte ein Server alleine für die Auslastung nicht mehr ausreichen, so ist es möglich, die Komponenten auf mehrere Server hinter einem Loadbalancer zu verteilen.

Natürlich ist die Empfehlung, mit den Hardwarekomponenten nicht sparsam zu sein. Beispielsweise wird der Preisunterschied von SSDs zu 15krpm SAS Platten immer geringer. Statt 4 × 15krpm Platten in einem RAID 10 einzusetzen, könnte man auch 2 SSD Platten in einem RAID 1 einsetzen. Es ist aber auch möglich, Bloonix auf einer kleinen virutellen Maschine zu betreiben, wenn Sie nur ein paar wenige Hosts und Services überwachen möchten.

Anzahl der überwachten Services

Der wichtigste Faktor zur Berechnung der Hardwareanforderungen ist die Anzahl der zu überwachenden Hosts und Services, denn mit jedem Host und Service finden pro Überwachungsintervall mehrfache Lese- und Schreibaktionen auf der PostgreSQL-Datenbank und Elasticsearch statt.

Abfragen zur Datenbank

  • Pro Host und pro Überwachungsintervall finden auf der Datenbank ca.
    • 15 Lesevorgänge (Select)
    • und 4 Schreibvorgänge (Insert/Update) statt
  • Pro Service und pro Überwachungsintervall finden auf der Datenbank ca.
    • 5 Lesevorgänge (Select)
    • und 2 Schreibvorgänge (Insert/Update) statt

Beispielrechnung: 1.000 Hosts mit je 10 Services

1.000 Hosts * 15 Leseaktionen / 60 Sekunden Intervall
    = ca. 250 Leseaktionen pro Sekunde
1.000 Hosts * 4 Schreibaktionen / 60 Sekunden Intervall
    = ca. 67 Schreibaktionen pro Sekunde
10.000 Services * 5 Leseaktionen / 60 Sekunden Intervall
    = ca. 833 Leseaktionen pro Sekunde
10.000 Services * 2 Schreibaktionen / 60 Sekunden Intervall
    = ca. 333 Inserts/Updates pro Sekunde

Bei 1.000 Hosts mit je 10 Services sind das in Summe:

1083 Leseaktionen pro Sekunde
400 Schreibaktionen pro Sekunde

Abfragen zu Elasticsearch

Zu den Abfragen zur Datenbank kommen die Abfragen zu Elasticsearch. Die Rechnung ist hier deutlich einfacher.

  • Pro Service und pro Überwachungsintervall finden zu Elasticsearch ca.
    • 1 Lesevorgang (HTTP GET)
    • und 1 Schreibvorgang (HTTP POST) statt

Zu beachten ist hier, dass ein zusätzlicher Schreibvorgang für jeden Service stattfindet, dessen Status sich geändert hat, zum Beispiel wenn der Status eines Service von OK zu CRITICAL wechselt.

Festplattenkapazität

Selbst bei mehreren tausend Hosts und Services bleibt die benötigte Festplattenkapazität für die Datenbank eher gering. Rechnen Sie mit ca. 500 MB Festplattenkapazität für beispielsweise 100 Hosts mit je 10 Services.

Aufbewahrungszeit von Statistiken und Events

Statistiken und Events werden in Elasticsearch gespeichert. Je nach Aufbewahrungszeit der Statistiken und Events steigt natürlich der Bedarf an Festplattenkapazität. Dabei ist die Rechnung der Festplattenkapazität recht einfach. Rechnen Sie pro Service, den Sie überwachen möchten, pauschal 200 MB Plattenkapazität für ein Jahr. Möchten Sie also 10.000 Services überwachen und die Daten der Services für 1 Jahr aufbewahren, so sollten Sie etwa 2 TB Plattenkapazität pro Jahr einplanen.

Besonders wichtig beim Einsatz von Elasticsearch ist der zur Verfügung stehende Hauptspeicher und die Schnelligkeit der Festplatten. Auch hier möchte ich dies gerne anhand einer Beispielrechnung aufzeigen. Die Grundrechnung pro Services und einem Überwachungsintervall von 60 Sekunden ist wie folgt:

1 Service * 1440 Minuten (1 Tag) * 30 Tage (1 Monat)
    = ca. 43.200 Elasticsearch Dokumente pro Monat

Angenommen, Sie möchten 1.000 Hosts mit je 10 Services überwachen:

1.000 Hosts * 10 Services * 1440 Minuten (1 Tag) * 30 Tage (1 Monat)
    = 432.000.000 Dokumente pro Monat

Nun stellen Sie sich vor, Sie möchten sich über die WebGUI die Statistiken von 100 Services aus den letzten 7 Tagen anschauen. Die Anzahl an Dokumenten, die von Elasticsearch abgefragt würden, sind ca.

100 Services * 1440 Minuten (1 Tag) * 7 Tage
    = 1.008.000 Dokumente

Es würden ca. 1 Million Dokumente abgefragt, komprimiert und zum Browser gesendet, um im Browser visuell dargestellt werden zu können. Damit das Auslesen der Statistiken aus Elasticsearch sehr schnell abläuft, sollten die Festplatten schnell sein und auch genügend Hauptspeicher zur Verfügung stehen, damit Elasticsearch die Datenmengen zügig verarbeiten kann.

Benutzer in der WebGUI

Je nach Anzahl der Benutzer, die gleichzeitig in der WebGUI eingeloggt sind und Daten abrufen, steigen natürlich die Anzahl der Abfragen zur Datenbank und zu Elasticsearch. Genaue Angaben sind leider nicht möglich, da es natürlich auch auf das Benutzerverhalten ankommt, welche Daten gerade über die WebGUI abgerufen werden.

Die WebGUI selbst ist sehr schnell und kann auf einer Single-Core Maschine mit einem 2GHz Prozssor mehrere tausend HTTP-Abfragen pro Sekunde verarbeiten. Der Bottleneck kann also entweder nur die Datenabank oder Elasticsearch sein und auch der zur Verfügung stehende Hauptspeicher.

Empfehlung

Beispielsetup:

  • Überwachung von 100 Hosts mit je 10 Services (= 1.000 Services)
  • Aufbewahrungszeit der Daten für 1 Jahr
  • 4 gleichzeitig eingeloggte Benutzer in der WebGUI

Minimale Anforderungen:

4 CPUs mit min. 2GHz
8 GB Hauptspeicher
2 x 10krpm/15krpm je 600 GB Platten im RAID 1

Empfohlene Anforderungen:

8 CPUs mit min. 2GHz
16 GB Hauptspeicher
2 x 15krpm/SSDs je 600 GB Platten im RAID 1

Aufteilung des Hauptspeichers

10% PostgreSQL
50% Elasticsearch
40% System für Prozesse und Filesystemcache

Bitte beachten Sie, dass der Einsatz von Bloonix auf virtuellen Servern nur für sehr kleine Umgebungen sinnvoll ist. Wenn Sie zum Beispiel nur 10 Hosts mit je 10 Services überwachen möchten, so reicht auch eine kleine virtuelle Maschine mit 2GB RAM.

Alle Angaben ohne Gewähr

Alle Berechnungen und Angaben sind ohne Gewähr und können variieren.

Über Bloonix - Über Bloonix | Über Bloonix - Lizenzen | Über Bloonix - Wie funktioniert Bloonix | Über Bloonix - Feature Liste | Über Bloonix - Plugins | Über Bloonix - Systemanforderungen | Sicherheit - Allgemein | Sicherheit - Agent und Satellit | Installation - Wichtige Information vorab | Installation - Repositories | Installation - Elasticsearch | Installation - PostgreSQL | Installation - MySQL/MariaDB | Installation - Nginx | Installation - Bloonix-WebGUI | Installation - Bloonix-Server | Installation - Bloonix-Plugins | Installation - Bloonix-Agent | Installation - Bloonix-WTRM | Installation - Manuelle Installation | Installation - Quick Guide für CentOS 7 und PostgreSQL | Installation - Quick Guide für CentOS 7 und MariaDB | Installation - Quick Guide für Debian 8 und MariaDB | Konfiguration - Allgemeines | Konfiguration - Bloonix-WebGUI | Konfiguration - Bloonix-Server | Konfiguration - Bloonix-Service-Checker | Konfiguration - Bloonix-Agent | Konfiguration - Skripte und Cronjobs | HowTos - Plugins entwickeln | HowTos - Coding mit Stil | HowTos - Dokumentation auf Bloonix.org | HowTos - Verteilte Überwachung mit dem Bloonix-Satelliten | HowTos - Automatische Registrierung von Hosts | FAQ - Wie überwacht Bloonix Hosts und Services | WebGUI - Die Bloonix-WebGUI | WebGUI - Commpanies und wie diese funktionieren | WebGUI - Einen neuen Host anlegen | WebGUI - Host Parameter im Detail | WebGUI - Host Variablen | WebGUI - Host Templates | WebGUI - Klassen von Hosts | WebGUI - Einen neuen Service anlegen | WebGUI - Service Parameter im Detail | WebGUI - Host-Alive-Checks | WebGUI - Web-Transactions | WebGUI - Abhängigkeiten | WebGUI - Geplante Wartungsarbeiten | WebGUI - Kontakte und Benachrichtigungen | WebGUI - Benutzer- und Gruppenverwaltung | WebGUI - Eigene Charts erstellen | WebGUI - Notification Screen | WebGUI - Die Bloonix JSON API | WebGUI - Den Bloonix-Agenten installieren | WebGUI - Den Bloonix-Agenten konfigurieren