12.2 Installation et configuration d'Elasticsearch

Pour l'indexation distribuée et évolutive des événements, vous devez installer Elasticsearch en mode grappe. La grappe Elasticsearch que vous installez pour Sentinel doit être utilisée pour indexer uniquement les données Sentinel.

12.2.1 Conditions préalables

Veillez à respecter les conditions préalables suivantes avant d'installer Elasticsearch :

  • Définissez la mémoire virtuelle en ajoutant la propriété suivante au fichier /etc/sysctl.conf :

    vm.max_map_count=262144

  • Définissez les descripteurs de fichier en ajoutant les propriétés suivantes au fichier /etc/security/limits.conf :

    elasticsearch hard nofile 65536

    elasticsearch soft nofile 65536

    elasticsearch soft as unlimited

IMPORTANT :Une fois les pré-requis ci-dessus remplis, exécutez la commande sysctl -p pour recharger les changements effectués dans les fichiers.

12.2.2 Installation et configuration d'Elasticsearch

Vous devez installer Elasticsearch et les plug-ins requis sur chaque noeud de la grappe Elasticsearch.

Pour installer et configurer Elasticsearch, procédez comme suit :

  1. Installez la version JDK prise en charge par Elasticsearch.

  2. Téléchargez la version certifiée du RPM Elasticsearch. Pour plus d'informations sur la version certifiée d'Elasticsearch et l'URL de téléchargement, reportez-vous à la page Technical Information for Sentinel (Informations techniques pour Sentinel).

  3. Installez Elasticsearch :

    rpm -i elasticsearch -<version>.rpm

  4. Réalisez les tâches affichées à l'écran dans les instructions post-installation de RPM.

  5. Vérifiez que l'utilisateur d'Elasticsearch a accès à Java en exécutant la commande suivante :

    sudo -u elasticsearch java -version

  6. Configurez le fichier /etc/elasticsearch/elasticsearch.yml en mettant à jour ou en ajoutant les informations suivantes :

    Propriété et valeur

    Remarques

    cluster.name: <nom_grappe_Elasticsearch>

    Le nom de grappe que vous spécifiez doit être identique pour tous les noeuds.

    node.name: <nom_noeud>

    Le nom de noeud doit être unique pour chaque noeud.

    network.host: _<InterfaceRéseau>:ipv4_

     

    discovery.zen.ping.unicast.hosts: ["<FQDN noeud1 Elasticsearch>", "<FQDN noeud2 Elasticsearch>", etc."]

     

    thread_pool.bulk.queue_size: 300

     

    thread_pool.search.queue_size: 10000

    Lorsque la taille de la file d'attente des recherches a atteint sa limite, Elasticsearch ignore les requêtes de recherche placées en file d'attente.

    Vous pouvez augmenter la taille de la file d'attente pour les recherches à l'aide du calcul suivant : threadpool.search.queue_size = nombre moyen de requêtes widget par utilisateur pour un tableau de bord x nombre de partitionnements (par index quotidien) x nombre de jours (durée de la recherche)

    index.codec: best_compression 

     

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

    Répartissez les données sur plusieurs disques ou emplacements indépendants pour réduire le risque de latence d'E/S de disque.

    Configurez plusieurs chemins d'accès au stockage des données Elasticsearch. Par exemple /es1, /es2, etc.

    Pour optimiser les performances et faciliter la gestion, montez chaque chemin sur un disque physique distinct (JBOD).

  7. Mettez à jour la taille du segment de mémoire Elasticsearch par défaut dans le fichier /etc/elasticsearch/jvm.options.

    La taille du segment de mémoire doit correspondre à 50 % de la mémoire du serveur. Par exemple, sur un noeud Elasticsearch de 24 Go, affectez 12 Go à la taille du segment de mémoire pour optimiser les performances.

  8. Lancez ElasticSearch :

    /etc/init.d/elasticsearch start

  9. Répétez toutes les étapes ci-dessus sur chaque noeud de la grappe Elasticsearch.