Graylog installieren
In diesem Schritt installieren Sie Graylog, eine leistungsstarke Open-Source-Log-Verwaltungsplattform, in Ihrer LabEx-VM-Umgebung. Graylog hilft bei der Zentralisierung und Analyse von Protokolldaten (Logs) für die Sicherheitsüberwachung und die Fehlerbehebung, indem es Protokolle aus verschiedenen Quellen sammelt und Such- und Visualisierungsfunktionen bietet.
Da wir Docker-Container verwenden, werden wir Graylog mit Docker Compose bereitstellen, um die Einrichtung zu vereinfachen. Docker Compose ermöglicht es uns, multi-Container-Anwendungen mit einer einzigen Konfigurationsdatei zu definieren und auszuführen. Dieser Ansatz vereinfacht den Installationsprozess und stellt sicher, dass alle erforderlichen Komponenten richtig zusammenarbeiten. Befolgen Sie diese Schritte sorgfältig:
- Stellen Sie zunächst sicher, dass Sie sich im richtigen Verzeichnis befinden. Das Verzeichnis
project
ist der Ort, an dem wir unsere Graylog-Installationsdateien organisieren werden:
cd ~/project
- Erstellen Sie ein neues dediziertes Verzeichnis für die Graylog-Konfiguration. Dadurch werden unsere Installationsdateien getrennt und organisiert:
mkdir graylog && cd graylog
- Erstellen Sie mit nano eine Datei namens
docker-compose.yml
mit folgendem Inhalt. Diese Datei definiert alle Dienste, die Graylog zum Ausführen benötigt:
nano docker-compose.yml
- Fügen Sie diese Konfiguration ein (drücken Sie Ctrl+O, um zu speichern, und dann Ctrl+X, um zu beenden). Die Konfiguration umfasst drei Hauptdienste:
- MongoDB zur Speicherung von Konfigurationsdaten
- Elasticsearch zur Indizierung und Suche von Protokollen
- Graylog selbst als Weboberfläche und Verarbeitungsengine
version: "3"
services:
mongodb:
image: mongo:4.2
volumes:
- mongo_data:/data/db
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch-oss:7.10.2
volumes:
- es_data:/usr/share/elasticsearch/data
environment:
- "discovery.type=single-node"
- "bootstrap.memory_lock=true"
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
graylog:
image: graylog/graylog:4.3
volumes:
- graylog_data:/usr/share/graylog/data
environment:
- GRAYLOG_PASSWORD_SECRET=somepasswordpepper
- GRAYLOG_ROOT_PASSWORD_SHA2=8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918
- GRAYLOG_HTTP_EXTERNAL_URI=http://127.0.0.1:9000/
depends_on:
- mongodb
- elasticsearch
ports:
- "9000:9000"
- "1514:1514"
- "1514:1514/udp"
- "12201:12201"
- "12201:12201/udp"
volumes:
mongo_data:
es_data:
graylog_data:
- Starten Sie den Graylog-Stack mit Docker Compose. Das Flag
-d
führt die Container im Hintergrund aus:
docker-compose up -d
- Überprüfen Sie, ob die Container ordnungsgemäß ausgeführt werden. Dieser Befehl zeigt den Status aller in unserer docker-compose-Datei definierten Dienste an:
docker-compose ps
Sie sollten drei Dienste (mongodb, elasticsearch und graylog) mit dem Status "Up" sehen. Die Graylog-Weboberfläche ist unter http://127.0.0.1:9000
verfügbar (Benutzername: admin
, Passwort: admin
). Damit ist die grundlegende Graylog-Installation abgeschlossen, und wir sind nun bereit, in den nächsten Schritten die Protokolleingänge zu konfigurieren.