Anforderungen

Hier erfahren Sie, welche Anforderungen bestehen, um Enginsight auf den eigenen Servern als On-Premises zu betreiben.

Bitte beachten Sie, dass wir unsere Services mithilfe von Docker orchestrieren. Aus diesem Grund ist es wichtig, dass auf den Servern ausschließlich die Enginsight Docker-Instanzen laufen. Veränderungen an der Setupkonfiguration in der docker-compose.yml Datei können zu unvorhersehbaren Nebeneffekten führen.

Wir empfehlen dringend, die von uns ausgewiesenen Linux-Image-Versionen zu verwenden, da spezielle Custom Builds leider nicht von uns unterstützt werden können!

Weiterhin werden ausschließlich Debian-basierte Systeme supportet. Jegliche Abweichungen von unserer Dokumentation, wie das eigenmächtige Ändern der Konfiguration, das Verändern des Setups oder das Hinzufügen weiterer Dienste auf dem Server, können von uns nicht unterstützt werden.

  1. Virtuelle Maschinen (VM)

  2. Freigaben für die Firewall

  3. Lizenzfile für Enginsight

  4. Remote Unterstützung (bei Installation durch Enginsight Support)

Ressourcen

Applikationsserver

Der Applikationsserver dient zum Betrieb der zentralen API, des User Interfaces (UI) sowie weiterer Services der Plattform.

Überwachung von bis zu 500 Servern und Clients mit Pulsar-Agent

Betriebssystem

Debian 12, 64bit

CPU

4 Cores

RAM

8 GB (nicht dynamisch)

Massenspeicher

200 GB (SSD empfohlen)

Best Practice: Eine gemeinsame Partition für das gesamte Systeme anlegen

Konnektivität

Eingehend: Port 80 (Redirect zu 443 + Let’s Encrypt ) und Port 443

Ausgehend: Port 27017 zum Datenbankserver und Port 80 & 443 zu den Servern die in den Firewall Regeln aufgeführt sind

Zusätzlich empfehlen wir die Einrichtung von mindestes 4 GB Swap-Speicher, um potenzielle Out-of-Memory (OOM)-Probleme abzufedern. Besonders während der Generierung der Benutzeroberfläche (UI) durch Ember kann der RAM-Verbrauch stark ansteigen, was in Kombination mit der Verarbeitung eingehender Daten zu einem erhöhten Ressourcenbedarf führen kann. Ohne ausreichenden Swap-Speicher besteht die Gefahr von Neustart-Schleifen bei Ressourcenengpässen.

Überwachung von mehr als 500 Servern und Clients mit Pulsar-Agent

Sollten Sie mit Ihrer On-Premises-Instanz mehr als 300 Server und Clients mit dem Pulsar-Agent überwachen, sollten Sie die Möglichkeiten eines Load Balancing auf mehreren Applikationsservern in Betracht ziehen. Bei mehr als 500 installierten Pulsar-Agents ist eine Lastenverteilung über mehrere Applikationsserver notwendig.

Maximale Anzahl an Pulsar-Agents
Anzahl an Applikationsservern

500

1 virtuelle Maschine

1000

3 virtuelle Maschinen

2500

8 virtuelle Maschinen

5000

16 virtuelle Maschinen

10000

32 virtuelle Maschinen

Bitte stellen Sie sicher, dass ein Zugriff über SSH möglich ist oder die VMware Tools installiert sind.

Datenbankserver

Der Datenbank Server speichert sämtliche Monitoring Daten und kommuniziert ausschließlich mit dem Applikationsserver.

Betriebssystem

Debian 11, Debian 12 64bit

Software

MongoDB in aktueller Version

CPU

4 Cores

RAM

4 GB

Massenspeicher

100 GB (SSD empfohlen)

Best Practice: Eine gemeinsame Partition für das gesamte Systeme anlegen

Konnektivität

Eingehend: Port 27017 für Applikationsserver

Ausgehend: Port 80 & 443 zu den Servern die in den Firewall Regeln aufgeführt sind

Bitte stellen Sie sicher, dass ein Zugriff über SSH möglich ist oder die VMware Tools installiert sind.

Benchmarktests für Server

Führen Sie die folgenden Tests durch, um die Leistung Ihrer Server zu bewerten: Diese Messungen ermöglichen eine präzise Einschätzung der Festplattenleistung und der CPU-Effizienz, um sicherzustellen, dass Ihre IT-Infrastruktur optimal funktioniert und den Anforderungen Ihrer Anwendungen gerecht wird.

