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
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.
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"] |
|
|
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). |
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.
Avviare Elasticsearch:
/etc/init.d/elasticsearch start
Ripetere tutti i passaggi precedenti in ciascun nodo del cluster di Elasticsearch.