Administratoren sind oft mit sich wiederholenden Abläufen beschäftigt, die sich leicht automatisieren lassen. Damit bleibt Zeit für wichtigere Aufgaben und ... (mehr)

Installation des Logging-Servers Graylog

Nachdem wir die Komponenten, die Architektur und Hardwareanforderungen betrachtet haben, machen wir uns an die Installation des Graylog-Servers. Die nötigen Schritte umfassen dabei die manuelle Installation, indem wir die Komponenten als Pakete über entsprechende Repositories beziehen. In den VMs nutzen wir als Grundlage das Betriebssystem Debian 7 (Wheezy). Die folgenden Installationsschritte für "graylog-server" führen Sie in den VMs "graylog-ms" sowie "graylog-node1" durch:

$ wget https://packages.graylog2.org/repo/packages/graylog-1.0-repository-debian7_latest.deb
$ sudo dpkg -i graylog-1.0-repository-debian7_latest.deb
$ sudo apt-get install apt-transport-https
$ sudo apt-get update
$ sudo apt-get install graylogserver

Anschließend richten Sie die Datenbank MongoDB ein. Hierfür führen Sie die folgenden Befehle für die VMs "graylog-ms" sowie "graylog-node1" aus:

$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
$ sudo apt-get install lsb-release
$ echo "deb http://repo.mongodb.org/apt/debian "$(lsb_release-sc)"/mongodb-org/3.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list
$ sudo apt-get update
$ sudo apt-get install -y mongodb-org

Nun wenden wir uns der Komponente "ElasticSearch" zu, die Sie in den VMs "es-master" sowie "es-node1" mit dem nachfolgenden Befehl einrichten:

$ wget https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.5.2.deb
$ sudo dpkg -i elasticsearch-1.5.2.deb

Um Zugriff auf den Logging-Server zu erhalten, benötigen Sie noch das Webinterface. Dieses richten Sie in der VM "graylog-webinterface" ein:

$ wget https://packages.graylog2.org/repo/packages/graylog-1.0-repository-debian7_latest.deb
$ sudo dpkg -i graylog-1.0-repository-debian7_latest.deb
$ sudo apt-get install apt-transport-https
$ sudo apt-get update
$ sudo apt-get install graylog-web

Der Loadbalancer "Zen" ist als bereits vorgefertigte ISO-Datei zur Installation verfügbar. Mit dem Einbinden und Start der ISO erfolgt die Installation des Betriebssystems Debian 6 (Squeeze) und des Loadbalancers. Die erforderlichen Installationsschritte verlaufen dabei identisch zu einer Default-Installation des Betriebssystems "Debian" und sind in der offiziellen Dokumentation [3] verfügbar. Die ISO-Datei finden Sie unter [4].

Link-Codes

[1] Octopussy, Open Source Log Management Solution: http://www.octopussy.pm/

[2] Logstash: https://www.elastic.co/products/logstash/

[3] Zen Loadbalancer: http://www.zenloadbalancer.com/

[4] ISO-Datei des Loadbalancers ZEN: http://www.zenloadbalancer.com/community/downloads/

[5] Graylog Documentation: http://docs.graylog.org/en/1.0/index.html/

[6] NXLOG Community Edition: http://nxlog.org/docs/nxlog-ce/nxlog-reference-manual.html/

Graylog konfigurieren

Nachdem wir den Logging-Server installiert haben, geht es an die Konfiguration, die für das Zusammenspiel der Komponenten in unserem Beispiel erforderlich ist. Für die VM "graylog-ms" führen Sie folgende Änderungen in der Konfigurationsdatei »/etc/graylog/server/server.conf« durch:

- is_master = true: Die VM "graylog-ms" fungiert als Master. Setzen Sie mehrere Komponenten als "graylog-server" ein, darf nur ein System als Master konfiguriert sein.

