For the complete documentation index, see llms.txt. This page is also available as Markdown.

Setup mit Lastverteilung

Für den produktiven Einsatz von Enginsight empfehlen wir ab ca. 300 Hosts mit installiertem Pulsar eine Lastverteilung.

Ab ca. 500 Hosts mit installiertem Pulsar ist eine Lastverteilung zwingend notwendig.

Dazu ist es nötig, mehrere virtuelle Maschinen aufzusetzen und zu konfigurieren und/oder, wenn du bereits einen Datenbankserver und einen Applikationsserver betreibst, deren Konfiguration entsprechend anzupassen:


Schematischer Aufbau eines Setups mit Lastverteilung

Der schematische Aufbau eines Setups mit Lastverteilung inklusive der verwendeten Protokolle und Ports sieht wie folgt aus:

Auf dem Datenbankserver läuft wie gewohnt MongoDB als Datenbank für Enginsight. Zusätzlich wird Redis (REmote DIctionary Server) installiert, um einen schnelleren Datenzugriff zu ermöglichen. MongoDB verwendet dabei Port 27017 und Redis Port 6379 für Anfragen der Enginsight Applikationsserver und des Servers für die Enginsight Services.

Auf der mittleren Ebene befinden sich die Applikationsserver sowie der Server für die Enginsight Services. Während in einem Setup ohne Lastverteilung alle Enginsight Docker-Container auf einem Applikationsserver laufen, werden diese in einem Setup mit Lastverteilung aufgeteilt.

Dabei laufen auf den Applikationsservern nur noch jeweils die Docker-Container für die Enginsight Benutzeroberfläche (Container-Name: ui-m1) und für die Enginsight API (Container-Name: server-m2). Der Container ui-m1 verwendet dabei den Port 80, der Container server-m2 den Port 8080 für die Kommunikation mit dem Load Balancer.

Auf dem Server für die Enginsight Services laufen nur noch folgende Docker-Container:

Service
Name des Docker-Containers
Beschreibung

Sentinel

sentinel-m3

Verwaltet Alarme und zugeordnete Benachrichtigungen.

Reporter

reporter-m4

Versorgt die Enginsight Plattform mit aktuellen Vulnerabilitäts-Daten (CVEs) und verteilt diese an die einzelnen Plattform-Komponenten.

Profiler

profiler-m22

Sorgt für die Berechnung des Normalverlaufs der Machine-Learning-Metriken.

Anomalies

anomalies-m28

Gleicht den Normalverlauf der Machine-Learning-Metriken mit den gemessenen Daten ab, um Anomalien zu erkennen.

Scheduler

scheduler-m29

Löst geplante, automatisierte Aktionen aus, zum Beispiel Plugins oder Audits.

Updater

updater-m34

Verwaltet und aktualisiert die Konfigurationschecklisten für Hosts.

Generator

generator-m35

Erzeugt PDF-Berichte, z.B. für Hosts, Endpunkte und Penetrationstests.

Historian

historian-m38

Fasst gemessene Daten zusammen, um sie im zeitlichen Verlauf darzustellen.

Themis

themis-m43

Fungiert als Integritäts-Manager und überprüft Daten auf Korrektheit sowie Aktualität.

Der Load Balancer ist dafür zuständig, externe Anfragen von Hosts entgegenzunehmen und diese an den passenden Server weiterzuleiten. Auf dem Load Balancer ist nginx installiert, das dafür sorgt, dass Verbindungen nach extern mittels SSL/TLS-Zertifikaten über HTTPS verschlüsselt werden.


Zuletzt aktualisiert

War das hilfreich?