GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So installieren Sie Graylog 3.0 unter CentOS 7 / RHEL 7

Graylog ist ein Open-Source-Protokollverwaltungstool, mit dem Sie alle Maschinenprotokolle zentral sammeln, indizieren und analysieren können. Diese Anleitung hilft Ihnen bei der Installation von Graylog auf CentOS 7 / RHEL 7.

Komponenten

  1. MongoDB – Eine Datenbank zum Speichern der Konfigurationen und Metainformationen.
  2. Elasticsearch – Es 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.
  3. Graylog-Server – Dieser parst Protokolle, die aus verschiedenen Eingaben stammen, und bietet eine integrierte Webschnittstelle zur Handhabung dieser Protokolle.

Voraussetzungen

Stellen Sie sicher, dass Ihr System mit dem EPEL-Repository konfiguriert ist.

Installieren Sie die erforderlichen Pakete für die Graylog-Installation.

yum -y install wget pwgen

Für Elasticsearch muss Java auf dem Computer installiert sein. Installieren Sie also entweder OpenJDK oder Oracle JDK.

yum install -y java-1.8.0-openjdk-headless

Überprüfen Sie die Java-Version.

Java-Version

Ausgabe:

openjdk-Version „1.8.0_191“OpenJDK-Laufzeitumgebung (Build 1.8.0_191-b12)OpenJDK 64-Bit-Server-VM (Build 25.191-b12, gemischter Modus)

Elasticsearch installieren

Elasticsearch ist eine der wichtigen Komponenten im Graylog-Setup. Es speichert die Daten aus der Graylog-Eingabe und zeigt die Meldungen immer dann an, wenn eine Benutzeranfrage über die integrierte Graylog-Webschnittstelle gestellt wird.

Elasticsearch wird hier hauptsächlich verwendet, um die Daten/Protokolle zu indizieren und die Suchfunktion bereitzustellen, wenn die Graylog-Webschnittstelle Informationen anfordert.

Dieses Handbuch behandelt die grundlegende Konfiguration, die für Graylog erforderlich ist.

Importieren Sie den GPG-Signaturschlüssel vor der Installation.

rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

Erstellen Sie eine Repository-Datei, um die neueste Version des Elasticsearch-Pakets aus dem offiziellen Repository zu erhalten.

vi /etc/yum.repos.d/elasticsearch.repo

Fügen Sie den folgenden Inhalt der obigen Datei hinzu.

[elasticsearch-6.x]name=Elasticsearch-Repository für 6.x-Paketebaseurl=https://artifacts.elastic.co/packages/6.x/yumgpgcheck=1gpgkey=https://artifacts.elastic.co/ GPG-KEY-elasticsearchenabled=1autorefresh=1type=rpm-md

Installieren Sie nun das Elasticsearch-Paket mit dem Befehl yum.

yum install -y elasticsearch

Laden Sie den systemctl-Daemon neu und aktivieren Sie Elasticsearch, damit es beim Systemstart automatisch gestartet wird.

systemctl daemon-reloadsystemctl enable elasticsearch

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 

Starten Sie Elasticsearch neu.

systemctl startet Elasticsearch neu

Warten Sie eine Minute, bis Elasticsearch vollständig neu gestartet wurde. Elastisearch sollte jetzt 9200 für die 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" :"DF8QK3-", "cluster_name" :"graylog", "cluster_uuid" :"_wAgUfN9RJeQ0npCKBswVA", "version" :{ "number" :"6.6.0", "build_flavor" :"default “, „build_type“ :„rpm“, „build_hash“ :„a9861f4“, „build_date“ :„2019-01-24T11:27:09.439740Z“, „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"}

Führen Sie eine Zustandsprüfung des Elasticsearch-Clusters durch.

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

Stellen Sie sicher, dass der Clusterstatus grün ist .

