Le cluster OpenSearch est disponible en tant que :
Cluster de 3 nœuds - non recommandé pour une utilisation en production
Cluster de 5 nœuds ou plus - recommandé pour une utilisation en production
Dans la topologie à 3 serveurs, tous les serveurs jouent le rôle de maître, deux d'entre eux sont également utilisés comme nœuds de données. Chaque index est répliqué par défaut sur ces deux nœuds de données.
Avec 5 serveurs ou plus, trois nœuds sont utilisés comme nœuds maîtres et n'hébergent pas de données. En fonction de la zone, les nœuds maîtres sont répartis sur 2 ou 3 zones de disponibilité. Les nœuds restants n'hébergent que des données et sont répartis sur deux zones de disponibilité.
Dans une Area avec 3 zones de disponibilité, le cluster est résilient face à une défaillance d'une zone de disponibilité.
Dans une Area avec 2 zones de disponibilité, le cluster peut tomber en panne si la zone de disponibilité contenant deux maîtres n'est pas disponible.
Cette section énumère les fonctionnalités / capacités disponibles pour les utilisateurs, ainsi que la manière de les demander / de les exécuter :
L'authentification utilise le système de sécurité interne d'OpenSearch. Il peut être configuré sur demande pour accepter Active Directory comme backend d'authentification.
Les autorisations sont effectuées à l'aide de RBAC. Il peut être configuré sur demande pour accepter Active Directory comme fournisseur de rôles.
TLS/SSL est activé par défaut pour les flux réseau entrants et internes.
Cette section explique comment est gérée la gestion des mots de passe :
OpenSearch managé
OpenSearch est une suite de recherche et d'analyse open source pilotée par la communauté et dérivée d'Elasticsearch 7.10.2 & Kibana 7.10.2 sous licence Apache 2.0.
Il se compose d'un démon de moteur de recherche, OpenSearch, et d'une interface de visualisation et d'utilisation, OpenSearch Dashboards. Il permet d'ingérer, de sécuriser, de rechercher, d'agréger, de visualiser et d'analyser facilement les données.
Ces capacités sont populaires pour des cas d'utilisation tels que la recherche d'applications, l'analyse des journaux, etc.
Les serveurs OpenSearch Cluster et la configuration des services sont gérés par cegedim.cloud. Le produit est disponible en libre-service dans ITCare.
Les utilisateurs ont un accès complet à la base de données et aux tableaux de bord d'OpenSearch. Il est de la responsabilité des utilisateurs de gérer la sécurité des index et de leur cycle de vie.
OpenSearch est déployé en tant que cluster sur site dans nos centres de données.
Le même niveau de service que l'offre Compute est garanti : déploiement d'instances, maintien en condition opérationnelle, flexibilité, sécurité et monitoring sont ainsi assurés par nos experts.
Le dimensionnement peut être configuré en fonction de vos besoins.
Le nombre minimum de nœuds pour un cluster est de 3 serveurs mais n'est pas recommandé pour la production. Il est conseillé de déployer au moins 5 nœuds ou plus pour une utilisation en production.
Pour plus d'information, veuillez consulter la page OpenSearch - Architecture.
La facturation est mensuelle et basée sur le nombre de nœuds, plus des coûts supplémentaires pour le stockage, la sauvegarde et la surveillance 24/7.
L'estimation du coût d'un cluster OpenSearch est disponible auprès de votre Responsable de compte Technique.
OpenSearch amène plusieurs changements, vous devez donc vérifier la compatibilité de votre application avec ceux-ci.
Il s'agit du principal changement induisant une rupture et il n'est pas spécifique à OpenSearch car il était déjà prévu par ElasticSearch avant le fork.
Vous devez donc vous assurer que vos applications n'utilisent plus les paramètres "type".
Voici quelques solutions concernant les produits souvent utilisés avec les solutions élastiques et comment les configurer pour qu'ils fonctionnent avec OpenSearch 2.x
Si le client est Fluentbit, la solution la plus simple est de définir le paramètre Suppress_Type_Name sur On.
Il est également possible de changer le plugin de sortie pour le plugin natif d'OpenSearch qui fait partie de Fluentbit depuis la version 1.9.
L'article suivant peut s'avérer utile pour débuter avec Fluentbit et OpenSearch :
Si le client est Fluentd, c'est plus délicat. Il existe également unsuppress_type_name mais le plugin n'utilise ce paramètre que s'il détecte une version d'Elastic >= 7.
Nous devons donc ajouter d'autres paramètres :
verify_es_version_at_startup = false - pour ne pas laisser le plugin détecter la version
default_elasticsearch_version = '7'
Voici par exemple les changements à effectuer sur les spécifications du plugin de sortie que nous utilisons dans Kubernetes.
Il y a aussi un plugin de sortie pour OpenSearch.
Le plugin OpenSearch n'est pas encore disponible dans le système de journalisation de Rancher.
Fonctionnalités | Libre-service | Sur requête | Commentaires |
---|
Mot de passe | Stocké par cegedim.cloud | Stocké par le client | Enforcé | Commentaires |
---|
Cluster | |
---|---|
Libre-service | Le client peut effectuer des actions de manière autonome à l'aide d'ITCare. |
Sur requête | Le client peut demander à l'équipe de support de cegedim.cloud de prendre les mesures nécessaires. |
Accès SSH | L'accès SSH est désactivé et réservé aux administrateurs de cegedim.cloud |
Changement de configuration | Sur requête via ticket |
Compte admin |
Autre compte |
Compte kibana | Utilisé par le serveur de tableau de bord pour se connecter au cluster |
Compte support | Utilisé par l'équipe de support de cegedim.cloud (il a un accès limité et ne peut pas lire les données d'index) |
Compte centreon | Utilisé par le système de surveillance cegedim.cloud (il n'a accès qu'aux informations de surveillance) |
Compte prometheus | Utilisé par le système de métrologie de cegedim.cloud (il n'a accès qu'aux informations de surveillance) |
Instances
3
5 (recommandé)
CPU (par instance)
2 - 16 vCPU
RAM (par instance)
4 - 384 Go
Version(s) supportée(s)
2.11.0
2.15.0
Surveillance
Surveillance 24x7
Sauvegarde
Réplication de données (PRA)
Disponibilité
99,9%
Déploiement multi-AZ
Libre-service
Connectez-vous à la plateforme ITCare, recherchez le service global auquel attacher le cluster et cliquez dessus.
Cliquez sur le bouton Créer une ressource dans votre Service Global et sélectionnez OpenSearch. Donnez un nom unique au cluster et définissez un nom de préfixe qui sera utilisé pour nommer les machines virtuelles. Cliquez sur Suivant.
Sélectionnez le nombre de nœuds et la taille des nœuds. Cliquez sur Suivant.
Sélectionnez le volume de stockage. Cliquez sur Suivant.
Sélectionnez la région et la zone dans laquelle vous souhaitez installer votre cluster. Cliquez sur Suivant.
Sélectionnez le VLAN dans lequel vous souhaitez déployer votre cluster. Cliquez sur Suivant.
Activez ou désactivez les options supplémentaires :
Surveillance des machines virtuelles et des clusters
Surveillance 24/7
Sauvegarde
Réplication des machines virtuelles (récupération en cas de désastre)
Cliquez sur Suivant.
Sélectionnez la version et définissez un mot de passe administrateur qui sera utilisé pour gérer votre cluster.
Les mots de passe ne sont pas sauvegardés par cegedim.cloud.
Assurez-vous de sauvegarder votre mot de passe!
A l'étape finale, vous pouvez vérifier la synthèse de votre demande : vérifier les noms des machines virtuelles à créer, sauvegarder votre mot de passe administrateur, modifier les options de gestion.
Cliquez sur Soumettre.
Une fois que le cluster est prêt, vous serez notifié par email avec les informations requises pour se connecter au cluster.
La création d'un cluster peut prendre jusqu'à 2 heures en fonction de la charge actuelle de l'automatisation. Le cluster sera ensuite affiché dans votre service global, dans le panneau de contrôle de gauche, sous la section cluster associé. La flèche verte indique que le cluster est actif.
Dans le panneau de contrôle gauche, cliquez sur le nom du cluster pour afficher la page de détails de celui-ci. En haut de la page du cluster, cliquez sur le bouton Gérer, puis sur Démarrer et confirmer.
Le démarrage d'un cluster démarre toutes les machines virtuelles attachées au cluster.
Une notification par courriel sera envoyée lorsque le service sera activé.
En haut de la page du cluster, cliquez sur le bouton Gérer, puis sur Stop.
Saisissez un numéro RFC pour le suivi (facultatif). Cliquez sur Soumettre.
L'arrêt d'un cluster arrêtera toutes les machines virtuelles attachées au cluster et la surveillance sera désactivée.
Une notification par courrier électronique sera envoyée lorsque le cluster sera arrêté.
En haut de la page du cluster, cliquez sur le nom du cluster OpenSearch, puis sur Ajouter des nœuds.
Sélectionnez le nombre de nœuds que vous souhaitez ajouter (nombre pair) et sélectionnez la nouvelle taille (cpu/ram). Spécifiez la taille du disque de données.
Une notification par courrier électronique sera envoyée lorsque tous les nœuds auront été ajoutés.
En haut de la page du cluster, cliquez sur le bouton Gérer, puis sur Redimensionner les nœuds.
Sélectionnez les nœuds que vous souhaitez redimensionner et sélectionnez la nouvelle taille (cpu/ram).
Chaque nœud sera redimensionné et redémarré de manière séquentielle.
Une notification par courriel sera envoyée lorsque tous les nœuds auront été redimensionnés.
En haut de la page du cluster, cliquez sur le bouton Gérer, puis sur Supprimer. Cette action arrêtera et supprimera toutes les machines virtuelles.
Veuillez noter que cette action n'est pas récupérable!
Saisissez un numéro RFC pour le suivi (facultatif), puis cliquez sur Soumettre.
Une notification par courriel sera envoyée lorsque le cluster sera supprimé.
La mise à niveau d'un cluster n'est pas encore implémentée dans ITCare.
Si vous souhaitez mettre à niveau votre cluster existant vers une version plus récente, vous devez envoyer une demande au support en indiquant la version souhaitée.
Pendant la mise à jour, le cluster OpenSearch continuera à fonctionner correctement car nous effectuons une mise à jour continue. Cependant, il se peut que vous constatiez une courte indisponibilité pendant la mise à jour des serveurs de tableaux de bord, qui est effectuée après la mise à jour du cluster OpenSearch.
La mise à jour de la topologie d'un cluster est proposée pour un cluster Opensearch initialement constitué de trois nœuds (topologie basique).
La mise à jour est implémentée dans ITCare via l'option "Gérer-Migrer vers un master dédié"
La migration permet d'ajouter deux nœuds Master, tout en spécialisant les (n-1) nœuds existants au rôle de Data. Le cluster sera ainsi composé de trois nœuds Master et du reste des nœuds dédiés au rôle de Data.
Pendant la mise à jour vers une topologie "Master dédié", le cluster continuera de fonctionner,bien qu'il puisse temporairement passer à un statut "Yellow".Cependant, certains objets du cluster, comme les tableaux de bord, peuvent être temporairement indisponibles. Tout reviendra à la normale une fois la migration terminée.
La fonctionnalité d'ajout de nœuds dédiés au rôle d'ingestion est disponible pour un cluster OpenSearch avec une topologie « master dédié » (cluster de cinq nœuds).
La mise en place de nœuds d'ingestion dédiés est implémentée dans ITCare via le menu déroulant "Gérer" puis l'action "Ajouter des noeuds d'ingestion"
Grâce à ces nœuds d'ingestion, il est possible d'isoler le processus d'ingestion des données, ce qui permet de limiter l'impact sur l'indexation ou la recherche, même en cas de volumes élevés de données entrantes. Cela améliore ainsi la stabilité et les performances globales du cluster.
Lien vers la documentation officiel
L'architecture multi-niveau (Hot-Warm-Cold) dans OpenSearch permet d'optimiser les coûts, les performances et la scalabilité en fonction des besoins spécifiques de votre application. Cette architecture permet de stocker les données en fonction de leur fréquence d'accès, en répartissant les données fréquemment sollicitées au niveau des nœuds identifiés (Hot), les données moyennement sollicitées au niveau des nœuds identifiés (Warm) et les données non fréquemment recherchées au niveau des nœuds identifiés (Cold). En plus des différences d'attributs, le nombre de nœuds à chaque niveau peut également varier pour répondre aux besoins spécifiques des requêtes de recherche.
Pour répondre à ce besoin, nous proposons deux niveaux à l'architecture multi-niveaux (Hot-Cold). La configuration des attributs de nœud est disponible dans ITCare via l'action "Définir les attributs du nœud", accessible au niveau de chaque nœud.
Pour plus d'information sur la configuration des attributs de nœud, veuillez consulter la documentation officielle.
Dans OpenSearch, chaque nœud est limité par défaut à 1000 shards pour maintenir les performances et la stabilité du cluster en gérant l’utilisation des ressources.
Dépasser cette limite, par exemple lors de la création de nouveaux index, entraînera une erreur.
Voici des solutions ci-dessous qui vous aideront à résoudre ce problème.
Ajouter des nœuds supplémentaires répartit les shards sur plus de ressources, réduisant la charge par nœud.
Chaque nœud supplémentaire apporte sa propre limite de 1000 shards, augmentant ainsi la capacité globale du cluster.
Ajustez le paramètre cluster.max_shards_per_node pour autoriser plus de shards par nœud si votre matériel le permet (CPU, mémoire et stockage suffisants).
Il est recommandé de ne pas dépasser 2000 shards par nœud pour éviter une surcharge.
Utilisez la commande suivante pour modifier le paramètre :
Lors de la création de nouveaux index, planifiez soigneusement le nombre de shards en fonction de la taille des données et de la croissance attendue.
Voici quelques bonnes pratiques:
Utilisez moins de shard, plus grands, pour les petites données.
Révisez régulièrement l'allocation des shards pour optimiser l’utilisation des ressources selon l'évolution du cluster.
Surveillez régulièrement l’utilisation des shards et des ressources pour des performances optimales.
Un dashboard Grafana pour OpenSearch est disponible sur ce sujet dans votre plateforme de monitoring avancée.
Assurez-vous que vos nœuds disposent de ressources suffisantes avant d’augmenter les limites de shards.
Option
Option
Option
Option