12.2 Installation und Konfiguration von Elasticsearch

Wenn Sie Ereignisse skalierbar und verteilt indexieren möchten, müssen Sie Elasticsearch im Cluster-Modus installieren. Der für Sentinel installierte Elasticsearch-Cluster darf nur zur Indexierung von Sentinel-Daten verwendet werden.

12.2.1 Voraussetzungen

Vor der Installation von Elasticsearch müssen folgende Voraussetzungen erfüllt sein:

  • Legen Sie den virtuellen Arbeitsspeicher fest, indem Sie in der Datei/etc/sysctl.conf die folgende Eigenschaft hinzufügen:

    vm.max_map_count=262144

  • Legen Sie die Dateideskriptoren fest, indem Sie in der Datei/etc/security/limits.conf die folgenden Eigenschaften hinzufügen:

    elasticsearch hard nofile 65536

    elasticsearch soft nofile 65536

    elasticsearch soft as unlimited

WICHTIG:Nachdem Sie die oben aufgeführten Voraussetzungen erfüllt haben, führen Sie den Befehl sysctl -p aus, um die an den Dateien vorgenommenen Änderungen neu zu laden.

12.2.2 Installation und Konfiguration von Elasticsearch

Installieren Sie Elasticsearch und die erforderlichen Plugins auf jedem Knoten im Elasticsearch-Cluster.

So installieren und konfigurieren Sie Elasticsearch:

  1. Installieren Sie die von Elasticsearch unterstützte JDK-Version.

  2. Laden Sie die zertifizierte Version des Elasticsearch-RPM-Pakets herunter. Weitere Informationen zur zertifizierten Version von Elasticsearch sowie die Download-URL finden Sie auf der Seite Technical Information for Sentinel (Technische Informationen zu Sentinel).

  3. Installieren Sie Elasticsearch:

    rpm -i elasticsearch-<Version>.rpm

  4. Führen Sie die Aufgaben wie auf dem Bildschirm mit der RPM-Installations-Nachbereitungsliste angegeben aus.

  5. Stellen Sie mithilfe von folgendem Befehl sicher, dass der Elasticsearch-Benutzer auf Java zugreifen kann:

    sudo -u elasticsearch java -version

  6. Konfigurieren Sie die Datei /etc/elasticsearch/elasticsearch.yml, indem Sie die folgenden Informationen aktualisieren oder ergänzen:

    Eigenschaft und Wert

    Anmerkungen

    cluster.name: <Elasticsearch-Cluster-Name>

    Der von Ihnen gewählte Cluster-Name muss für alle Knoten derselbe sein.

    node.name: <Knotenname>

    Jeder Knoten muss einen eindeutigen Namen erhalten.

    network.host: _<Netzwerkschnittstelle>:ipv4_

     

    discovery.zen.ping.unicast.hosts: ["<FQDN des Elasticsearch-Knotens 1>", "<FQDN des Elasticsearch-Knotens 2>" und so weiter"]

     

    thread_pool.bulk.queue_size: 300

     

    thread_pool.search.queue_size: 10000

    Sobald die Suchwarteschlange den Grenzwert erreicht, verwirft Elasticsearch alle in der Warteschlange befindlichen ausstehenden Suchanforderungen.

    Mittels folgender Methode können Sie berechnen, um wie viel Sie die Suchwarteschlange eventuell verlängern müssen: threadpool.search.queue_size = durchschnittliche Anzahl an Widget-Anfoderungen pro Benutzer für ein Dashboard x Anzahl der Shards (Pro-Tag-Index) x Anzahl der Tage (Suchdauer)

    index.codec: best_compression 

     

    path.data: ["/<es1>", "/<es2>"]

    Um die Datenträger-E/A-Latenz zu reduzieren, können Sie Daten auf mehrere voneinander unabhängige Datenträger oder Speicherorte verteilen.

    Konfigurieren Sie mehrere Pfade zum Speichern von Elasticsearch-Daten, z. B. /es1, /es2 und so weiter.

    Die besten Ergebnisse bezüglich Leistung und Verwaltbarkeit erhalten Sie, wenn Sie jeden Pfad einem separaten physischen Datenträger (JBOD) zuordnen.

  7. Aktualisieren Sie die standardmäßige Heap-Größe für Elasticsearch in der Datei /etc/elasticsearch/jvm.options.

    Die Heap-Größe muss 50 % des Server-Arbeitsspeichers betragen. Beispiel: In einem 24-GB-Elasticsearch-Knoten bedeutet dies, dass eine Heap-Größe von 12 GB optimale Leistung verspricht.

  8. Starten Sie Elasticsearch:

    /etc/init.d/elasticsearch start

  9. Wiederholen Sie jeden dieser Schritte auf jedem Knoten im Elasticsearch-Cluster.