12.2 Installazione e configurazione di Elasticsearch

Per l'indicizzazione scalabile e distribuita degli eventi, è necessario installare Elasticsearch in modalità cluster. Il cluster di Elasticsearch che si installa per Sentinel deve essere utilizzato per indicizzare solo i dati di Sentinel.

12.2.1 Prerequisiti

Prima di installare Elasticsearch, effettuare le operazioni preliminari seguenti:

  • Impostare la memoria virtuale aggiungendo la proprietà seguente nel file /etc/sysctl.conf:

    vm.max_map_count=262144

  • Impostare i descrittori di file aggiungendo la proprietà seguente nel file /etc/security/limits.conf:

    elasticsearch hard nofile 65536

    elasticsearch soft nofile 65536

12.2.2 Installazione e configurazione di Elasticsearch

Installare i plug-in necessari in ciascun nodo del cluster di Elasticsearch.

Per installare e configurare Elasticsearch:

  1. Installare la versione di JDK supportata da Elasticsearch.

  2. Effettuare il download della versione certificata dell'RPM di Elasticsearch. Per ulteriori informazioni sulla versione vertificata di Elasticsearch e l'URL di download, vedere la pagina delle informazioni tecniche su Sentinel.

  3. Installare Elasticsearch:

    rpm -i elasticsearch-<versione>.rpm

  4. Eseguire i task specificati nelle istruzioni successive all'installazione di RPM.

  5. Verificare che l'utente Elasticsearch abbia accesso a Java eseguendo il comando seguente:

    sudo –u elasticsearch java –versione

  6. Configurare il file /etc/elasticsearch/elasticsearch.yml aggiornando o aggiungendo le seguenti informazioni:

    Proprietà e valore

    Note

    cluster.name: <nome_cluster_Elasticsearch>

    Il nome del cluster specificato deve essere lo stesso per tutti i nodi.

    node.name: <nome_nodo>

    Il nome di ciascun nodo deve essere univoco.

    network.host: _<interfacciaRete>:ipv4_

     

    discovery.zen.ping.unicast.hosts: ["<FQDN di node1 di Elasticsearch>", "<FQDN di node2 di elasticsearch>" e così via"]

     

    bootstrap.mlockall: true

     

    threadpool.bulk.queue_size: 300

     

    threadpool.search.queue_size: 10000

    Quando la coda di ricerca raggiunge il limite massimo, Elasticsearch scarta eventuali richieste di ricerca in sospeso presenti nella coda.

    È possibile aumentare le dimensioni della coda di ricerca in base al calcolo seguente: threadpool.search.queue_size = numero medio di interrogazioni del widget per utente di un dashboard x numero di partizioni (indice giornaliero) x numero di giorni (durata della ricerca).

    index.codec: best_compression 

     

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

    Distribuire i dati su più dischi o ubicazioni indipendenti per ridurre le operazioni di I/O del disco.

    Configurare più percorsi per la memorizzazione dei dati di Elasticsearch, ad esempio /es1, /es2 e così via.

    Per ottimizzare le prestazioni e la gestibilità, montare ciascun percorso in un disco fisico separato (JBOD).

    index.merge.scheduler.max_thread_count: 3

    Unisce in parallelo l'esecuzione su thread separati per ottimizzare la velocità di scrittura in Elasticsearch.

  7. Aggiornare la dimensione di default dell'heap di Elasticsearch modificando la proprietà ES_HEAP_SIZE nel file /etc/sysconfig/elasticsearch.

    La dimensione dell'heap deve essere pari al 50% della memoria del server. Ad esempio, in un nodo Elasticsearch di 24 GB, allocare 12 GB alla proprietà ES_HEAP_SIZE per ottenere prestazioni ottimali.

  8. Riavviare Elasticsearch:

    /etc/init.d/elasticsearch restart

  9. Effettuare il download e installare il plug-in Delete-By-Query affinché le policy di permanenza dei dati eliminino effettivamente i dati indicizzati quando vengono applicate.

    Negli ambienti con un grado elevato di sicurezza in cui non è possibile effettuare il download di file direttamente nel server, è necessario effettuare il download manuale del plug-in in un computer che disponga dell'accesso a Internet, copiare il file nei nodi di Elasticsearch e installare il plug-in.

    Per informazioni sull'installazione del plug-in Delete-By-Query, vedere la documentazione di Elasticsearch.

  10. (Facoltativo) Per il monitoraggio di base del cluster di Elasticsearch, installare il plug-in Elasticsearch Head.

    Per informazioni sull'installazione del plug-in Elasticsearch Head, vedere la documentazione del plug-in Elasticsearch Head.

  11. Ripetere tutti i passaggi precedenti in ciascun nodo del cluster di Elasticsearch.