GNU/Linux >> LINUX-Kenntnisse >  >> Debian

So überwachen Sie Protokolldateien mit Graylog2 unter Debian 9

Graylog ist ein kostenloses Open-Source-Protokollverwaltungstool, das auf Java, Elasticsearch und MongoDB basiert und zum Sammeln, Indizieren und Analysieren von Serverprotokollen von einem zentralen Ort aus verwendet werden kann. Sie können die SSH-Anmeldungen und ungewöhnliche Aktivitäten zum Debuggen von Anwendungen und Protokollen mit Graylog einfach überwachen. Graylog bietet eine leistungsstarke Abfragesprache, Warnfunktionen, eine Verarbeitungspipeline für die Datentransformation und vieles mehr. Sie können die Funktionalität von Graylog über eine REST-API und Add-ons erweitern.

Graylog besteht aus drei Komponenten:

  1. Elasticsearch:Es speichert alle eingehenden Nachrichten und bietet eine Suchfunktion.
  2. MongoDB:Es wird für die Datenbank verwendet, speichert die Konfigurationen und Metainformationen.
  3. Graylog-Server:Er empfängt und verarbeitet Nachrichten von verschiedenen Eingängen und bietet eine Webschnittstelle für Analyse und Überwachung.

In diesem Tutorial erklären wir, wie man Graylog2 auf Debian 9 Server installiert.

Voraussetzung

  • Ein Server mit Debian 9.
  • Mindestens 4 GB RAM.
  • Eine statische IP-Adresse 192.168.0.187, die auf Ihrem Server eingerichtet ist.

1 Erforderliche Pakete installieren

Bevor Sie beginnen, müssen Sie Java 8 und andere erforderliche Pakete auf Ihrem System installieren. Nicht alle erforderlichen Pakete sind im Standard-Repository von Debian 9 verfügbar, daher müssen Sie Debian Backports zur Liste der Paketquellen hinzufügen. Melden Sie sich zuerst mit dem Root-Benutzer an und erstellen Sie eine backport.list-Datei:

nano /etc/apt/sources.list.d/backport.list

Fügen Sie die folgende Zeile hinzu:

deb http://ftp.debian.org/debian stretch-backports main

Speichern Sie die Datei, wenn Sie fertig sind, und aktualisieren Sie dann Ihr System mit dem folgenden Befehl:

apt-get update -y
apt-get upgrade -y

Sobald Ihr System auf dem neuesten Stand ist, installieren Sie alle Pakete mit dem folgenden Befehl:

apt-get install apt-transport-https openjdk-8-jre-headless uuid-runtime pwgen -y

Sobald alle erforderlichen Pakete installiert sind, können Sie mit der Installation von MongoDB fortfahren.

2 Installieren Sie MongoDB

MongoDB ist erforderlich, um die Konfigurations- und Metainformationen zu speichern. MongoDB ist im Standard-Repository von Debian 9 verfügbar, sodass Sie MongoDB installieren können, indem Sie einfach den folgenden Befehl ausführen:

apt-get install mongodb-server -y

Sobald MongoDB installiert ist, können Sie mit der Installation von Elasticsearch fortfahren.

3 Installieren Sie Elasticsearch

Elasticsearch fungiert als Suchserver, der alle vom Graylog-Server gesendeten Protokolle speichert und die Nachrichten anzeigt, wann immer Sie es anfordern. Elasticsearch ist im Standard-Repository von Debian 9 nicht verfügbar. Sie müssen das Elasticsearch-Repository zur Debian-Paketquelle hinzufügen.

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

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

Erstellen Sie als Nächstes eine Elasticsearch-Repository-Datei mit dem folgenden Befehl:

nano /etc/apt/sources.list.d/elasticsearch.list

Fügen Sie die folgende Zeile hinzu:

deb https://packages.elastic.co/elasticsearch/2.x/debian stable main

Speichern Sie die Datei, wenn Sie fertig sind, und aktualisieren Sie dann das Repository, indem Sie den folgenden Befehl ausführen:

apt-get update -y

Installieren Sie als Nächstes Elasticsearch, indem Sie den folgenden Befehl ausführen:

apt-get install elasticsearch -y

Sobald Elasticsearch installiert ist, müssen Sie die Hauptkonfigurationsdatei von Elasticsearch ändern:

nano /etc/elasticsearch/elasticsearch.yml

Nehmen Sie die folgenden Änderungen vor:

cluster.name:greylognetwork.host:192.168.0.187discovery.zen.ping.timeout:10sdiscovery.zen.ping.multicast.enabled:falsediscovery.zen.ping.unicast.hosts:["192.168.0.187:9300" ]

Speichern und schließen Sie die Datei, wenn Sie fertig sind, starten Sie dann den Elasticsearch-Dienst und aktivieren Sie ihn für den Start beim Booten:

systemctl startet elastische Suche
systemctl aktiviert elastische Suche

