GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So installieren Sie Graylog 3.0 unter Ubuntu 18.04 / Ubuntu 16.04

Graylog ist ein Open-Source-Protokollverwaltungstool, mit dem Sie alle Maschinenprotokolle zentral sammeln, indizieren und analysieren können. Diese Anleitung konzentriert sich auf die Installation von Graylog auf Ubuntu 18.04 / Ubuntu 16.04.

Komponenten

MongoDB – Fungiert als Datenbank, speichert die Konfigurationen und Metainformationen.

Elastische Suche – Es speichert die Protokollmeldungen und bietet eine Suchfunktion. Es wird empfohlen, mehr Arbeitsspeicher zuzuweisen und SAS- oder SAN-Festplatten für Elasticsearch-Knoten zu verwenden. Hier, wo all Ihre Suche stattfindet.

Graylog-Server – Log-Parser. Es sammelt die Protokolle aus verschiedenen Eingaben und liefert die Ausgabe an eine integrierte Webschnittstelle zur Verwaltung der Protokolle.

Voraussetzungen

Wie Sie wissen, ist Elasticsearch eine Java-basierte Anwendung. Installieren Sie entweder OpenJDK oder Oracle JDK auf Ihrem Computer, um fortzufahren.

Hier werde ich mich für OpenJDK 8 entscheiden.

sudo apt update
sudo apt install -y apt-transport-https openjdk-8-jre-headless uuid-runtime pwgen curl dirmngr

Überprüfen Sie die Java-Version.

java -version

Ausgabe:

openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.18.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)

Elasticsearch installieren

Elasticsearch ist eine der Hauptkomponenten, für deren Ausführung Graylog erforderlich ist, die als Suchserver fungiert und mit der RESTful-Webschnittstelle eine verteilte Suche und Analyse in Echtzeit bietet.

Elasticsearch speichert alle vom Graylog-Server gesendeten Protokolle und zeigt die Nachrichten an, wann immer der Benutzer sie über die integrierte Weboberfläche anfordert.

Laden Sie den GPG-Signaturschlüssel herunter und installieren Sie ihn.

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

Richten Sie das Elasticsearch-Repository ein, indem Sie den folgenden Befehl ausführen.

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

Aktualisieren Sie den Repository-Cache und installieren Sie das Elasticsearch-Paket.

sudo apt update
sudo apt install -y elasticsearch

Lassen Sie den Elasticsearch-Dienst beim Systemstart automatisch starten.

sudo systemctl enable elasticsearch

Wichtig ist nur, einen Clusternamen als graylog festzulegen . Bearbeiten Sie die Konfigurationsdatei von Elasticsearch und aktualisieren Sie sie entsprechend.

sudo nano /etc/elasticsearch/elasticsearch.yml

Legen Sie den Clusternamen wie unten gezeigt fest.

cluster.name: graylog

Starten Sie den Elasticsearch-Dienst, um die neuen Konfigurationen zu lesen.

sudo systemctl restart elasticsearch

Warten Sie mindestens eine Minute, damit Elasticsearch vollständig neu gestartet werden kann. Elastisearch sollte jetzt auf 9200 für die Verarbeitung der HTTP-Anforderung lauschen. Verwenden Sie eine CURL, um die Antwort zu überprüfen.

curl -X GET http://localhost:9200

Ausgabe:

Stellen Sie sicher, dass der Clustername als Graylog angezeigt wird .

{
  "name" : "bgVbYrc",
  "cluster_name" : "graylog",
  "cluster_uuid" : "-wECQlwnSZWftd_XdWSz-g",
  "version" : {
    "number" : "6.6.1",
    "build_flavor" : "default",
    "build_type" : "deb",
    "build_hash" : "1fd8f69",
    "build_date" : "2019-02-13T17:10:04.160291Z",
    "build_snapshot" : false,
    "lucene_version" : "7.6.0",
    "minimum_wire_compatibility_version" : "5.6.0",
    "minimum_index_compatibility_version" : "5.0.0"
  },
  "tagline" : "You Know, for Search"
}

Optional: Testen Sie den Zustand des Elasticsearch-Clusters.

curl -XGET 'http://localhost:9200/_cluster/health?pretty=true'

Ausgabe:

Stellen Sie sicher, dass die Ausgabe den Clusterstatus als grün liefert .

{
  "cluster_name" : "graylog",
  "status" : "green",
  "timed_out" : false,
  "number_of_nodes" : 1,
  "number_of_data_nodes" : 1,
  "active_primary_shards" : 0,
  "active_shards" : 0,
  "relocating_shards" : 0,
  "initializing_shards" : 0,
  "unassigned_shards" : 0,
  "delayed_unassigned_shards" : 0,
  "number_of_pending_tasks" : 0,
  "number_of_in_flight_fetch" : 0,
  "task_max_waiting_in_queue_millis" : 0,
  "active_shards_percent_as_number" : 100.0
}

