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

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

Graylog (früher bekannt als Graylog2) ist eine Open-Source-Protokollverwaltungsplattform, die Ihnen hilft, alle Maschinenprotokolle an einem zentralen Ort zu sammeln, zu indizieren und zu analysieren. Dieses Handbuch hilft Ihnen bei der Installation von Graylog2 unter CentOS 7 / RHEL 7 mithilfe des Quellcodes und konzentriert sich auch auf die Installation von vier weiteren Komponenten, die Graylog2 zu einem leistungsstarken Tool zur vollständigen Protokollverwaltung machen.

Dieses Tutorial ist für eine veraltete Version von Graylog2. Eine neue Version ist hier verfügbar:How To Install Graylog on CentOS 7 / RHEL 7.

Wir können Graylog auf zwei Arten installieren,

1. Durch die Verwendung des Quellpakets.

2. Durch die Verwendung offizieller Binärpakete (empfohlen).

In diesem Tutorial zeige ich die Graylog-Installation mit source.

Komponenten:

1. MongoDB – Speichert die Konfigurationen und Metainformationen.

2. Elasticsearch – Speichert die Log-Meldungen und bietet eine Suchfunktion, Nodes sollten viel Arbeitsspeicher haben, da hier alle I/O-Operationen stattfinden.

3. GrayLog – Log-Parser, sammelt die Logs von verschiedenen Eingaben.

4. GrayLog Webinterface =stellt Ihnen das webbasierte Portal zur Verwaltung der Logs zur Verfügung.

Voraussetzungen:

1. Da Elasticsearch auf Java basiert, müssten wir entweder openJDK oder Oracle JDK installieren. Es wird empfohlen, Oracle JDK zu installieren und die Java-Version mit dem folgenden Befehl zu überprüfen.

# java -version

java version "1.8.0_11"
Java(TM) SE Runtime Environment (build 1.8.0_11-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.11-b03, mixed mode)

2. Konfigurieren Sie das EPEL-Repository auf CentOS 7 / RHEL 7.

Elasticsearch installieren:

Elasticsearch ist ein Open-Source-Suchserver, der eine verteilte Suche und Analyse in Echtzeit mit einer RESTful-Webschnittstelle bietet. Elasticsearch speichert alle vom Graylog-Server gesendeten Protokolle und zeigt die Meldungen an, wenn die Graylog-Webschnittstelle eine vollständige Benutzeranfrage über die Webschnittstelle anfordert. Dieses Thema behandelt Konfigurationseinstellungen, die für Graylog erforderlich sind. Eine detaillierte Anleitung finden Sie auch unter Install Elasticsearch on CentOS 7 / Ubuntu 14.10 / Linux Mint 17.1.

Lassen Sie uns Elasticsearch installieren, es kann von der offiziellen Website heruntergeladen werden. Sie können den folgenden Befehl verwenden, um es über das Terminal herunterzuladen und zu installieren.

# wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.4.4.noarch.rpm

# rpm -Uvh elasticsearch-1.4.4.noarch.rpm

Konfigurieren Sie Elasticsearch so, dass es während des Systemstarts gestartet wird.

# systemctl daemon-reload
# systemctl enable elasticsearch.service

Wichtig ist nur, einen Clusternamen als „graylog2“ festzulegen “, die von Graylog verwendet wird. Bearbeiten Sie nun die Konfigurationsdatei von Elasticsearch.

# vi /etc/elasticsearch/elasticsearch.yml

cluster.name: graylog2

Deaktivieren Sie dynamische Skripte, um eine Remote-Ausführung zu vermeiden. Dies kann durch Hinzufügen der folgenden Zeile am Ende der obigen Datei erfolgen.

script.disable_dynamic: true

Sobald es fertig ist, können wir loslegen. Starten Sie vorher die Elasticsearch-Dienste neu, um die geänderte Konfiguration zu laden.

# systemctl restart elasticsearch.service

Warten Sie mindestens eine Minute, damit Elasticsearch vollständig neu gestartet werden kann, andernfalls schlägt der Test fehl. Elastisearch sollte jetzt auf 9200 für die Verarbeitung der HTTP-Anfrage lauschen, wir können CURL verwenden, um die Antwort zu erhalten. Stellen Sie sicher, dass der Clustername als „graylog2“ zurückgegeben wird ”

# curl -X GET http://localhost:9200