Führen Sie nach einigen Sekunden Folgendes aus, um zu testen, ob Elasticsearch ordnungsgemäß ausgeführt wird:

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

Stellen Sie sicher, dass die Ausgabe den Clusterstatus als „grün“ anzeigt:

{ „cluster_name“ :„graylog“, „status“ :„green“, „timed_out“ :false, „number_of_nodes“ :1, „number_of_data_nodes“ :1, „active_primary_shards“ :1, „active_shards“ :1, „relocating_shards“ :0, „initializing_shards“ :0, „unassigned_shards“ :1, „delayed_unassigned_shards“ :0, „number_of_pending_tasks“ :0, „number_of_in_flight_fetch“ :0, „task_max_waiting_in_queue_millis“ :0, „5_cent“ 5_cent. vor> 

Sobald Elasticsearch installiert ist und einwandfrei funktioniert, können Sie mit dem nächsten Schritt fortfahren.

4 Graylog installieren

Graylog ist im Standard-Repository von Debian 9 nicht verfügbar, daher müssen Sie zuerst das Graylog 2-Repository herunterladen und installieren. Sie können dies tun, indem Sie den folgenden Befehl ausführen:

wget https://packages.graylog2.org/repo/packages/graylog-2.2-repository_latest.deb
dpkg -i greylog-2.2-repository_latest.deb

Sobald das Repository installiert ist, aktualisieren Sie das Repository und installieren Sie den Graylog-Server mit dem folgenden Befehl:

apt-get update -y
apt-get install Graylog-Server -y

Nach der Installation von Graylog müssen Sie ein Geheimnis festlegen, um die Benutzerpasswörter zu sichern, und außerdem ein Hash-Passwort (sha256) für den Root-Benutzer festlegen.

Generieren Sie zuerst password_secret mit dem folgenden Befehl:

pwgen -N 1 -s 96

Sie sollten die folgende Ausgabe sehen:

TRXbNPoW4gGC8BN8Gzl4wH3jtfLoi06WCJqia18UtYyPaNLx4r8U7jUPRlIJHoGGxrCjZVqAvW2DcueI6N1zHoy2bKEWLyyC

Generieren Sie als Nächstes mit dem folgenden Befehl ein Hash-Passwort für den Root-Benutzer:

echo -n ihradminpasswort | sha256sum

Sie sollten die folgende Ausgabe sehen:

e3c5925aa22abdfa18cf197a7b218fcad31acb6409d2e2dbebae807d3a9750ee

Hinweis:Merken Sie sich beide Passwortschlüssel, da beide Schlüssel in der server.conf konfiguriert werden müssen.

Als nächstes müssen Sie die Hauptkonfigurationsdatei des Graylog-Servers ändern, die sich im Verzeichnis /etc/graylog/server/ befindet:

nano /etc/graylog/server/server.conf

Nehmen Sie die folgenden Änderungen vor:

is_master =truenode_id_file =/etc/graylog/server/node-id########past-your-password-secret-here##########password_secret =TRXbNPoW4gGC8BN8Gzl4wH3jtfLoi06WCJqia18UtYyPaNLx4r8U7jUPRlIJHoGGxrCjZWLVqAvW2DcueI6admin_root##NKEzHoeI6admin_root##NKEzHoeI6 #####past-your-root-hash-password-here##########root_password_sha2 =e3c5925aa22abdfa18cf197a7b218fcad31acb6409d2e2dbebae807d3a9750eeroot_timezone =UTCplugin_dir =/usr/share/graylog-server/pluginrest_listen_uri =http://0.0.0.0 :9000 / api / rest_enable_cors =trueweb_listen_uri =http://0.0.0.0:9000/rotation_strategy =countelasticsearch_max_docs_per_index =20000000elasticsearch_max_number_of_indices =7retention_strategy =deleteelasticsearch_shards =4elasticsearch_replicas =1elasticsearch_index_prefix =graylogallow_leading_wildcard_searches =trueallow_highlighting =falseelasticsearch_cluster_name =graylogelasticsearch_discovery_zen_ping_unicast_hosts =192.168.0.187:9300elasticsearch_http_enabled =falseelasticsearch_network_host =0,0 . 00elasticsearch_discovery_initial_state_timeout =3selasticsearch_analyzer =standardoutput_batch_size =500output_flush_interval =1output_fault_count_threshold =5output_fault_penalty_seconds =30processbuffer_processors =5outputbuffer_processors =3processor_wait_strategy =blockingring_size =65536inputbuffer_ring_size =65536inputbuffer_processors =2inputbuffer_wait_strategy =blockingmessage_journal_enabled =truemessage_journal_dir =/ var / lib / graylog-server / journalasync_eventbus_processors =2lb_recognition_period_seconds =3alert_check_interval =60mongodb_uri =mongodb:/ /localhost/graylogmongodb_max_connections =1000mongodb_threads_allowed_to_block_multiplier =5content_packs_dir =/usr/share/graylog-server/contentpackscontent_packs_auto_load =grok-patterns.jsonproxyed_requests_thread_pool_size =32

Speichern und schließen Sie die Datei, wenn Sie fertig sind, starten Sie dann den Graylog-Dienst und aktivieren Sie ihn für den Start beim Booten:

systemctl startet Graylog-Server
systemctl aktiviert Graylog-Server

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

5 Firewall konfigurieren

Standardmäßig lauscht die Graylog-Weboberfläche auf Port 9000, daher müssen Sie Port 9000 durch die UFW-Firewall zulassen. Die UFW-Firewall ist in Debian 9 nicht installiert. Sie müssen sie also zuerst installieren. Sie können es installieren, indem Sie den folgenden Befehl ausführen:

apt-get install ufw -y

Sobald UFW installiert ist, aktivieren Sie es, indem Sie den folgenden Befehl ausführen:

ufw aktivieren

Lassen Sie als Nächstes Port 9000 durch die UFW-Firewall zu, indem Sie den folgenden Befehl ausführen:

ufw erlaubt 9000

Sie können den Status der UFW-Firewall jederzeit überprüfen, indem Sie den folgenden Befehl ausführen.

ufw-Status

Sobald die Firewall konfiguriert ist, können Sie mit dem nächsten Schritt fortfahren.

6 Greifen Sie auf die Graylog-Weboberfläche zu

Die Graylog-Weboberfläche überwacht Port 9000. Öffnen Sie nun Ihren Webbrowser und geben Sie die URL http://192.168.0.187:9000 ein , sollten Sie den folgenden Bildschirm sehen:

Melden Sie sich mit dem Benutzernamen "admin an " und das Passwort, das Sie unter root_password_sha2 auf server.conf konfiguriert haben. Sie sollten den folgenden Bildschirm sehen:

Als nächstes müssen Sie die Eingabe hinzufügen, um die Syslog-Nachricht mit UDP zu erhalten. Um die Eingabe hinzuzufügen, klicken Sie auf System -> wählen Sie Eingaben -> Syslog UDP -> klicken Sie auf die Schaltfläche Neue Eingabe starten, Sie sollten den folgenden Bildschirm sehen:

Füllen Sie alle Details wie Titel, Hafen, Bindungsadresse aus und klicken Sie schließlich auf die Schaltfläche Speichern, Sie sollten den folgenden Bildschirm sehen:

Jetzt empfängt der Graylog-Server die Systemprotokolle über den Port 8514 vom Client oder Server.

Auf dem Client-System müssen Sie rsyslog so konfigurieren, dass es die Systemprotokollmeldungen an den Graylog-Server sendet. Sie können dies tun, indem Sie die Datei rsyslog.conf bearbeiten:

nano /etc/rsyslog.conf

Fügen Sie die folgenden Zeilen hinzu:

# stellt UDP-Syslog-Empfang bereit$ModLoad imudp$UDPServerRun 8514$template GRAYLOGRFC5424,"%protocol-version% %timestamp:::date-rfc3339% %HOSTNAME% %app-name% %procid% %msg%\n" *.* @192.168.0.187:8514;GRAYLOGRFC5424

Speichern Sie die Datei und starten Sie den rsyslog-Dienst neu, um diese Änderungen zu übernehmen:

systemctl startet rsyslog neu

Als nächstes klicken Sie auf dem Graylog-Server auf "Graylog-Quellen", Sie können das ssh-Protokoll mit fehlgeschlagenen Anmeldeversuchen im folgenden Bildschirm sehen.

Schlussfolgerung

Herzliche Glückwünsche! Sie haben den Graylog-Server erfolgreich auf Debian 9 installiert und konfiguriert. Sie können jetzt ganz einfach die Protokolle und die Analyse der Systemprotokolle von der zentralen Stelle aus einsehen. Sie können Graylog auch anpassen und je nach Bedarf eine andere Art von Protokollen senden. Weitere Informationen finden Sie auf der Graylog-Dokumentationsseite http://docs.graylog.org/en/2.2/pages/getting_started.html. Fühlen Sie sich frei, mich zu kommentieren, wenn Sie Fragen haben.


Debian
  1. So installieren Sie Elasticsearch unter Debian Linux

  2. So installieren Sie Steam mit Steam Play unter Debian 10 Buster

  3. So installieren Sie Graylog2 unter Ubuntu 14.04

  4. So installieren Sie Graylog2 unter Ubuntu 15.04 / 14.10

  5. So installieren Sie WonderCMS mit Nginx unter Debian 11

So installieren Sie Debian 11 (Bullseye) mit Screenshots

So installieren Sie Itch mit Debian 11

So installieren Sie Elasticsearch auf Debian 11 Bullseye

So installieren Sie Graylog unter Debian 9

So installieren Sie Elasticsearch unter Debian 11

So installieren Sie phpMyAdmin mit Nginx unter Debian 11