{ „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, „peractive_shards“ 0,0_cent. vor> 

Installieren Sie MongoDB

MongoDB fungiert als Datenbank zum Speichern der Konfigurationen und Metainformationen. Wir werden das offizielle Repository von MongoDB verwenden, um die neueste Version von MongoDB zu erhalten.

vi /etc/yum.repos.d/mongodb-org-4.0.repo

Fügen Sie der obigen Datei Repository-Informationen hinzu.

[mongodb-org-4.0]name=MongoDB Repositorybaseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/gpgcheck=1enabled=1gpgkey=https:// www.mongodb.org/static/pgp/server-4.0.asc

Installieren Sie die Community Edition von MongoDB mit dem folgenden Befehl.

yum install -y mongodb-org

Starten Sie den MongoDB-Dienst und aktivieren Sie ihn beim Systemstart.

systemctl startet mongodsystemctl aktiviert mongod

Graylog installieren

Der Graylog-Server akzeptiert und verarbeitet die Protokollmeldungen, die von den verschiedenen Eingängen kommen, zeigt Daten zu Anfragen an, die von der Graylog-Weboberfläche kommen.

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

rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-3.0-repository_latest.rpm

Installieren Sie den Graylog-Server mit dem folgenden Befehl.

yum -y installiere den 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:

OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gP

Platzieren Sie das Geheimnis wie unten in server.conf

password_secret = OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gP 

Legen Sie das Hash-Passwort für den Root-Benutzer fest, d. h. den Administrator von Graylog. Sie benötigen dieses Passwort, um sich im Graylog-Web anzumelden.

Wenn Sie jemals das vergessene Passwort von admin ändern/zurücksetzen möchten, können Sie die server.conf bearbeiten/aktualisieren mit einem gehashten Passwort.

Generieren Sie mit dem folgenden Befehl ein Hash-Passwort. Ersetzen Sie IhrPasswort mit Ihrer Wahl.

echo -n IhrPasswort | sha256sum

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 

Legen Sie nur einen Master-Knoten fest, indem Sie die folgende Variable definieren, die Standardeinstellung ist wahr.

Wenn dieser Server Ihr zweiter Graylog-Knoten in Ihrer Umgebung ist, setzen Sie ihn auf „false“, um diesen Knoten als Slave zu machen. Der Master-Knoten führt einige periodische Aufgaben aus, 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, mehrere kleinere Indizes anstelle von größeren zu haben.

elasticsearch_max_docs_per_index =20000000 

Der folgende Parameter definiert eine Gesamtzahl von Indizes. Ist diese Zahl erreicht, 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 

Dies 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 installieren

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.1.10 durch Ihre System-IP-Adresse.

http_bind_address =192.168.1.10 :9000

Starten Sie den Graylog-Dienst neu.

systemctl-Daemon-reloadsystemctl-Neustart des Graylog-Servers

Lassen Sie den Graylog-Server beim Systemstart automatisch starten.

systemctl aktiviert Graylog-Server

Sie können die Startprotokolle des Servers überprüfen; Es ist hilfreich für Sie, Graylog bei Problemen zu beheben.

tailf /var/log/graylog-server/server.log

Wenn alles gut geht, sollten Sie die folgende Meldung in der server.log-Datei sehen.

2019-02-25T21:00:23.157+05:30 INFO [ServerBootstrap] Graylog-Server läuft.

Firewall

In CentOS 7 / RHEL 7 sind Firewall-Regeln so eingestellt, dass sie standardmäßig den größten Teil des Datenverkehrs blockieren, der von externen Computern kommt. Sie müssten Zulassungsregeln hinzufügen, damit Graylog korrekt funktioniert.

firewall-cmd --permanent --add-port=9000/tcp

Firewalld neu laden, um die neuen Regeln zu übernehmen.

firewall-cmd --reload

Greifen Sie auf die Graylog-Weboberfläche zu

Die Webschnittstelle lauscht nun auf Port 9000. Richten 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 auf server.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 514 ein.

Aber es gibt ein Problem. Wenn Sie versuchen, eine Eingabe an einem der privilegierten Ports, einer beliebigen TCP/UDP-Portnummer unter 1024, vorzunehmen, wird in den Graylog-Protokollen der Fehler „Berechtigung verweigert“ angezeigt.

Um das Problem zu lösen, erstellen wir eine Eingabe, die auf Port 1514 beginnt, und leiten den Datenverkehr von 514 auf 1514 mit Firewall-Regeln um.

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

Füllen Sie die unten angezeigten Werte aus.

Knoten: Wählen Sie Ihren Graylog-Knoten aus

Titel: Benennen Sie Ihre Eingabe

Bindungsadresse: 0.0.0.0 (Standardeinstellung beibehalten)

Port: 1514

Stellen Sie sicher, dass sich die erstellte Syslog-Eingabe im Ausführungsstatus befindet.

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.

vi /etc/rsyslog.conf

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

Wenn Sie UDP 514 nicht verwenden möchten und Protokolle direkt an UDP 1514 von Graylog senden möchten, können Sie die Portnummer in der Rsyslog-Konfigurationsdatei
*.info;mail.none;authpriv.none;cron ändern. keine @192.168.1.10:514

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

systemctl startet rsyslog neu

Firewall

Konfigurieren Sie die Firewall basierend auf der Rsyslog-Konfiguration, die Sie im vorherigen Schritt vorgenommen haben.

Port 514

Führen Sie die folgenden Befehle auf dem Graylog-Server aus, um den Datenverkehr, der auf Port UDP 514 kommt, an UDP 1514 der Graylog-Eingabe umzuleiten.

firewall-cmd --add-masquerade --permanentfirewall-cmd --add-forward-port=port=514:proto=udp:toport=1514 --permanentfirewall-cmd --reload

Port 1514

Führen Sie die folgenden Befehle auf dem Graylog-Server aus, damit die Portnummer UDP 1514 auf der Firewall Protokolle von Rsyslog empfangen kann.

firewall-cmd --permanent --add-port=1514/udpfirewall-cmd --reload

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 CentOS 7 / RHEL 7 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.


Cent OS
  1. So installieren Sie phpMyAdmin auf RHEL 8 / CentOS 8

  2. So installieren Sie Graylog2 unter CentOS 7 / RHEL 7 – Verwenden von Source

  3. So installieren Sie Graylog2 unter CentOS 7 / RHEL 7

  4. So installieren Sie Elasticsearch unter CentOS 8 / RHEL 8

  5. So installieren Sie Elasticsearch auf CentOS/RHEL 8

So installieren Sie mongodb auf RHEL 8 / CentOS 8

So installieren Sie Elasticsearch auf CentOS 7

So installieren Sie Elasticsearch auf CentOS 8

So installieren Sie Graylog mit Elasticsearch unter CentOS 8

So installieren Sie Graylog unter CentOS 8 / RHEL 8

So installieren Sie Graylog unter CentOS 7