
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. Diese Anleitung hilft Ihnen bei der Installation von Graylog2 auf Ubuntu 14.04 und konzentriert sich auch auf die Installation von vier weiteren Komponenten, die Graylog2 zu einem leistungsstarken Tool zur vollständigen Protokollverwaltung machen.
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:
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_60" Java(TM) SE Runtime Environment (build 1.8.0_60-b27) Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)
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.
Laden Sie den GPG-Signaturschlüssel herunter und installieren Sie ihn.
$ sudo wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
Speichern Sie die Repository-Definition unter /etc/apt/sources.list.d/elasticsearch.list
$ echo "deb http://packages.elastic.co/elasticsearch/1.7/debian stable main" | sudo tee -a /etc/apt/sources.list.d/elasticsearch.list
Repository-Cache aktualisieren.
$ sudo apt-get update
Installieren Sie Elasticsearch.
$ sudo apt-get install elasticsearch
Konfigurieren Sie Elasticsearch so, dass es während des Systemstarts gestartet wird.
$ sudo update-rc.d elasticsearch defaults
Wichtig ist nur, einen Clusternamen als „graylog2“ festzulegen “, die von Graylog verwendet wird. Bearbeiten Sie nun die Konfigurationsdatei von Elasticsearch.
$ sudo nano /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.
$ sudo service elasticsearch restart
Warten Sie mindestens eine Minute, bis Elasticsearch vollständig neu gestartet wurde, 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" : "Pistol", "cluster_name" : "graylog2", "version" : { "number" : "1.7.1", "build_hash" : "b88f43fc40b0bcd7f173a1f9ee2e97816de80b19", "build_timestamp" : "2015-07-29T09:54:16Z", "build_snapshot" : false, "lucene_version" : "4.10.4" }, "tagline" : "You Know, for Search" }
Optional: Verwenden Sie den folgenden Befehl, um den Zustand 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, "delayed_unassigned_shards" : 0, "number_of_pending_tasks" : 0, "number_of_in_flight_fetch" : 0 }
Installieren Sie MongoDB:
MongoDB ist im dep-Format verfügbar und kann von der offiziellen Website heruntergeladen werden. Fügen Sie die folgenden Repository-Informationen zum System hinzu, um MongoDB zu installieren. Davor müssen wir den öffentlichen Schlüssel importieren.
$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
Fügen Sie das Repository hinzu, indem Sie die Listendatei /etc/apt/sources.list.d/mongodb-org-3.0.list mit dem Befehl erstellen.
$ echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list
Repository-Cache aktualisieren.
$ sudo apt-get update
Installieren Sie MongoDB mit dem folgenden Befehl.
$ sudo apt-get install mongodb-org
Starten Sie den MongoDB-Dienst und aktivieren Sie ihn so, dass er während des Systemstarts automatisch gestartet wird.
$ sudo service mongod start $ sudo update-rc.d mongod defaults
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 das Graylog2-Repository zu installieren.
$ wget https://packages.graylog2.org/repo/packages/graylog-1.2-repository-ubuntu14.04_latest.deb $ sudo dpkg -i graylog-1.2-repository-ubuntu14.04_latest.deb
Installieren Sie die https-Unterstützung und aktualisieren Sie den Repository-Cache.
$ sudo apt-get install apt-transport-https $ sudo apt-get update
Installieren Sie den Graylog-Server mit dem folgenden Befehl.
$ sudo apt-get install graylog-server
Bearbeiten Sie die server.conf-Datei.
$ sudo nano /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 OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gP
Wenn Sie die Meldung „pwgen:command not found“ erhalten “, verwenden Sie den folgenden Befehl, um pwgen zu installieren.
$ sudo apt-get install pwgen
Platzieren Sie das Geheimnis.
password_secret = OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gP
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
Sie können den Root-Benutzer (Admin) der E-Mail-Adresse einrichten.
root_email = "[email protected]"
Legen Sie die Zeitzone des Root-Benutzers (Admin) fest.
root_timezone = UTC
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 ipaddress mit Live-Hostname oder IP-Adresse. Mehrere Hosts können 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
Starten Sie den Graylog-Dienst neu.
$ sudo service graylog-server restart
Aktivieren Sie den automatischen Start des Graylog-Serverdienstes während des Systemstarts.
$ sudo update-rc.d graylog-server defaults
Sie können die Server-Startprotokolle überprüfen, es wird Ihnen bei der Fehlerbehebung bei Graylog nützlich sein, falls ein Problem auftritt.
# tailf /var/log/graylog-server/server.log
Bei erfolgreichem Start des Graylog-Servers sollten Sie folgende Meldung in der Logdatei erhalten.
2015-09-17T09:35:22.895+02:00 INFO [ServerBootstrap] Graylog server up and running.
Graylog-Webschnittstelle installieren:
Um das Graylog-Web-Interface zu konfigurieren, müssen Sie mindestens einen Graylog-Server-Knoten haben. Installieren Sie das Graylog-Webinterface mit „apt-get“.
$ sudo apt-get install graylog-web
Bearbeiten Sie die Konfigurationsdatei und legen Sie die folgenden Parameter fest.
$ sudo nano /etc/graylog/web/web.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"
Stellen Sie die Zeitzone der Webschnittstelle ein.
timezone="Europe/Berlin"
Starten Sie das gralog-Web-Interface mit dem folgenden Befehl neu,
$ sudo service graylog-web restart
Aktivieren Sie den automatischen Start des Webschnittstellendienstes während des Systemstarts.
$ sudo update-rc.d graylog-web defaults
Zugriff auf die Graylog-Weboberfläche:
Die Webschnittstelle lauscht auf Port 9000, verweisen Sie Ihren Browser auf http://ip-add-ress: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, erhalten Sie die folgende Suchseite.

Das ist alles!, Sie haben Graylog2 erfolgreich auf Ubuntu 14.04 installiert.