Installieren und Konfigurieren des Graylog-Überwachungsservers Ubuntu 20.04

Graylog ist ein kostenloses und quelloffenes Software-Tool zur Protokollverwaltung, das zur Überwachung der Protokolle der Netzwerksysteme vom zentralen Server aus verwendet werden kann. Es verwendet Elasticsearch zur Speicherung von Protokolldaten und zur Bereitstellung von Suchfunktionen und MongoDB zur Speicherung von Metainformationen. Es hilft Ihnen bei der Überwachung, Suche und Analyse einer großen Datenmenge in einem einfach lesbaren Format.

In diesem Tutorial zeigen wir Ihnen, wie Sie Graylog auf einem Ubuntu 20.04 Server installieren.

Voraussetzungen

  • Ein Server mit Ubuntu 20.04.mit mindestens 4 GB RAM
  • Ein Root-Passwort ist auf konfiguriert.

Erste Schritte

Zunächst müssen Sie Ihre Systempakete auf die neueste Version aktualisieren. Sie können sie alle mit dem folgenden Befehl aktualisieren:

apt-get update -y

Nachdem Sie alle Pakete aktualisiert haben, müssen Sie auch einige Abhängigkeiten auf Ihrem Server installieren. Sie können sie alle mit dem folgenden Befehl installieren:

apt-get install apt-transport-https gnupg2 uuid-runtime pwgen curl dirmngr -y

Wenn alle erforderlichen Abhängigkeiten installiert sind, können Sie mit dem nächsten Schritt fortfahren.

Java installieren

Graylog erfordert, dass Java auf Ihrem Server installiert ist. Wenn es nicht installiert ist, können Sie es mit folgendem Befehl installieren:

apt-get install openjdk-11-jre-headless -y

Sobald Java installiert ist, können Sie die installierte Version von Java überprüfen, indem Sie den folgenden Befehl ausführen:

java -version

Sie sollten die folgende Ausgabe erhalten:

openjdk version "11.0.8" 2020-07-14
OpenJDK Runtime Environment (build 11.0.8+10-post-Ubuntu-0ubuntu120.04)
OpenJDK 64-Bit Server VM (build 11.0.8+10-post-Ubuntu-0ubuntu120.04, mixed mode, sharing)

Sobald Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.

Installieren und Konfigurieren von Elasticsearch

Graylog verwendet Elasticsearch, um von der externen Ressource kommende Protokolle zu speichern. Daher müssen Sie Elasticsearch in Ihrem System installieren.

Standardmäßig ist die neueste Version von Elasticsearch nicht im Ubuntu-Standard-Repository verfügbar. Sie müssen also das Elasticsearch-Repository in Ihrem System hinzufügen.

Laden Sie zunächst den Elasticsearch GPG-Schlüssel herunter und fügen Sie ihn mit dem folgenden Befehl hinzu:

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | apt-key add -

Als nächstes fügen Sie das Elasticsearch-Repository mit dem folgenden Befehl hinzu:

echo "deb https://artifacts.elastic.co/packages/oss-6.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-6.x.list

Aktualisieren Sie als nächstes das Repository und installieren Sie Elasticsearch mit folgendem Befehl: Aktualisieren Sie das Repository und installieren Sie Elasticsearch:

apt-get update -y
apt-get install elasticsearch-oss -y

Nach der Installation von Elasticsearch müssen Sie die Elasticsearch-Konfigurationsdatei bearbeiten und den Cluster-Namen definieren. Sie können dies mit dem folgenden Befehl tun:

nano /etc/elasticsearch/elasticsearch.yml

Definieren Sie Ihren Cluster-Namen in graylog und fügen Sie eine weitere Zeile wie unten gezeigt hinzu:

cluster.name: graylog
action.auto_create_index: false

Speichern und schließen Sie die Datei, wenn Sie fertig sind. Starten Sie dann den Elasticsearch-Dienst und aktivieren Sie ihn beim Booten mit dem folgenden Befehl:

systemctl daemon-reload
systemctl start elasticsearch
systemctl enable elasticsearch

Sie können auch den Status des Elasticsearch-Dienstes mit dem folgenden Befehl überprüfen:

systemctl status elasticsearch

Sie sollten die folgende Ausgabe erhalten:

? elasticsearch.service - Elasticsearch
     Loaded: loaded (/lib/systemd/system/elasticsearch.service; disabled; vendor preset: enabled)
     Active: active (running) since Sat 2020-09-05 08:41:18 UTC; 9s ago
       Docs: http://www.elastic.co
   Main PID: 7085 (java)
      Tasks: 17 (limit: 2353)
     Memory: 1.1G
     CGroup: /system.slice/elasticsearch.service
             ??7085 /bin/java -Xms1g -Xmx1g -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly ->

Sep 05 08:41:18 ubuntu2004 systemd[1]: Started Elasticsearch.

Überprüfen Sie nun die Antwort von Elasticcsearch mit dem folgenden Befehl:

