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.

Graylog CA Setup

Lege danach die Zertifikatsgültigkeit (Retention) fest. Die Standardwerte sind für die meisten Anwendungsfälle ausreichend.
Graylog CA interval
Zum Abschluss kannst du das Zertifikat direkt auf die Graylog Data Nodes ausrollen – dazu einfach auf „Provision Certificate“ klicken.
Graylog CA Provisioning

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)

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.


Kontakt

Consent Management Platform von Real Cookie Banner