Graylog 6 Installation Debian
Diese Anleitung beschreibt Schritt für Schritt die Installation und Grundkonfiguration von Graylog 6.x auf einem Debian-12-System – inklusive aller erforderlichen Komponenten wie MongoDB, OpenSearch (Data Node) und Graylog Server (Graylog 6 Installation Debian).
1. Vorbereitungen
Bevor wir mit der eigentlichen Installation von Graylog beginnen, müssen einige grundlegende Pakete installiert werden. Diese Tools stellen sicher, dass das System für den Download von Software, das Verwalten von Zertifikaten und das Erzeugen sicherer Passwörter vorbereitet ist.
1.1. Notwendige Pakete installieren
Mit apt-get update werden die Paketquellen aktualisiert, und anschließend werden mit apt-get install alle notwendigen Hilfsprogramme installiert.
sudo apt-get update
sudo apt-get install -y curl sudo gpg lsb-release ca-certificates gnupg2 pwgen
1.2. Zeitzone setzen
Eine korrekte Zeiteinstellung ist besonders wichtig für Log-Daten und Zeitstempel in Graylog. Standardmäßig sollte die Zeitzone auf Europe/Berlin gesetzt werden, um die lokale Zeit korrekt abzubilden.
Alternativ kann für international ausgerichtete Server oder Cloud-Umgebungen auch UTC gewählt werden, um eine einheitliche Zeitbasis unabhängig vom Standort zu gewährleisten. Die Zeitzone sollte für Deutschland auf Europe/Berlin gesetzt werden:
sudo timedatectl set-timezone Europe/Berlin
Alternativ kann auch UTC verwendet werden, z.B. für Server ohne lokale Zeitbindung:
sudo timedatectl set-timezone UTC
Aktuelle Zeitzone prüfen:
timedatectl
2. MongoDB installieren
2.1. MongoDB GPG-Schlüssel importieren
Um die Echtheit der MongoDB-Pakete zu gewährleisten, wird zunächst der offizielle GPG-Schlüssel importiert. Dieser sorgt dafür, dass Debian den Paketen aus dem MongoDB-Repository vertraut.
curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | sudo gpg --dearmor -o /usr/share/keyrings/mongodb-server-7.0.gpg
2.2. MongoDB-Repository hinzufügen
Anschließend wird das offizielle MongoDB-Repository für Debian 12 (Bookworm) in die Paketquellen eingebunden. Damit stellt man sicher, dass immer die aktuelle Version von MongoDB installiert werden kann.
echo "deb [signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg] https://repo.mongodb.org/apt/debian bookworm/mongodb-org/7.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list
2.3. MongoDB installieren
Nachdem die Paketquellen aktualisiert wurden, wird MongoDB selbst installiert. Diese Datenbank speichert Konfigurations- und Metadaten, die Graylog benötigt.
sudo apt-get update
sudo apt-get install -y mongodb-org
2.4. MongoDB starten
Zum Abschluss wird der MongoDB-Dienst aktiviert und gestartet, sodass er automatisch beim Systemstart geladen wird und sofort einsatzbereit ist.
sudo systemctl daemon-reload
sudo systemctl enable mongod.service
sudo systemctl start mongod.service
3. Graylog Data Node installieren
3.1. Repository herunterladen und installieren
Graylog stellt ein eigenes Debian-Repository zur Verfügung. Dieses wird zunächst heruntergeladen und installiert, damit anschließend alle relevanten Pakete verfügbar sind.
wget https://packages.graylog2.org/repo/packages/graylog-6.1-repository_latest.deb
sudo dpkg -i graylog-6.1-repository_latest.deb
sudo apt-get update
3.2. Data Node installieren
Der Graylog Data Node stellt die Verbindung zu OpenSearch her und verwaltet die Speicherung und Suche von Logs. Mit diesem Befehl wird der Data Node installiert.
sudo apt-get install graylog-datanode
3.3. Map Count anpassen
OpenSearch benötigt eine höhere Speicherzuordnung in Bezug auf Speicherkarten. Der Systemparameter vm.max_map_count wird entsprechend angepasst, damit OpenSearch stabil arbeiten kann.
echo 'vm.max_map_count=262144' | sudo tee /etc/sysctl.d/99-graylog-datanode.conf
sudo sysctl --system
cat /proc/sys/vm/max_map_count
3.4. Passwort-Secret generieren
Ein sicheres password_secret ist erforderlich, damit Graylog intern verschlüsselte Daten verarbeiten kann. Dieser zufällig generierte Wert muss gespeichert werden, da er später in der Konfiguration benötigt wird.
< /dev/urandom tr -dc A-Za-z0-9 | head -c 96 ; echo
3.5. Konfiguration anpassen
In der Konfigurationsdatei der Graylog Data Node müssen das zuvor generierte password_secret sowie der opensearch_heap-Wert eingetragen werden. Der Heap-Wert sollte etwa der Hälfte des verfügbaren RAM entsprechen.
sudo nano /etc/graylog/datanode/datanode.conf
Setze password_secret und opensearch_heap = 8g (halber Wert des verfügbaren Arbeitsspeichers).
3.6. Java RAM anpassen
Die Graylog Data Node basiert auf Java, daher sollte der Java-Heap-Speicher in der jvm.options-Datei manuell an die Systemressourcen angepasst werden – empfohlen werden hier 1–2 GB. Achten Sie darauf das genügend Arbeitsspeicher bereit steht und planen Sie mindesten 4GB Puffer ein.
sudo nano /etc/graylog/datanode/jvm.options
Setze -Xms1g und -Xmx1g
3.7. Data Node starten
Abschließend wird der Data Node-Dienst aktiviert und gestartet, damit er beim Systemstart automatisch mitläuft und sofort einsatzbereit ist.
sudo systemctl daemon-reload
sudo systemctl enable graylog-datanode.service
sudo systemctl start graylog-datanode.service
4. Graylog Server installieren
4.1. Server installieren
Mit diesem Befehl wird der eigentliche Graylog-Server installiert, der die zentrale Web-Oberfläche sowie das Management der gesamten Umgebung übernimmt.
sudo apt-get install graylog-server
4.2. Admin Passwort generieren
Graylog speichert das Administratorpasswort als SHA256-Hash. Dieser Befehl erzeugt aus dem eingegebenen Passwort den nötigen Hash – unbedingt die Ausgabe merken, da sie später in die Konfiguration eingetragen wird.
echo -n "Enter Password: " && head -1 </dev/stdin | tr -d 'n' | sha256sum | cut -d" " -f1
4.3. Konfiguration anpassen
In der Datei server.conf werden wichtige Basisparameter gesetzt: der generierte Passwort-Hash (root_password_sha2), das password_secret (identisch mit dem im Data Node), sowie die Netzwerkbindung (http_bind_address), unter der das Webinterface erreichbar sein soll.
sudo nano /etc/graylog/server/server.conf
Setze root_password_sha2, password_secret und http_bind_address = 0.0.0.0:9000.
4.4. Journal Werte anpassen
Das Nachrichtenjournal speichert eingehende Logs zwischen. Die Parameter message_journal_max_age und message_journal_max_size bestimmen, wie viele Daten und wie lange sie gepuffert werden dürfen. Diese Werte sind ebenfalls in der server.conf Datei zu setzen.
message_journal_max_age = 72h
message_journal_max_size = 9gb
4.5. JVM RAM anpassen
Graylog basiert auf Java. Um eine stabile Leistung zu gewährleisten, sollte der zugewiesene RAM in den JVM-Optionen (/etc/default/graylog-server) angepasst werden – hier z. B. auf 2 GB. Achten Sie auf die Gesamtkapazität der Arbeitsspeichers und rechnen Sie 4GB Puffer ein.
sudo nano /etc/default/graylog-server
GRAYLOG_SERVER_JAVA_OPTS="-Xms2g -Xmx2g -server -XX:+UseG1GC -XX:-OmitStackTraceInFastThrow"
4.6. Graylog Server starten
sudo systemctl daemon-reload
sudo systemctl enable graylog-server.service
sudo systemctl start graylog-server.service
5. Erster Login und Konfiguration
5.1. Admin User ermitteln
Für die erste Anmeldung kann der Benutzername (standardmäßig admin) sowie das initiale Passwort aus dem Logfile des Graylog-Servers ausgelesen werden:
cat /var/log/graylog-server/server.log | grep admin:
5.2. Webinterface aufrufen
Nach dem erfolgreichen Start des Graylog-Servers ist das Webinterface unter Port 9000 erreichbar. Rufe es im Browser mit der IP-Adresse deines Servers auf, unter Port 9000 und mit den initialen Login-Daten in der URL:
http://admin:passwort@<deine-server-ip>:9000
5.3. Zertifikate über Wizard einrichten
Beim ersten Start führt Graylog durch einen Setup-Wizard für Zertifikate.
Geben Sie im Feld der internen CA einen Namen. Diesen können Sie frei wählen.