curl -X GET http://localhost:9200

Sie sollten die folgende Ausgabe erhalten:

{
  "name" : "vzg8H4j",
  "cluster_name" : "graylog",
  "cluster_uuid" : "6R9SlXxNSUGe6aclcJa9VQ",
  "version" : {
    "number" : "6.8.12",
    "build_flavor" : "oss",
    "build_type" : "deb",
    "build_hash" : "7a15d2a",
    "build_date" : "2020-08-12T07:27:20.804867Z",
    "build_snapshot" : false,
    "lucene_version" : "7.7.3",
    "minimum_wire_compatibility_version" : "5.6.0",
    "minimum_index_compatibility_version" : "5.0.0"
  },
  "tagline" : "You Know, for Search"
}

MongoDB-Server installieren

Graylog verwendet MongoDB als Datenbank. Sie müssen also die MongoDB-Datenbank auf Ihrem Server installieren. Sie können sie mit dem folgenden Befehl installieren:

apt-get install mongodb-server -y

Sobald die MongoDB installiert ist, starten Sie den MongoDB-Dienst und ermöglichen Sie ihm, beim Systemneustart mit dem folgenden Befehl zu starten:

systemctl start mongodb
systemctl enable mongodb

Sobald Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.

Installieren und Konfigurieren von Graylog

Standardmäßig ist das Graylog-Paket nicht im Ubuntu-Standard-Repository verfügbar. Daher müssen Sie das Graylog-Repository auf Ihrem Server installieren.

Sie können das Graylog-Repository-Paket mit dem folgenden Befehl herunterladen:

wget https://packages.graylog2.org/repo/packages/graylog-3.3-repository_latest.deb

Sobald der Download abgeschlossen ist, installieren Sie das heruntergeladene Paket mit folgendem Befehl:

dpkg -i graylog-3.3-repository_latest.deb

Aktualisieren Sie als Nächstes das Repository und installieren Sie den Graylog-Server mit dem folgenden Befehl:

apt-get update -y
apt-get install graylog-server -y

Nachdem Sie den Graylog-Server installiert haben, müssen Sie ein Geheimnis generieren, um die Benutzerpasswörter zu sichern. Sie können es mit dem folgenden Befehl erzeugen:

pwgen -N 1 -s 96

Sie sollten die folgende Ausgabe sehen:

Wv4VQWCAA9sRbL7pxPeY7tb9lSo50esEWgNXxXHypx0Og3CezMmQLdF2QzQdRSIXmNXKINjRvZpPTrvZv4k4NlJrFYTfOc3c

Als nächstes müssen Sie auch ein sicheres Passwort für den Graylog-Admin-Benutzer generieren. Sie benötigen dieses Passwort, um sich an der Graylog-Webschnittstelle anzumelden. Sie können es mit dem folgenden Befehl generieren:

echo -n password | sha256sum

Sie sollten die folgende Ausgabe sehen:

5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8  -

Bearbeiten Sie nun die Graylog-Hauptkonfigurationsdatei und definieren Sie beide Passwörter:

nano /etc/graylog/server/server.conf

Fügen Sie beide Passwörter, die Sie oben generiert haben, wie unten gezeigt ein:

password_secret = Wv4VQWCAA9sRbL7pxPeY7tb9lSo50esEWgNXxXHypx0Og3CezMmQLdF2QzQdRSIXmNXKINjRvZpPTrvZv4k4NlJrFYTfOc3c
root_password_sha2 = 5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8   

Als nächstes müssen Sie Ihrem Server auch eine Bindungsadresse definieren, wie unten gezeigt:

http_bind_address = 127.0.0.1:9000

Speichern und schließen Sie die Datei, wenn Sie fertig sind, starten Sie dann den Graylog-Dienst und aktivieren Sie ihn beim Systemneustart mit dem folgenden Befehl:

systemctl daemon-reload
systemctl start graylog-server
systemctl enable graylog-server

Als nächstes können Sie den Status des Graylog-Servers mit dem folgenden Befehl überprüfen:

systemctl status graylog-server

Sie sollten die folgende Ausgabe sehen:

? graylog-server.service - Graylog server
     Loaded: loaded (/lib/systemd/system/graylog-server.service; disabled; vendor preset: enabled)
     Active: active (running) since Sat 2020-09-05 08:50:16 UTC; 15min ago
       Docs: http://docs.graylog.org/
   Main PID: 8693 (graylog-server)
      Tasks: 156 (limit: 2353)
     Memory: 865.0M
     CGroup: /system.slice/graylog-server.service
             ??8693 /bin/sh /usr/share/graylog-server/bin/graylog-server
             ??8726 /usr/bin/java -Xms1g -Xmx1g -XX:NewRatio=1 -server -XX:+ResizeTLAB -XX:+UseConcMarkSweepGC -XX:+CMSConcurrentMTEnabled -XX>