Installieren Sie MongoDB

Laden Sie die neueste Version von MongoDB von der offiziellen Website herunter und installieren Sie sie. Importieren Sie den öffentlichen Schlüssel auf dem Terminal, um zu beginnen.

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4

Fügen Sie das Mongodb-Repository hinzu, indem Sie /etc/apt/sources.list.d/mongodb-org.list erstellen Datei mit dem folgenden Befehl.

### Ubuntu 18.04 ###

echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list

### Ubuntu 16.04 ###

echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list

Installieren Sie MongoDB mit dem folgenden Befehl.

sudo apt update
sudo apt install -y mongodb-org

Starten Sie die MongoDB und aktivieren Sie sie beim Systemstart.

sudo systemctl start mongod
sudo systemctl enable mongod

Graylog installieren

Graylog Server akzeptiert und verarbeitet die Protokollmeldungen und zeigt sie dann für die Anfragen an, die von der Graylog-Weboberfläche kommen.

Laden Sie das Graylog 3.x-Repository herunter und installieren Sie es.

wget https://packages.graylog2.org/repo/packages/graylog-3.0-repository_latest.deb
sudo dpkg -i graylog-3.0-repository_latest.deb

Aktualisieren Sie den Repository-Cache.

sudo apt update

Installieren Sie den Graylog-Server mit dem folgenden Befehl.

sudo apt install -y graylog-server

Graylog konfigurieren

Sie müssen ein Geheimnis festlegen, um die Benutzerkennwörter zu sichern. Verwenden Sie dazu den Befehl pwgen.

pwgen -N 1 -s 96

Ausgabe:

fGoTI07CooB6xNy5sdPVSKSuq6QSu2QyWf6G9z3haolgwbERTQ9ZbfbF6hxRYbJMMAlEZX7CXHxJLBkNyfM0420u8aFuZy9M

Bearbeiten Sie die server.conf Datei, um mit der Graylog-Konfiguration zu beginnen.

sudo nano /etc/graylog/server/server.conf

Platzieren Sie das Geheimnis wie unten.

password_secret = fGoTI07CooB6xNy5sdPVSKSuq6QSu2QyWf6G9z3haolgwbERTQ9ZbfbF6hxRYbJMMAlEZX7CXHxJLBkNyfM0420u8aFuZy9M

Als nächstes muss ein Hash-Passwort (sha256) für den Root-Benutzer festgelegt werden (nicht zu verwechseln mit dem Systembenutzer, der Root-Benutzer von Graylog ist admin).

Sie benötigen dieses Passwort, um sich bei der Graylog-Weboberfläche anzumelden. Das Passwort des Administrators kann nicht über die Webschnittstelle geändert werden. Sie müssen diese Variable also bearbeiten, um sie zu setzen.

Ersetzen Sie IhrPasswort mit Ihrer Wahl.

echo -n yourpassword | sha256sum

Ausgabe:

e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951

Bearbeiten Sie die server.conf Datei erneut.

sudo nano /etc/graylog/server/server.conf

Geben Sie das Hash-Passwort ein.

root_password_sha2 = e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951

Sie können einen Administratorbenutzer für die E-Mail-Adresse einrichten.

root_email = "[email protected]"

Legen Sie die Zeitzone des Root-Benutzers (Admin) fest.

root_timezone = UTC

Legen Sie nur einen Master-Knoten fest, indem Sie die folgende Variable definieren. Wenn Sie einen zweiten Graylog-Knoten hinzufügen, setzen Sie dies auf „false“, um den zweiten Knoten als Slave zu machen, da der Master-Knoten einige periodische Aufgaben erledigt, die Slave-Knoten nicht ausführen.

is_master = true

Legen Sie die Anzahl der Protokollmeldungen fest, die pro Index aufbewahrt werden sollen; Es wird empfohlen, statt größerer mehrere kleinere Indizes zu verwenden.

elasticsearch_max_docs_per_index = 20000000

Der folgende Parameter definiert eine Gesamtanzahl von Indizes, wenn diese Anzahl erreicht wird, wird der alte Index gelöscht.

elasticsearch_max_number_of_indices = 20

Die Shards-Einstellung hängt von der Anzahl der Knoten im jeweiligen Elasticsearch-Cluster ab. Wenn Sie nur einen Knoten haben, setzen Sie ihn auf 1.

elasticsearch_shards = 1

Diese Einstellung definiert die Anzahl der Replikate für Ihre Indizes. Wenn Sie nur einen Knoten im Elasticsearch-Cluster haben, setzen Sie ihn auf 0.

