Heutzutage haben wir es mit einer Fülle von Daten zu tun. Diese Daten stammen aus verschiedenen Quellen wie Geräten, Anwendungen und Betriebssystemen. Ein zentralisiertes Log Management System wie Graylog bietet eine Möglichkeit, all diese Daten zu sammeln, zu organisieren und sinnvoll zu nutzen.
Protokolldateien sind im Wesentlichen Textdateien. Sie enthalten eine Fülle von Informationen – Name der Anwendung, IP-Adresse, Zeitstempel und Quell-Ziel. Alle Anwendungen und sogar die Betriebssysteme selbst erstellen diese Protokolle mit riesigen Datenmengen, die analysiert werden müssen, wenn man sie sinnvoll nutzen will.
Der Artikel beschreibt die Installation von Graylog 5 Community mit Unterstützung von OpenSearch in der Version Version 2. Die Entwickler empfehlen, das OpenSource Produkt Graylog zusammen mit OpenSearch einzusetzen, um auch zukünftige Aufgaben erfolgreich lösen zu können.
Voraussetzungen
Der Graylog Server ist kompatibel mit folgenden Betriebssystemen:
- Debian 10 and 11
- Ubuntu 20.04 and 22.04
- Red Hat Enterprise Linux 7-9 and compatible (AlmaLinux, Rocky Linux, etc)
- SUSE Linux Enterprise Server 13, 15
Es werden außerdem folgende Datenbanken unterstützt:
Achtung! Graylog 5.0 ist die letzte Version, die Unterstützung für Elasticsearch (nur 7.10.2) bietet! Die Entwickler empfehlen, OpenSearch 2.x als Datenknoten zu verwenden, um Graylog 5.0 zu unterstützen.
- MongoDB 5.x-6.x
- OpenJDK 17 ( bereits in Graylog 5.0 integriert und muss nicht zusätzlich installiert werden)
Installation
Wir nutzen Ubuntu 22.04, um Graylog 5 und OpenSearch 2 zu installieren und gehen Schritt für SChritt vor:
MongoDB Version 6 installieren
# gnupg installieren
sudo apt install gnupg curl
# Schlüssel importieren
curl -fsSL https://pgp.mongodb.com/server-6.0.asc | \
sudo gpg -o /usr/share/keyrings/mongodb-server-6.0.gpg \
--dearmor
# MongoDB auflisten
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-6.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
# MongoDB installieren
sudo apt update && sudo apt install mongodb-org
# MongoDB Start
sudo systemctl daemon-reload
sudo systemctl enable mongod.service
sudo systemctl restart mongod.service
sudo systemctl --type=service --state=active | grep mongod
OpenSearch 2.5 installieren
# Schlüssel importieren
curl -o- https://artifacts.opensearch.org/publickeys/opensearch.pgp | sudo apt-key add -
#Repository laden
echo "deb https://artifacts.opensearch.org/releases/bundle/opensearch/2.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/opensearch-2.x.list
# Verfügbare Versionen auflisten un Version 2.5 installieren
sudo apt-get update
sudo apt list -a opensearch
sudo apt-get install opensearch=2.5.0
Graylog Konfiguration für OpenSearch
# Vorhanden OpenSearch Konfiguration sichern
sudo mv /etc/opensearch/opensearch.yml /etc/opensearch/opensearch.yml.old
# Neue Konfiguration schreiben nach /etc/opensearch/opensearch.yml
cluster.name: graylog
node.name: ${HOSTNAME}
path.data: /var/lib/opensearch
path.logs: /var/log/opensearch
discovery.type: single-node
network.host: 0.0.0.0
action.auto_create_index: false
plugins.security.disabled: true
indices.query.bool.max_clause_count: 32768
# Optionen in jvm.options anpassen
sudo nano /etc/opensearch/jvm.options
# Aktualisieren Sie nun die Xms- und Xmx-Einstellungen mit der Hälfte des installierten Systemspeichers
-Xms1g
-Xmx1g
# Kernel Parameter konfigurieren
sudo sysctl -w vm.max_map_count=262144
echo 'vm.max_map_count=262144' | sudo tee -a /etc/sysctl.conf
# Systemdienste verfügbar machen und starten
sudo systemctl daemon-reload
sudo systemctl enable opensearch.service
sudo systemctl start opensearch.service
sudo systemctl status opensearch.service
Graylog 5.2 Installieren
Aktuellere Version hier runterladen.
# Greylog mit folgenden Befehlen installieren
wget https://packages.graylog2.org/repo/packages/graylog-5.2-repository_latest.deb
sudo dpkg -i graylog-5.2-repository_latest.deb
sudo apt update && sudo apt install graylog-server
Konfiguration anpassen und Graylog starten
# Folgende Werte in der Konfiguration anpassen (/etc/graylog/server/server.conf)
# password_secret erstellen (ermittelten Wert notieren oder speichern)
< /dev/urandom tr -dc A-Z-a-z-0-9 | head -c${1:-96};echo;
# root_password_sha2 erstellen (ermittelten Wert notieren oder speichern)
echo -n "Enter Password: " && head -1 </dev/stdin | tr -d '\n' | sha256sum | cut -d" " -f1
# Werte für password_secret und root_password_sha2 in die Datei /etc/graylog/server/server.conf einpflegen
# Folgende Einstellungen für http_bind_address vornehmen
http_bind_address = 127.0.0.1:9000
# Graylog Dienst verfügbar machen und starten
sudo systemctl daemon-reload
sudo systemctl enable graylog-server.service
sudo systemctl start graylog-server.service
sudo systemctl --type=service --state=active | grep graylog
Bei weiteren Fragen oder Hinweise konsultieren Sie die ausführliche Dokumentation.
Graylog Webseite aufrufen
Nutzen Sie nun Ihren favorisierten Browser und rufen folgende URL auf:
http://IP-Adresse:9000
Nun kann Graylog eingerichtet werden, um Logdaten der verschiedenen System zu empfangen. Verwenden Sie für das Login den Benutzernamen admin und als Passwort das mit der Option root_password_sha2 erstellte Passwort.
Hinweis:
Wer Graylog auf Proxmox-VE testen möchte, muss sicherstellen, dass die verwendete CPU AVX unterstützt. Ohne diesen Support wird MongoDB 5.x oder 6.x nicht starten.