Sep 05 08:50:16 ubuntu2004 systemd[1]: Started Graylog server.

Sie können das Protokoll des Graylog-Servers auch mit dem folgenden Befehl überprüfen:

tail -f /var/log/graylog-server/server.log

Sobald der Graylog-Server erfolgreich gestartet wurde, sollten Sie die folgende Ausgabe erhalten:

2020-09-05T08:51:36.473Z INFO  [ServerBootstrap] Services started, startup times in ms: {InputSetupService [RUNNING]=59, JobSchedulerService [RUNNING]=105, GracefulShutdownService [RUNNING]=106, OutputSetupService [RUNNING]=110, BufferSynchronizerService [RUNNING]=111, UrlWhitelistService [RUNNING]=153, JournalReader [RUNNING]=166, KafkaJournal [RUNNING]=222, MongoDBProcessingStatusRecorderService [RUNNING]=240, ConfigurationEtagService [RUNNING]=259, EtagService [RUNNING]=302, StreamCacheService [RUNNING]=306, LookupTableService [RUNNING]=376, PeriodicalsService [RUNNING]=655, JerseyService [RUNNING]=58701}
2020-09-05T08:51:36.477Z INFO  [ServerBootstrap] Graylog server up and running.

An diesem Punkt wird der Graylog-Server gestartet und lauscht auf Port 9000.

Konfigurieren Sie Nginx als Reverse-Proxy für Graylog

Als nächstes müssen Sie Nginx als Reverse-Proxy installieren und konfigurieren, um auf den Graylog-Server zuzugreifen.

Installieren Sie zunächst den Nginx-Server mit dem folgenden Befehl:

apt-get install nginx -y

Nachdem Sie den Nginx-Server installiert haben, erstellen Sie eine neue Nginx-Konfigurationsdatei für den virtuellen Host mit folgendem Befehl:

nano /etc/nginx/sites-available/graylog.conf

Fügen Sie die folgenden Zeilen hinzu:

server {
    listen 80;
    server_name graylog.example.org;

    location / {
      proxy_set_header Host $http_host;
      proxy_set_header X-Forwarded-Host $host;
      proxy_set_header X-Forwarded-Server $host;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Graylog-Server-URL http://$server_name/;
      proxy_pass       http://127.0.0.1:9000;
    }
}

Speichern und schließen Sie die Datei, wenn Sie fertig sind. Überprüfen Sie dann Nginx mit dem folgenden Befehl auf Syntaxfehler:

nginx -t

Sie sollten die folgende Ausgabe erhalten:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Als nächstes aktivieren Sie die Nginx-Konfigurationsdatei für den virtuellen Host mit dem folgenden Befehl:

ln -s /etc/nginx/sites-available/graylog.conf /etc/nginx/sites-enabled/

Schließlich starten Sie den Nginx-Dienst neu, um die Änderungen zu übernehmen:

systemctl restart nginx

Überprüfen Sie dann den Status von Graylog mit dem folgenden Befehl:

systemctl status nginx

Sie sollten folgende Ausgabe erhalten: Sie sollten folgende Ausgabe erhalten:

? nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2020-09-05 09:07:50 UTC; 20s ago
       Docs: man:nginx(8)
    Process: 9408 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
    Process: 9419 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
   Main PID: 9423 (nginx)
      Tasks: 3 (limit: 2353)
     Memory: 10.2M
     CGroup: /system.slice/nginx.service
             ??9423 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
             ??9424 nginx: worker process
             ??9425 nginx: worker process

Sep 05 09:07:50 ubuntu2004 systemd[1]: Starting A high performance web server and a reverse proxy server...
Sep 05 09:07:50 ubuntu2004 systemd[1]: Started A high performance web server and a reverse proxy server.

Zugriff auf die Graylog-Webschnittstelle

Öffnen Sie nun Ihren Webbrowser und geben Sie die URL http://graylog.example.com ein. Sie werden auf die Anmeldeseite von Graylog weitergeleitet, wie unten dargestellt:

Graylog Anmeldung

Geben Sie Ihren Admin-Benutzernamen und Ihr Passwort ein und klicken Sie auf die Schaltfläche Login. Sie sollten das Graylog-Dashboard auf der folgenden Seite sehen:

Erste Schritte mit Graylog

Klicken Sie nun auf System >> Übersicht. Sie sollten den Status des Graylog-Servers auf der folgenden Seite sehen: Sie sollten den Status des Graylog-Servers auf der folgenden Seite sehen:

Graylog

Schlussfolgerung

Herzlichen Glückwunsch! Sie haben den Graylog-Server mit Nginx als Reverse-Proxy unter Ubuntu 20.04 erfolgreich installiert und konfiguriert. Sie können nun das Graylog erkunden und einen Input erstellen, um Rsyslog-Protokolle von externen Quellen zu erhalten. Zögern Sie nicht, mich zu fragen, wenn Sie irgendwelche Fragen haben.

Das könnte dich auch interessieren …