Überwachen von Log-Dateien mit Graylog2 auf Debian 9

Überwachen von Log-Dateien mit Graylog2 auf Debian 9

Es ist Teamarbeit, aber einfacher, angenehmer und produktiver.

Graylog ist eine freie und open Source-Log-Management-Tool basierend auf Java, Elasticsearch und MongoDB, die zur Erhebung, Index und analysieren jede Server-Log von einem zentralen Standort. Sie können ganz einfach überwachen die SSH-Logins und ungewöhnliche Aktivitäten für das Debuggen von Anwendungen und Protokolle mit Graylog. Graylog bietet eine leistungsfähige Abfragesprache, Alarmierung Fähigkeiten, eine Verarbeitungs-Pipeline für die Datenumwandlung und vieles mehr. Sie können die Funktionalität des Graylog durch eine REST-API und Add-ons erweitern..

Graylog setzt sich aus drei Komponenten:

  1. Elasticsearch: Es speichert alle eingehenden Nachrichten und bieten eine Suche Anlage.
  2. MongoDB: Es wird für die Datenbank verwendet., speichert die Konfigurationen und Meta-Informationen.
  3. Graylog Server: Es empfängt und verarbeitet die Nachrichten von den verschiedenen Eingängen und bieten eine Web-Schnittstelle für die Analyse und Überwachung.

In diesem tutorial, Wir erklären, wie Graylog2 auf Debian installieren 9 Server.

Voraussetzung

  • Ein Server unter Debian 9.
  • Mindestens 4 GB RAM.
  • Eine statische IP-Adresse 192.168.0.187 Installation auf Ihrem server.

1 Installieren der benötigten Pakete

Bevor Sie beginnen, Du musst Java installieren 8 und anderen benötigten Pakete auf Ihrem system. Nicht alle benötigten Pakete gibt es in Debian 9 Standard-repository, Also musst du die Liste der Paketquelle Debian Backports hinzufügen. Erste, mit Root-Benutzer anmelden und erstellen Sie eine backport.list-Datei:

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

Fügen Sie die folgende Zeile:

Deb http://ftp.debian.org/debian Jessie-Backports main

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

apt-Get Update -y
apt-Get Upgrade -y

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

apt-Get Install apt-Transport-Https Openjdk-8-Jre-kopflose Uuid-Runtime Pwgen -y

Sobald alle benötigten Pakete installiert sind, Sie können fortfahren, MongoDB installieren.

2 MongoDB installieren

MongoDB ist erforderlich, um die Konfiguration und die Meta-Informationen speichern. MongoDB gibt es in der Debian 9 Standard-repository, So können Sie MongoDB installieren, nur durch Ausführen des folgenden Befehls:

apt-Get Install Mongodb-Server - y

Sobald MongoDB installiert ist, Sie können fortfahren, Elasticsearch installieren.

3 Elasticsearch installieren

Elasticsearch Handlungen als Suchserver, die speichert alle Protokolle, die vom Graylog-Server gesendet wird und zeigt die Nachrichten, wenn Sie anfordern. Elasticsearch ist nicht verfügbar in der Debian 9 Standard-repository. Du musst die Debian Paketquelle Elasticsearch Repository hinzufügen.

Erste, herunter und fügen Sie den Elasticsearch GPG-Schlüssel mit dem folgenden Befehl:

Wget - qO – https://Packages.Elastic.Co/GPG-Key-Elasticsearch | APT-Key hinzufügen –

Nächste, Erstellen Sie eine Elasticsearch Repo-Datei mit dem folgenden Befehl:

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

Fügen Sie die folgende Zeile:

Deb https://packages.elastic.co/elasticsearch/2.x/debian Stable main

Speichern Sie die Datei, wenn Sie fertig sind, dann aktualisieren Sie das Repository durch Ausführen des folgenden Befehls:

apt-Get Update -y

Nächste, installieren Sie Elasticsearch durch Ausführen des folgenden Befehls:

apt-Get Install Elasticsearch -y

Wenn Elasticsearch installiert ist, Du musst die Hauptkonfigurationsdatei Elasticsearch zu ändern:

Nano /etc/elasticsearch/elasticsearch.yml

Die folgenden Änderungen vornehmen:

Cluster.Name: Graylog network.host: 192.168.0.187
discovery.zen.ping.timeout: 10s
discovery.zen.ping.multicast.enabled: false
discovery.zen.ping.unicast.hosts: ["192.168.0.187:9300"]

