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.
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
Installare i plug-in necessari in ciascun nodo del cluster di Elasticsearch.
Per installare e configurare Elasticsearch:
Installare la versione di JDK supportata da Elasticsearch.
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.
Installare Elasticsearch:
rpm -i elasticsearch-<versione>.rpm
Eseguire i task specificati nelle istruzioni successive all'installazione di RPM.
Verificare che l'utente Elasticsearch abbia accesso a Java eseguendo il comando seguente:
sudo –u elasticsearch java –versione
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. |
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.
Riavviare Elasticsearch:
/etc/init.d/elasticsearch restart
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.
(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.
Ripetere tutti i passaggi precedenti in ciascun nodo del cluster di Elasticsearch.