{
"status" : 200,
"name" : "Sinister",
"cluster_name" : "graylog2",
"version" : {
"number" : "1.4.4",
"build_hash" : "c88f77ffc81301dfa9dfd81ca2232f09588bd512",
"build_timestamp" : "2015-02-19T13:05:36Z",
"build_snapshot" : false,
"lucene_version" : "4.10.3"
},
"tagline" : "You Know, for Search"

Optional: Verwenden Sie den folgenden Befehl, um den Status des Elasticsearch-Clusters zu überprüfen. Sie müssen einen Clusterstatus als „grün“ erhalten, damit Graylog funktioniert.

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

{
"cluster_name" : "graylog2",
"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
}

Installieren Sie MongoDB:

MongoDB ist im RPM-Format verfügbar und kann von der offiziellen Website heruntergeladen werden. Fügen Sie die folgenden Repository-Informationen auf dem System hinzu, um MongoDB mit yum.

zu installieren
# vi /etc/yum.repos.d/mongodb-org-3.0.repo

[mongodb-org-3.0]
name=MongoDB Repository
baseurl=http://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.0/x86_64/
gpgcheck=0
enabled=1

Installieren Sie MongoDB mit dem folgenden Befehl.

# yum install -y mongodb-org

Führen Sie den folgenden Befehl aus, um SELinux so zu konfigurieren, dass MongoDB gestartet werden kann.

# semanage port -a -t mongod_port_t -p tcp 27017

Wenn Sie SELinux nicht auf dem System verwenden, sollten Sie SELinux deaktivieren.

Starten Sie den MongoDB-Dienst und aktivieren Sie ihn so, dass er während des Systemstarts automatisch gestartet wird.

# service mongod start

# chkconfig mongod on

Die obigen Schritte reichen aus, um Graylog2 zu konfigurieren, die detaillierte Konfiguration finden Sie hier.

Installieren Sie Graylog2:

Der Graylog-Server akzeptiert und verarbeitet die Protokollmeldungen und erstellt auch die RESTAPI für die Anfragen, die von der Graylog-Webschnittstelle kommen. Laden Sie die neueste Version von Graylog von Graylog.org herunter, verwenden Sie den folgenden Befehl, um sie über das Terminal herunterzuladen.

# wget https://packages.graylog2.org/releases/graylog2-server/graylog-1.0.1.tgz

Extrahieren und verschieben Sie es nach /opt.

# tar -zxvf graylog-1.0.1.tgz

# mv graylog-1.0.1 /opt/graylog

Kopieren Sie die Beispielkonfigurationsdatei nach /etc/graylog/server, erstellen Sie das Verzeichnis, falls es nicht existiert.

# mkdir -p /etc/graylog/server

# cp /opt/graylog/graylog.conf.example /etc/graylog/server/server.conf

Bearbeiten Sie die server.conf-Datei.

# vi /etc/graylog/server/server.conf

Konfigurieren Sie die folgenden Variablen in der obigen Datei.

Legen Sie ein Geheimnis fest, um die Benutzerkennwörter zu sichern, verwenden Sie den folgenden Befehl, um ein Geheimnis zu generieren, verwenden Sie mindestens 64 Zeichen.

# pwgen -N 1 -s 96

5uxJaeL4vgP9uKQ1VFdbS5hpAXMXLq0KDvRgARmlI7oxKWQbH9tElSSKTzxmj4PUGlHIpOkoMMwjICYZubUGc9we5tY1FjLB

Wenn Sie die Meldung „pwgen:command not found“ erhalten “, verwenden Sie den folgenden Befehl, um pwgen zu installieren.

# yum -y install pwgen

Platzieren Sie das Geheimnis.

password_secret = 5uxJaeL4vgP9uKQ1VFdbS5hpAXMXLq0KDvRgARmlI7oxKWQbH9tElSSKTzxmj4PUGlHIpOkoMMwjICYZubUGc9we5tY1FjLB

Als nächstes muss ein Hash-Passwort für den Root-Benutzer festgelegt werden (nicht zu verwechseln mit dem Systembenutzer, der Root-Benutzer von Graylog ist admin). Sie verwenden dieses Passwort für die Anmeldung bei der Webschnittstelle, das Administratorpasswort kann nicht über die Webschnittstelle geändert werden, Sie müssen diese Variable bearbeiten, um sie festzulegen.

Ersetzen Sie „Ihr Passwort ” mit Ihrer Wahl.

# echo -n yourpassword | sha256sum

e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951

Geben Sie das Hash-Passwort ein.

root_password_sha2 = e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951

Graylog versucht, die Elasticsearch-Knoten automatisch zu finden, es verwendet dafür den Multicast-Modus. Aber wenn es um größere Netzwerke geht, wird empfohlen, den Unicast-Modus zu verwenden, der am besten für Produktions-Setups geeignet ist. Fügen Sie also die folgenden zwei Einträge zur Graylog-Datei server.conf hinzu, ersetzen Sie die IP-Adresse mit Live-Hostname oder IP-Adresse können mehrere Hosts durch Kommas getrennt hinzugefügt werden.

elasticsearch_http_enabled = false
elasticsearch_discovery_zen_ping_unicast_hosts = ipaddress:9300

Legen Sie nur einen Master-Knoten fest, indem Sie die folgende Variable definieren. Die Standardeinstellung ist wahr, Sie müssen sie auf falsch setzen, um den bestimmten Knoten als Slave zu machen. Der Master-Knoten führt einige periodische Aufgaben aus, die der Slave nicht ausführt.

is_master = true

Die folgende Variable legt die Anzahl der Protokollmeldungen fest, die pro Index aufbewahrt werden sollen. Es wird empfohlen, mehrere kleinere statt größere Indizes zu haben.

elasticsearch_max_docs_per_index = 20000000

Der folgende Parameter definiert die Gesamtzahl der Indizes, wenn diese Zahl erreicht wird, wird der alte Index gelöscht.

elasticsearch_max_number_of_indices = 20

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

elasticsearch_shards = 1

Die Anzahl der Replikate für Ihre Indizes, wenn Sie nur einen Knoten im Elasticsearch-Cluster haben; setzen Sie es auf 0.

elasticsearch_replicas = 0

Geben Sie Ihre MongoDB-Authentifizierungsinformationen ein.

# MongoDB Configuration
mongodb_useauth = false  #If this is set to false, you do not need to enter the authentication information
#mongodb_user = grayloguser
#mongodb_password = 123
mongodb_host = 127.0.0.1
#mongodb_replica_set = localhost:27017,localhost:27018,localhost:27019
mongodb_database = graylog2
mongodb_port = 27017

Starten Sie den Graylog-Server mit dem folgenden Befehl.

# /opt/graylog/bin/graylogctl start

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

# tailf /opt/graylog/log/graylog-server.log

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

2015-03-23 16:28:15,825 INFO : org.graylog2.shared.initializers.RestApiService - Started REST API at <http://127.0.0.1:12900/>
gestartet

Möglicherweise möchten Sie auch ein Init-Skript für den Graylog-Server konfigurieren.

Graylog-Webschnittstelle installieren:

Um das Graylog-Web-Interface zu konfigurieren, müssen Sie mindestens einen Graylog-Server-Knoten haben; dieselbe Versionsnummer herunterladen, um sicherzustellen, dass sie kompatibel ist

# wget https://packages.graylog2.org/releases/graylog2-web-interface/graylog-web-interface-1.0.1.tgz

Extrahieren Sie das Archiv und verschieben Sie es nach /opt.

# tar -zxvf graylog-web-interface-1.0.1.tgz
# mv graylog-web-interface-1.0.1 /opt/graylog-web-interface

Bearbeiten Sie die Konfigurationsdatei und legen Sie die folgenden Parameter fest.

# vi /opt/graylog-web-interface/conf/graylog-web-interface.conf

Dies ist die Liste der Graylog-Server-Knoten, Sie können mehrere Knoten hinzufügen, getrennt durch Kommas.

graylog2-server.uris="http://127.0.0.1:12900/"

Setzt den Anwendungsschlüssel und kann mit pwgen -N 1 -s 96 generiert werden.

application.secret="sNXyFf6B4Au3GqSlZwq7En86xp10JimdxxYiLtpptOejX6tIUpUE4DGRJOrcMj07wcK0wugPaapvzEzCYinEWj7BOtHXVl5Z"

Starten Sie das gralog-Webinterface im Hintergrund mit dem folgenden Befehl,

# nohup /opt/graylog-web-interface/bin/graylog-web-interface &

Sie können auch ein Init-Skript für das Graylog-Web-Interface konfigurieren.

Das Webinterface lauscht auf Port 9000. Richten Sie Ihren Browser darauf. Melden Sie sich mit dem Benutzernamen admin und dem Passwort an, das Sie unter root_password_sha2 konfiguriert haben aufserver.conf .

Konfigurieren Sie die Firewall so, dass Datenverkehr auf Port 9000 zugelassen wird.

firewall-cmd --permanent --zone=public --add-port=9000/tcp
firewall-cmd --reload

Sobald Sie sich angemeldet haben, erhalten Sie die folgende Suchseite.

Das ist alles!, Sie haben Graylog2 erfolgreich auf CentOS 7 / RHEL 7 installiert.

Dieses Tutorial ist für eine veraltete Version von Graylog2. Eine neue Version ist hier verfügbar:How To Install Graylog on CentOS 7 / RHEL 7.
Cent OS
  1. So installieren Sie Graylog2 unter CentOS 7 / RHEL 7 – Verwenden von Source

  2. So installieren Sie Elasticsearch, Logstash und Kibana 4 auf CentOS 7 / RHEL 7

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

  4. So installieren Sie Ruby 2.0.0 auf CentOS &RHEL 6 mit RVM

  5. So installieren Sie Elasticsearch auf CentOS/RHEL 8

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 3.0 unter CentOS 7 / RHEL 7

So installieren Sie Flameshot auf RHEL/CentOS mit Snapcraft

So installieren Sie Graylog unter CentOS 7