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

    elasticsearch soft as unlimited

IMPORTANTE:Una volta completati i prerequisiti precedenti, eseguire il comando sysctl -p per caricare di nuovo le modifiche apportate ai file.

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"]

     

    thread_pool.bulk.queue_size: 300

     

    thread_pool.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 la latenza 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).

  7. Aggiornare la dimensione di default dell'heap Elasticsearch nel file /etc/elasticsearch/jvm.options.

    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 dimensione dell'heap per ottenere prestazioni ottimali.

  8. Avviare Elasticsearch:

    /etc/init.d/elasticsearch start

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