Speichern Sie und schließen Sie die Datei, wenn Sie fertig sind, dann starten Sie den Elasticsearch-Dienst und ermöglichen Sie es, beim Systemstart zu starten:

Systemctl Start elasticsearch
Systemctl aktivieren elasticsearch

Nach ein paar Sekunden, führen Sie Folgendes zu testen, dass Elasticsearch ordnungsgemäß ausgeführt wird:

Curl - XGET ' Http://192.168.0.187:9200/_cluster/Gesundheit? ziemlich = True’

Stellen Sie sicher, dass die Ausgabe zeigt den Cluster-Status als “Grün”:

{
  "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,
  "active_shards_percent_as_number" : 50.0
}

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

4 Graylog installieren

Graylog ist nicht verfügbar in der Debian 9 Standard-repository, so müssen Sie zum herunterladen und installieren Graylog 2 Repository erste. 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 Graylog-2,2-repository_latest.deb

Sobald das Repository installiert ist, Aktualisieren Sie das Repository und installieren Sie Graylog Server mit folgendem Befehl:

apt-Get Update -y
apt-Get Install Graylog-Server - y

Nach der Installation von Graylog, Du musst ein Geheimnis, das Passwort eines Benutzers zu sichern und auch ein Hash (sha256) Passwort für den Benutzer Root gesetzt.

Erste, generieren Sie Password_secret mit dem folgenden Befehl:

Pwgen -N 1 -s 96

Sie sollten die folgende Ausgabe angezeigt:

TRXbNPoW4gGC8BN8Gzl4wH3jtfLoi06WCJqia18UtYyPaNLx4r8U7jUPRlIJHoGGxrCjZVqAvW2DcueI6N1zHoy2bKEWLyyC

Nächste, generieren Sie Passwort-Hash für Root-Benutzer mit dem folgenden Befehl:

Echo - n Youradminpassword | sha256sum

Sie sollten die folgende Ausgabe angezeigt:

e3c5925aa22abdfa18cf197a7b218fcad31acb6409d2e2dbebae807d3a9750ee

Hinweis: Denken Sie daran, beide Passwort-Schlüssel, Da beide Schlüssel muss konfiguriert in der server.conf.

Nächste, Du musst die Graylog Server Hauptkonfigurationsdatei befindet sich in/Etc/Graylog/Server/Verzeichnis ändern:

Nano /etc/graylog/server/server.conf

Die folgenden Änderungen vornehmen:

Is_master = true Node_id_file = /etc/graylog/server/node-id ###past-Ihr-Passwort-Geheimnis-hier ### Password_secret = TRXbNPoW4gGC8BN8Gzl4wH3jtfLoi06WCJqia18UtYyPaNLx4r8U7jUPRlIJHoGGxrCjZVqAvW2DcueI6N1zHoy2bKEWLyyC Root_ Benutzername = Admin ###past-your-root-hash-password-here### root_password_sha2 = e3c5925aa22abdfa18cf197a7b218fcad31acb6409d2e2dbebae807d3a9750ee Root_timezone = UTC Plugin_dir = /usr/share/graylog-server/plugin Rest_listen_uri = Http://0.0.0.0:9000/api/Rest_enable_cors = true Web_listen_uri = Http://0.0.0.0:9000 / Rotation_strategy = Anzahl Elasticsearch_max_docs_per_index = 20000000
Elasticsearch_max_number_of_indices = 7
Retention_strategy = löschen Elasticsearch_shards = 4
Elasticsearch_replicas = 1
Elasticsearch_index_prefix = Graylog Allow_leading_wildcard_searches = true Allow_highlighting = false Elasticsearch_cluster_name = Graylog Elasticsearch_discovery_zen_ping_unicast_hosts = 192.168.0.187: 9300 Elasticsearch_http_enabled = false Elasticsearch_network_host = 0.0.00
Elasticsearch_discovery_initial_state_timeout = 3 s Elasticsearch_analyzer = standard Output_batch_size = 500
Output_flush_interval = 1
Output_fault_count_threshold = 5
Output_fault_penalty_seconds = 30
Processbuffer_processors = 5
Outputbuffer_processors = 3
Processor_wait_strategy = blockierende Ring_size = 65536
Inputbuffer_ring_size = 65536
Inputbuffer_processors = 2
Inputbuffer_wait_strategy = blockierende Message_journal_enabled = true Message_journal_dir = /var/lib/graylog-server/journal Async_eventbus_processors = 2
Lb_recognition_period_seconds = 3
Alert_check_interval = 60
Mongodb_uri = Mongodb://localhost/graylog Mongodb_max_connections = 1000
Mongodb_threads_allowed_to_block_multiplier = 5
Content_packs_dir = /usr/share/graylog-server/contentpacks Content_packs_auto_load = grok patterns.json Proxied_requests_thread_pool_size = 32