Lege danach die Zertifikatsgültigkeit (Retention) fest. Die Standardwerte sind für die meisten Anwendungsfälle ausreichend.

Zum Abschluss kannst du das Zertifikat direkt auf die Graylog Data Nodes ausrollen – dazu einfach auf „Provision Certificate“ klicken.

5.4. Anmeldung mit Benutzer admin
Nun kannst du dich über die Weboberfläche mit dem Benutzer admin und dem zuvor unter Punkt 4.2 generierten Passwort anmelden.
Die Anmeldung erfolgt ab jetzt direkt über:
http://<deine-server-ip>:9000
6. Troubleshooting – Hilfreiche Dateien und Logs
6.1. Graylog Server Log
Pfad:
/var/log/graylog-server/server.log
Dieses Logfile enthält detaillierte Informationen zum Startverlauf, zur Benutzeranmeldung, zu Fehlern bei der Datenverarbeitung sowie zu Konfigurationsproblemen im Graylog Server.
6.2. Data Node (OpenSearch) Log
Pfad:
/var/log/graylog-datanode/datanode.log
Hier finden sich Hinweise auf Probleme mit OpenSearch, z. B. bei der Indexerstellung, Speicherverwaltung oder Kommunikation mit dem Graylog Server.
6.3. MongoDB Log
Pfad (abhängig von der Version):
/var/log/mongodb/mongod.log
Fehler bei der Datenbankverbindung, beim Start oder bei der Replikation werden hier protokolliert.
6.4. Systemd Journal
Graylog und seine Komponenten schreiben auch ins Systemd-Journal. Für aktuelle Meldungen (inkl. Boot-Fehler) kannst du folgende Befehle nutzen:
journalctl -u graylog-server.service
journalctl -u graylog-datanode.service
journalctl -u mongod.service
6.5. Konfigurationsdateien (zur Prüfung bei Fehlern)
- Graylog Server:
/etc/graylog/server/server.conf - Data Node:
/etc/graylog/datanode/datanode.conf - JVM-Optionen:
- Server:
/etc/default/graylog-server
- Server:
Wie kann ich meine IT-Infrastruktur vor potenziellen Sicherheitsbedrohungen schützen?
Kontaktieren Sie uns, um eine umfassende Beratung und Lösungen für Ihre spezifischen Bedürfnisse zu erhalten.