Festplattenleistung messen:

Um die Festplattenleistung zu überprüfen, führen Sie das folgende Skript aus:

apt install fio 

fio --name=random-readwrite --ioengine=libaio --iodepth=1 --rw=randrw --bs=4k --direct=1 --size=1G --numjobs=1 --runtime=60 --filename=/tmp/testfile

Erwartete Leistung: Mindestens 10 MB/s bei Lese- und Schreibvorgängen.

CPU Messung

Um die CPU-Leistung zu überprüfen, führen Sie das folgende Skript aus:

apt install sysbench

sysbench --test=cpu --cpu-max-prime=20000 run

Erwartete Leistung: Ergebnis von 1500.

Hacktor/Watchdog/Observer

Für die Softwarekomponenten Hacktor, Watchdog und Observer benötigen Sie weitere VMs. Die Softwarekomponenten können gemeinschaftlich auf einem System betrieben werden, es wird jedoch ein getrennter Betrieb empfohlen. Bei einem gemeinschaftlichen Betrieb sind die Ressourcen zu verdoppeln.

Es handelt sich um Minimalanforderungen. Statten Sie die Instanzen mit mehr Leistung aus, damit die Softwarekomponenten mehr Leistungsreserven haben.

Ein Observer mit den angegebenen Ressourcen kann das Monitoring von bis zu 50 Endpunkten übernehmen. Beachten Sie für Endpunkte die Option, die parallele Bearbeitung von Endpunkten zu definieren. Die Standardeinstellung ist "2". Abhängig von den Leistungsreserven können Sie die Einstellung nach unten oder oben korrigieren. Sie haben außerdem die Möglichkeit, mehrere Observer der gleichen Region zuzuordnen, sodass sich die Observer die Überwachung der Endpunkte untereinander aufteilen.

Beachten Sie auch die Optionen für die Konfiguration der Softwarekomponente Hacktor, insbesondere die Möglichkeit die Anzahl paralleler Scans zu erhöhen.

Betriebssystem

Linux: Debian 9/10/11, CentOS 7/8, kein Windows

AMD64 und ARMv7/ARMv8

CPU

2 Cores / 4 Cores (bei gemeinschaftlichen Betrieb der Services)

RAM

2 GB / 4 GB (bei gemeinschaftlichen Betrieb der Services)

Massenspeicher

20 GB / 50 GB (bei gemeinschaftlichen Betrieb der Services)

Konnektivität

Ausgehend: Port 80 bzw. 443

Anzahl maximaler Prozesse (numproc)

Minimal: 20.000

Best Practice: unbegrenzt

Bitte stellen Sie sicher, dass ein Zugriff über SSH möglich ist oder die VMware Tools installiert sind.

Firewall Regeln

OnPrem

App Server

Richtung

Ziel

Ziel-Port

Protokoll

Zweck

Ausgehend

Update Server

443

TCP

Updates für Betriebssystem und Plattform

Ausgehend

DB

6379

TCP

Falls Redis auf der DB installiert ist (bsp.: Loadbalancer)

Eingehend

App Server

443

TCP

Eingehend

App Server

80

TCP

Falls LetsEncrypt verwendet wird

Eingehend

App Server

8080

TCP

Bei unverschlüsselter Instanz (ausdrücklich nicht empfohlen!)

Datenbank Server

Richtung

Ziel / Quelle

Ziel-Port

Protokoll

Zweck

Ausgehend

Update Server

80/443

TCP

Updates für Betriebssystem und Plattform

Eingehend

App Server

27017

Eingehend

SIEM Management Server

27017

Eingehend

App Server

6379

TCP

Falls Redis auf der DB installiert ist (bsp.: Loadbalancer)

Component Server

Richtung

Ziel / Quelle

Ziel-Port

Protokoll

Zweck

Ausgehend

Update Server

80/443

Updates für Betriebssystem und Plattform

Agents und Sensoren

Komponente

Richtung

Ziel

Ziel-Port

Protokoll

Pulsar Agent

Ausgehend

App Server

443

TCP

Enginsight Agent (Client/Server Agent)

Ausgehend

App Server

443

TCP

Watchdog

Ausgehend

App Server