Speichern Sie und schließen Sie die Datei, wenn Sie fertig sind, dann starten Sie den Dienst Graylog und ermöglichen Sie es, beim Systemstart zu starten:

Systemctl Graylog-Server starten
Systemctl Graylog-Server aktivieren

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

5 Konfigurieren der Firewall

In der Standardeinstellung, Graylog-Web-Interface ist auf Port lauschen. 9000, Also musst du Port erlauben 9000 durch UFW firewall. UFW-Firewall ist nicht in Debian installiert. 9. Also musst du es zuerst installieren. Sie können installieren, indem Sie den folgenden Befehl ausführen:

apt-Get Install Ufw -y

Sobald UFW installiert ist, durch Ausführen des folgenden Befehls zu ermöglichen;

UFW aktivieren

Nächste, Port zu ermöglichen 9000 durch UFW Firewall durch Ausführen des folgenden Befehls:

UFW erlauben 9000

Sie können den Status der UFW Firewall jederzeit überprüfen durch Ausführen des folgenden Befehls.

UFW-status

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

6 Zugang-Graylog Web-Interface

Graylog-Web-Interface ist auf Port lauschen. 9000. Jetzt, Öffnen Sie den Webbrowser und geben Sie die URL http://192.168.0.187:9000, Sie sollten den folgenden Bildschirm sehen:

Graylog Interface

Loggen Sie sich mit Benutzernamen “Admin” und das Kennwort, das Sie am root_password_sha2 auf server.conf konfiguriert. Sie sollten den folgenden Bildschirm sehen:

Graylog erste Schritte

Nächste, Sie müssen die Eingabe, um die Verwendung des UDP Syslog Meldung hinzufügen. Die Eingabe hinzufügen, Klicken Sie auf System-> Wählen Sie Eingaben-> Syslog-UDP-> Klicken Sie auf die Schaltfläche Start neu ein-, Sie sollten den folgenden Bildschirm sehen:

Eingangsquelle in Graylog hinzufügen

Füllen Sie die Details wie Titel, Hafen, Binden Sie Adresse zu und schließlich klicken Sie auf Speichern, Sie sollten den folgenden Bildschirm sehen:

Protokollstufe Quelle

Jetzt erhalten die Graylog-Server die Systemprotokolle über den Anschluss 8514 vom Client oder server.

Auf dem Client-system, Du musst Rsyslog so konfigurieren, dass es die Protokolle Systemmeldungen an die Graylog-Server zu senden. Dies ist möglich, indem Sie die rsyslog.conf Datei bearbeiten:

Nano /etc/rsyslog.conf

Fügen Sie die folgenden Zeilen:

# stellt UDP Syslog Rezeption $ModLoad Imudp $UDPServerRun 8514
$Vorlage 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 Rsyslog Dienst um diese Änderungen zu übernehmen:

Systemctl Neustart rsyslog

Nächste, auf dem Graylog-Server klicken Sie auf die “Graylog Quellen” kann man die ssh einloggen mit fehlgeschlagener Anmeldeversuche auf dem folgenden Bildschirm.

Monitor Anmeldeversuche mit Graylog

Fazit

Herzlichen Glückwunsch! Sie haben erfolgreich installiert und konfiguriert Graylog Server auf Debian 9. Sie können nun leicht die Protokolle und die Analyse der Systemprotokolle von der zentralen Lage sehen. Sie können auch Graylog und senden Sie eine andere Art von Protokollen nach Ihrem Bedarf. Weitere Informationen erhalten Sie von der Graylog-Dokumentationsseite http://docs.graylog.org/en/2.2/pages/getting_started.html. Fühlen Sie sich frei, mich zu kommentieren, wenn Sie irgendwelche Fragen haben.

Quelle

Eine Antwort

  1. Nathaniel Simch de Morais

Hinterlasse eine Antwort