- rest_listen_uri = http://graylog-ms:12900/: »URI des Interfaces« "REST API", das beim Einsatz eines Clusters erreichbar sein muss. Die Bezeichnung des Systems "graylog-ms" ist durch die entsprechende IP-Adresse des Systems zu ersetzen oder in der Konfigurationsdatei »/etc/hosts« festzulegen.

- password_secret = »komplexes Passwort« : erforderliches Passwort zur Verschlüsselung anderer Passwörter und zur Erstellung von zufälligen Zeichenfolgen (Salt). Der gesetzte Wert für "password_secret" muss auf allen Komponenten "graylog-server" identisch sein. Ein komplexes Passwort erstellen Sie beispielsweise mit dem Kommando »pwgen -N 1 -s 96.«

- root_password_sha2 = »SHA2-Hashwert« : Hashwert des Passworts für das Login über das Webinterface mit dem Benutzernamen "admin". Der Hashwert kann mit »echo -n MeinKomplexesPasswort | shasum -a 256« erstellt werden.

- elasticsearch_max_docs_per_index = 20000000: Anzahl an Logmeldungen, die pro Index aufbewahrt werden. Dieser Wert ist standardmäßig und bezieht sich auf die Komponente "ElasticSearch".

- elasticsearch_max_number_of_indices = 20: Gesamtanzahl der Indizes. Der Wert 20 ist Standard und bezieht sich auf die Komponente "ElasticSearch". Die Gesamtanzahl an möglichen Logmeldungen, die gespeichert werden können, errechnet sich aus der Multiplikation der Konfigurationsparameter "elastic-search_max_docs_per_index" und "elasticsearch_max_number_of_indices".

- elasticsearch_shards = 2: Die Gesamtanzahl von sogenannten "shards" – Aufteilung von Indizies auf Systeme mit der Komponente "ElasticSearch". Der Wert ist abhängig von der Anzahl der Komponenten "ElasticSearch".

- elasticsearch_replicas = 1: Die Gesamtanzahl an "Originalkopien" der Indizies. Der Wert des Konfigurationsparameters ist abhängig von der Komponente "ElasticSearch". Mit dem Wert "1" wird eine Kopie der gesamten Logmeldungen in der VM "es-master" sowie "es-node1" erstellt.

- mongodb_*: Für die Einbindung der Datenbank "MongoDB" sind folgende Konfigurationsparameter zu ändern:

mongodb_host = *IP-Adresse von "graylog-ms"*
mongodb_database = graylog2
mongodb_port = 27017

Die übrigen Konfigurationsparameter für "MongoDB" können Sie in der Default-Konfiguration belassen.

Nun wenden wir uns der VM "graylog-node1" zu. In ihr ändern Sie ebenfalls die Konfigurationsdatei »/etc/graylog/server/ server.conf« ab. Außer den beiden folgenden Konfigurationsparametern setzen Sie die übrigen analog zu den Werten für die Konfiguration der VM "graylog-ms":

- is_master = false

- rest_listen_uri = http://graylog-node1:12900/: »URI des Interfaces« "REST API", das beim Einsatz eines Clusters erreichbar sein muss. Die Bezeichnung des Systems "graylog-node1" ist durch die entsprechende IP-Adresse des Systems zu ersetzten oder in der Konfigurationsdatei »/etc/hosts« entsprechend festzulegen.

- mongodb_*: Für die Einbindung der Datenbank "MongoDB" sind folgende Konfigurationsparameter zu ändern:

mongodb_host = *IP-Adresse von "graylog-node1"*
mongodb_database = graylog2
mongodb_port = 27017

Die übrigen Konfigurationsparameter bezüglich der MongoDB belassen Sie in der Default-Konfiguration. Eine vollständige und detaillierte Beschreibung der einzelnen Konfigurationsparameter finden Sie in der offiziellen Dokumentation [5].

Ähnliche Artikel

comments powered by Disqus

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Google+

Ausgabe /2019