elasticsearch_replicas = 0

Graylog-Weboberfläche einrichten

Ab der Version 2.x wird das Webinterface direkt vom Graylog-Server bedient. Konfigurieren Sie die Graylog-Weboberfläche, indem Sie die server.conf bearbeiten Datei.

sudo nano /etc/graylog/server/server.conf

Aktualisieren Sie den folgenden Eintrag mit Ihrer System-IP-Adresse, von der aus Sie auf die Graylog-Webschnittstelle zugreifen.

http_bind_address = your-server-ip:9000

Starten Sie den Graylog-Dienst neu.

sudo systemctl restart graylog-server

Lassen Sie den Graylog-Server beim Systemstart automatisch starten.

sudo systemctl enable graylog-server

Sie können die Server-Startprotokolle überprüfen, und es wird Ihnen bei der Fehlerbehebung bei Graylog im Falle eines Problems nützlich sein.

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

Bei erfolgreichem Start des Graylog-Servers sollten Sie folgende Meldung in der Logdatei erhalten.

2019-02-22T10:07:49.398+05:30 INFO  [ServerBootstrap] Graylog server up and running.

Graylog aufrufen

Die Webschnittstelle lauscht jetzt auf Port 9000, verweisen Sie Ihren Browser auf

http://ip.add.re.ss:9000

Melden Sie sich mit dem Benutzernamen admin an und das Passwort, das Sie unter root_password_sha2 konfiguriert haben aufserver.conf .

Sobald Sie sich angemeldet haben, sehen Sie die Seite „Erste Schritte“.

Klicken Sie auf System>> Übersicht um den Status des Graylog-Servers zu erfahren.

Graylog-Eingaben erstellen

Die Graylog-Eingabe muss konfiguriert werden, um die Protokolle von externen Quellen zu erhalten, d. h. Syslog oder ein beliebiges Protokollierungssystem.

Für dieses Beispiel richten wir eine Eingabe zum Empfangen von Protokollen von Syslog auf Portnummer UDP 1514 ein. Denn wenn Sie versuchen, eine Eingabe an einem der privilegierten Ports, einer beliebigen TCP/UDP-Portnummer unter 1024, vorzunehmen, sehen Sie, dass die Berechtigung verweigert wird Fehler in Graylog-Protokollen.

Also werden wir eine Eingabe erstellen, um auf Port 1514 zu starten.

Klicken Sie auf System>> Eingänge >> wählen Sie Syslog UDP und klicken Sie dann auf Neue Eingabe starten.

Geben Sie die Werte ein und klicken Sie dann auf Speichern.

Knoten: Wählen Sie Ihren Graylog-Knoten aus

Titel: Benennen Sie Ihre Eingabe

Bindungsadresse: 0.0.0.0 (Standardeinstellung beibehalten)

Port: 1514

Rsyslog konfigurieren

Nachdem Sie die Eingaben erstellt haben, konfigurieren Sie Rsyslog oder leiten Sie alle Systemprotokolle an Ihren Graylog-Server weiter.

Bearbeiten Sie die Rsyslog-Konfigurationsdatei.

sudo nano /etc/rsyslog.conf

Eine typische Rsyslog-Konfiguration sieht wie folgt aus, um Protokolle auf UDP 1514 zu senden.

*.info;mail.none;authpriv.none;cron.none @192.168.1.10:1514

Starten Sie den Rsyslog-Dienst neu, um Protokolle zu senden.

systemctl restart rsyslog

Protokolle mit Graylog anzeigen

Warten Sie einige Minuten. Sobald das Ereignis generiert wird, sollten Sie beginnen, Protokollnachrichten vom Client-Computer zu erhalten.

Der folgende Screenshot zeigt die von Graylog empfangenen Protokolle (Graylog-Konsole >>Suchen h ).

Schlussfolgerung

Sie haben Graylog 3.0 erfolgreich auf Ubuntu 18.04 / Ubuntu 16.04 installiert und Graylog so konfiguriert, 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.


Ubuntu
  1. So installieren Sie Elasticsearch unter Ubuntu 18.04

  2. So installieren Sie Graylog2 unter Ubuntu 14.04

  3. So installieren Sie Graylog2 unter Ubuntu 15.04 / 14.10

  4. So installieren Sie Elasticsearch unter Ubuntu 20.04

  5. So installieren Sie den Graylog-Server unter Ubuntu 16.04

So installieren Sie Graylog unter Debian 9

So installieren Sie Graylog unter Ubuntu 16.04 LTS

So installieren Sie Graylog unter Ubuntu 18.04 LTS

So installieren Sie Graylog unter Ubuntu 20.04 LTS

So installieren Sie Go in Ubuntu 20.04

So installieren Sie Go unter Ubuntu 22.04