443

TCP

Hacktor

Ausgehend

App Server

443

TCP

Observer

Ausgehend

App Server

443

TCP

Wo

Regel

Kundennetzwerk

Sensor → Enginsight App Server: 443/TCP

Kundennetzwerk

Sensor → DNS: 53/UDP

Enginsight App Server

Keine eingehenden Regeln pro Sensor nötig

Weiterhin müssen folgende Domains von den Servern erreichbar sein:

Alle Server:

  • Debian-Spiegelserver, der bei der Installation ausgewählt ist (Standard: deb.debian.org)

APP Server:

  • registry.enginsight.com

  • get.enginsight.com

  • registry-auth.enginsight.com

  • github.com

  • download.docker.com

  • raw.githubusercontent.com

  • dls.enginsight.com

  • registry-1.docker.io

Datenbank:

  • repo.mongodb.org

  • www.mongodb.org

SIEM

Das SIEM setzt sich aus folgenden Komponenten zusammen:

  • Pulsar

  • Loggernaut

  • Apache Zookeeper

  • Apache Solr

  • (Traicer)

Loggernaut

Richtung

Ziel/Quelle

Ziel-Port

Protokoll

Ausgehend

server-m2

443 oder 80 ohne https

TCP

Ausgehend

solr

8983

TCP

Ausgehend

zookeeper

2181

TCP

Ausgehend

sftp backup server

SSH-Port (konfiguriert)

TCP

Ausgehend

s3 backup server

443 / 80

TCP

Eingehend

server-m2

443 oder 80 ohne https

TCP

Eingehend

traicer

443 oder 80 ohne https

TCP

Solr

Richtung

Ziel/Quelle

Ziel-Port

Protokoll

Ausgehend

solr

8983

TCP

Ausgehend

zookeeper

2181

TCP

Eingehend

loggernaut

8983

TCP

Eingehend

solr

8983

TCP

Zookeeper

Richtung

Quelle

Ziel-Port

Protokoll

Eingehend

loggernaut

2181

TCP

Eingehend

solr

2181

TCP

Server-m2

Richtung

Ziel/Quell

Ziel-Port

Protokoll

Ausgehend

loggernaut

443 oder 80 ohne https

TCP

Eingehend

loggernaut

443 oder 80 ohne https

TCP

Traicer

Richtung

Ziel

Ziel-Port

Protokoll

Ausgehend

loggernaut

443 oder 80 ohne https

TCP

SFTP Backup Server

Richtung

Quelle

Ziel

Ziel-Port

Protokoll

Eingehend

loggernaut

SSH-Port (konfiguriert)

SSH Port (Definiert in Config)

TCP

S3 Backup Server

Richtung

Quelle

Ziel-Port

Protokoll

Zweck

Eingehend

loggernaut

443 / 80

TCP

Empfang der Backups

Zertifikat

Damit der Netzwerkverkehr zwischen den Sensoren (Pulsar-Agent, Observer, Watchdog, Hacktor) und der Enginsight API verschlüsselt ist, brauchen Sie ein SSL/TLS-Zertifikat. Als Best Practice empfehlen wir ein öffentliches Zertifikat (z.B. von Let's encrypt), welches Sie intern auflösen.

Nutzen Sie einen Reverse Proxy (extern oder auf dem Server selbst), der die Requests an Port 80 (App) und Port 8080 (API) weiterleitet.

Für den Betrieb der Standard-Installation empfehlen wir zwei DNS Names:

  • ngs-api.ihre-domain.de

  • ngs-app.ihre-domain.de

Achten Sie beim Zertifikat bitte darauf, dass es im PEM Format vorliegt.

Docker Credentials

Um Enginsight On-Premises zu betreiben, benötigen Sie Docker Credentials, die Sie von uns erhalten. Kontaktieren Sie uns einfach per E-Mail: [email protected].

Lizenzfile

Das nötige Lizenzfile können Sie direkt bei uns erwerben. Kontaktieren Sie uns einfach per E-Mail: [email protected].

Remote Unterstützung

Sollten Sie Enginsight On-Premises mit Unterstützung durch unseren Support installieren wollen, stellen Sie bitte sicher, dass eine Möglichkeit zur Remote Steuerung vorhanden ist. Unserer Erfahrung nach funktioniert TeamViewer am zuverlässigsten.

Last updated

Was this helpful?