Graylog ist ein Open-Source-Protokollverwaltungstool, mit dem Sie Maschinenprotokolle an einem zentralen Ort sammeln, speichern und analysieren können.
Graylog-Setup
Um ein Graylog in Ihrer Umgebung einzurichten, benötigen Sie die unten stehende Software.
- MongoDB – Speichert die Konfigurationen und Metainformationen.
- Elasticsearch – Speichert die vom Graylog-Server empfangenen Protokollnachrichten und bietet eine Möglichkeit, sie bei Bedarf zu durchsuchen. Elasticsearch ist ein Ressourcen-Monger, da es Daten indiziert, also weisen Sie mehr Speicher zu und verwenden Sie SAS- oder SAN-Festplatten.
- Graylog-Server – Analysiert die Protokolle, die von verschiedenen Eingaben stammen, und bietet eine integrierte Webschnittstelle zur Handhabung dieser Protokolle.
Diese Anleitung hilft Ihnen bei der Installation von Graylog auf CentOS 8 / RHEL 8.
Voraussetzungen
EPEL-Repository
Wir müssen das EPEL-Repository aktivieren, um die erforderlichen Dienstprogramme herunterzuladen und zu installieren.
Pakete installieren
Sie müssten die folgenden Pakete für die Graylog-Installation installieren.
dnf install -y wget pwgen perl-Digest-SHA
Java installieren
Für Elasticsearch muss Java auf dem Computer installiert sein. Installieren Sie also entweder OpenJDK oder Oracle JDK.
dnf install -y java-1.8.0-openjdk-headless
Überprüfen Sie die Java-Version.
java -version
Ausgabe:
openjdk version "1.8.0_242" OpenJDK Runtime Environment (build 1.8.0_242-b08) OpenJDK 64-Bit Server VM (build 25.242-b08, mixed mode)
Elasticsearch installieren
Elasticsearch ist eine der wichtigsten Software im Graylog-Setup. Der Zweck von Elasticsearh besteht darin, die Daten aus der Graylog-Eingabe zu speichern und sie auf Anfrage über die in Graylog integrierte Webschnittstelle anzuzeigen.
Graylog unterstützt Eleasticsearch v6.x.
Importieren Sie den GPG-Signaturschlüssel vor der Installation.
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
Konfigurieren Sie ein Repository, um das Elasticsearch v6.x-Paket aus dem offiziellen Repository abzurufen.
cat << EOF > /etc/yum.repos.d/elasticsearch.repo
[elasticsearch-6.x]
name=Elasticsearch repository for 6.x packages
baseurl=https://artifacts.elastic.co/packages/oss-6.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
EOF
Installieren Sie nun das Elasticsearch-Paket mit dem Befehl dnf.
dnf install -y elasticsearch-oss
Damit Elasticsearch mit dem Graylog-Setup funktioniert, müssen wir den Clusternamen auf Graylog setzen.
Bearbeiten Sie die Datei elasticsearch.yml.
vi /etc/elasticsearch/elasticsearch.yml
Aktualisieren Sie es wie unten gezeigt.
cluster.name: graylog action.auto_create_index: false
Laden Sie den systemctl-Daemon neu und aktivieren Sie Elasticsearch, damit es beim Systemstart automatisch gestartet wird.
systemctl daemon-reload
systemctl enable elasticsearch
Starten Sie Elasticsearch neu.
systemctl restart elasticsearch
Geben Sie Elasticsearch ein oder zwei Minuten Zeit, um vollständig zu starten.
Elastisearch sollte jetzt 9200 zur Verarbeitung von HTTP-Anforderungen überwachen. Verwenden Sie den CURL-Befehl, um die Antwort zu überprüfen.
curl -X GET http://localhost:9200
Der Clustername sollte Graylog sein.
{ "name" : "eaTfFg6", "cluster_name" : "graylog", "cluster_uuid" : "u-ageNH-RHGIzpfxDtNsgQ", "version" : { "number" : "6.8.6", "build_flavor" : "oss", "build_type" : "rpm", "build_hash" : "3d9f765", "build_date" : "2019-12-13T17:11:52.013738Z", "build_snapshot" : false, "lucene_version" : "7.7.2", "minimum_wire_compatibility_version" : "5.6.0", "minimum_index_compatibility_version" : "5.0.0" }, "tagline" : "You Know, for Search" }
Installieren Sie MongoDB
MongoDB fungiert als Datenbank zum Speichern der Konfigurationen und Metainformationen.
Graylog unterstützt nur MongoDB v4.0.Wir werden das offizielle Repository von MongoDB verwenden, um die erforderliche Version zu erhalten.
cat << EOF > /etc/yum.repos.d/mongodb-org-4.0.repo
[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/8Server/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc
EOF
Installieren Sie die Community Edition von MongoDB mit dem folgenden Befehl.
dnf install -y mongodb-org
Starten Sie den MongoDB-Dienst und aktivieren Sie ihn beim Systemstart.
systemctl start mongod
systemctl enable mongod
Graylog installieren
Der Graylog-Server akzeptiert und verarbeitet die Protokollmeldungen, die von verschiedenen Eingaben stammen, und zeigt mit Hilfe von Elasticsearch Daten zu Anfragen an, die von der Graylog-Weboberfläche kommen.
Installieren Sie das Graylog-Repository-RPM, um die Repository-Konfiguration automatisch einzurichten.
dnf install -y https://packages.graylog2.org/repo/packages/graylog-3.2-repository_latest.rpm
Installieren Sie den Graylog-Server mit dem folgenden Befehl.
dnf install -y graylog-server
Bearbeiten Sie die server.conf-Datei, um mit der Graylog-Konfiguration zu beginnen.
vi /etc/graylog/server/server.conf
Verwenden Sie den folgenden Befehl, um ein Geheimnis zu erstellen
pwgen -N 1 -s 96
Ausgabe:
1dcw10Snsvk1bKgkARGNaalO3QeZqkPG8pUcbJO3oF5ktYvDUeqRTaErFixOR95Nrv40FCFRClXIdnxwknGtl4HDrTspWmom
Platzieren Sie das Geheimnis in der Datei server.conf.
password_secret = 1dcw10Snsvk1bKgkARGNaalO3QeZqkPG8pUcbJO3oF5ktYvDUeqRTaErFixOR95Nrv40FCFRClXIdnxwknGtl4HDrTspWmom
Legen Sie das Hash-Passwort für den Root-Benutzer fest, d. h. den Administrator von Graylog. Sie benötigen dieses Passwort, um sich bei der Graylog-Weboberfläche anzumelden.
Wenn Sie jemals das vergessene Passwort des Gralog-Administrators ändern/zurücksetzen möchten, können Sie die server.conf mit einem gehashten Passwort bearbeiten/aktualisieren.Generieren Sie mit dem folgenden Befehl ein Hash-Passwort. Ersetzen Sie Ihr Passwort durch Ihr eigenes.
echo -n yourpassword | shasum -a 256
Ausgabe:
e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951
Geben Sie das Hash-Passwort ein.
root_password_sha2 = e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951
Sie können eine E-Mail-Adresse für den Admin-Benutzer einrichten.
root_email = "[email protected]"
Legen Sie die Zeitzone des Root-Benutzers (Admin) fest.
root_timezone = UTC
Graylog-Webschnittstelle konfigurieren
Ab der Graylog-Version 2.x wird das Webinterface direkt vom Graylog-Server bedient. Aktivieren Sie die Graylog-Webschnittstelle, indem Sie die Datei server.conf bearbeiten.
vi /etc/graylog/server/server.conf
Ändern Sie die Einträge, damit sich das Graylog-Webinterface mit dem Graylog-Server verbinden kann. Ersetzen Sie 192.168.0.10 durch Ihre System-IP-Adresse.
http_bind_address = 192.168.0.10:9000Wenn Sie aufgrund von NATing mit einer öffentlichen IP-Adresse auf das Graylog zugreifen, aktualisieren Sie die folgenden Werte. Andernfalls überspringen Sie es.
http_external_uri = http://public_ip:9000/
Starten Sie den Graylog-Dienst neu.
systemctl daemon-reload
systemctl restart graylog-server
Lassen Sie den Graylog-Server beim Systemstart automatisch starten.
systemctl enable graylog-server
Sie können die Startprotokolle des Servers überprüfen, um Probleme mit Graylog zu beheben.
tail -f /var/log/graylog-server/server.log
Wenn alles gut geht, sollten Sie die Meldung "Server up and running" in der Datei "server.log" sehen.
2020-02-08T10:26:54.484-05:00 INFO [ServerBootstrap] Graylog server up and running.
Firewall
In CentOS 8 / RHEL 8 sind Firewall-Regeln so eingestellt, dass sie standardmäßig den größten Teil des Datenverkehrs von externen Computern blockieren.
Fügen Sie eine Zulassungsregel für die Graylog-Weboberfläche hinzu, damit wir von externen Computern darauf zugreifen können.
firewall-cmd --permanent --add-port=9000/tcp
firewall-cmd --reload
Zugriff auf die Graylog-Weboberfläche
Greifen Sie auf die Webschnittstelle zu, indem Sie auf die folgende URL gehen.
http://ip.add.re.ss:9000Melden Sie sich mit dem Benutzernamen admin und dem Passwort an, das Sie unter root_password_sha2 auf server.conf konfiguriert haben.
Sobald Sie sich angemeldet haben, sehen Sie die Seite „Erste Schritte“.
Klicken Sie auf System » Übersicht um den Status des Graylog-Servers zu erfahren.
Schlussfolgerung
Das ist alles. Sie haben Graylog erfolgreich auf CentOS 8 / RHEL 8 installiert. Im nächsten Artikel werden wir Graylog so konfigurieren, dass es Rsyslog-Protokolle von externen Quellen empfängt. Als weitere Lektüre können Sie versuchen, Nginx oder Apache als Reverse-Proxy zu konfigurieren und HTTPS für die Graylog-Weboberfläche einzurichten.