Aller au contenu
Observabilité
Blog
Observabilité7 min

OpenSearch : le secret d'une meilleure observabilité

Mattia Eleuteri1 juin 2022

Alors que les équipes de développement continuent d'adopter les microservices et les systèmes distribués, l'observabilité devient de plus en plus importante pour la gestion des services, la résolution des problèmes et le suivi des environnements de production. Avec l'essor du cloud computing, le coût de la surveillance n'a jamais été aussi bas. Pourtant, les solutions d'observabilité ont tendance à être coûteuses et peuvent être difficiles à mettre en place. OpenSearch propose une alternative open source qui promet de rendre l'observabilité plus facile que jamais.

OpenSearch observabilité

Qu'est-ce que l'observabilité ?

L'observabilité concerne le fonctionnement de votre application d'un point de vue technique. Elle englobe les outils et les techniques qui vous permettent d'obtenir une visibilité sur vos systèmes, de comprendre leur comportement et d'identifier les anomalies.

D'un côté, l'observabilité est un nouveau terme pour quelque chose qui existe depuis longtemps. La journalisation existe depuis que les systèmes informatiques existent. Mais à mesure que la technologie a évolué, passant d'applications monolithiques sur du matériel physique à des systèmes distribués déployés sous forme de code sur une infrastructure virtualisée, de nouveaux défis sont apparus. Le dépannage et le débogage de ces systèmes modernes nécessitent des outils adaptés.

L'observabilité repose sur trois piliers fondamentaux : les logs (journaux), les métriques et les traces. Les logs vous disent ce qui s'est passé. Les métriques vous donnent une vue quantitative de l'état de vos systèmes. Les traces vous permettent de suivre le parcours d'une requête à travers les différents services de votre architecture. C'est la combinaison de ces trois éléments qui offre une vision complète de la santé de votre infrastructure.

Chez Hidora, l'observabilité est au cœur de notre approche. Nos services managés incluent la mise en place d'une stack d'observabilité complète pour chaque client.

Pourquoi choisir OpenSearch ?

OpenSearch est un standard entièrement ouvert et neutre vis-à-vis des fournisseurs qui vous offre une observabilité et une gestion complètes de vos données. Il fonctionne également avec vos outils SIEM et analytiques existants, ce qui le rend idéal pour les grandes organisations qui ont besoin d'un moyen rapide d'ingérer des données provenant de sources multiples.

Pour les développeurs, OpenSearch fournit une interface standard pour interagir avec les métadonnées sur les dépendances du code sans avoir à écrire de code supplémentaire. Cela signifie qu'ils passent moins de temps sur l'instrumentation et plus de temps à créer des fonctionnalités. OpenSearch contribue à maximiser la productivité des développeurs, ce qui en fait une perspective intéressante pour toute organisation, quelle que soit sa taille.

Les avantages clés d'OpenSearch incluent :

  • Open source et communautaire. Pas de vendor lock-in, pas de licences propriétaires coûteuses.
  • Compatible avec l'écosystème Elasticsearch. Si vous utilisez déjà Elasticsearch, la migration est simplifiée.
  • Extensible. Plugins, intégrations et personnalisations sont possibles sans limites.
  • Performant. Capable de gérer des volumes massifs de données en temps réel.

OpenSearch vs les alternatives : comment choisir

Le choix d'une solution d'observabilité dépend de nombreux facteurs. Voici une comparaison pragmatique d'OpenSearch avec les principales alternatives du marché.

OpenSearch vs Elasticsearch. Depuis le changement de licence d'Elasticsearch en 2021 (passage à SSPL puis à une licence propriétaire Elastic), OpenSearch est devenu le fork open source de référence. La compatibilité API est quasi complète, ce qui facilite la migration. La principale différence réside dans la gouvernance : OpenSearch est piloté par la communauté sous l'égide d'AWS, tandis qu'Elasticsearch est contrôlé par Elastic. Pour les entreprises suisses qui veulent éviter toute ambiguïté sur les licences, OpenSearch offre une garantie de liberté sur le long terme.

OpenSearch vs la stack Grafana (Loki + Tempo + Mimir). La stack Grafana excelle dans les environnements cloud-native où chaque pilier de l'observabilité est géré par un outil spécialisé : Loki pour les logs, Tempo pour les traces, Mimir pour les métriques. Cette approche modulaire offre une grande flexibilité mais implique la gestion de plusieurs composants. OpenSearch, lui, fournit une plateforme unifiée qui couvre les trois piliers, ce qui simplifie l'opération au prix d'une spécialisation moindre sur chaque domaine.

OpenSearch vs Datadog / New Relic. Les solutions SaaS commerciales offrent une expérience clé en main, avec des intégrations prêtes à l'emploi et un support premium. Leur inconvénient majeur est le coût, qui peut atteindre plusieurs milliers de francs par mois pour un volume de données conséquent, et la dépendance à un fournisseur externe pour des données souvent sensibles. Pour les organisations qui veulent garder le contrôle de leurs données d'observabilité et maîtriser leurs coûts, OpenSearch est une alternative solide.

Configuration d'OpenSearch

Si vous déployez une nouvelle application et souhaitez qu'elle soit observable, nous recommandons de configurer OpenSearch dès le départ. La configuration d'OpenSearch vous permettra d'ingérer les logs de votre application en utilisant des filtres de recherche. C'est essentiel pour comprendre ce qui se passe avec votre application en temps réel, afin de pouvoir réagir rapidement quand les choses tournent mal.

Si vous avez beaucoup de microservices différents s'exécutant sur plusieurs hôtes, envoyer des données depuis chaque hôte indépendamment peut ne pas être adapté. Centraliser l'envoi des journaux depuis une source unique signifie que toutes vos données se trouvent au même endroit, ce qui vous évite des maux de tête plus tard quand vous voudrez les analyser.

Des services de journalisation tels que Beat agent, Logstash ou Fluentd peuvent également être utilisés en complément d'OpenSearch. Le modèle certifié Jelastic est créé pour chaque stack open source mentionnée (OpenSearch, OpenSearch Dashboards, Logstash). Ces trois composants sont réunis en une seule solution auto-clusterisée, ce qui simplifie considérablement le déploiement.

Bonnes pratiques de configuration pour la production

Pour tirer le meilleur parti d'OpenSearch en environnement de production, quelques réglages sont essentiels.

Le dimensionnement des index. Un piège fréquent est de créer un seul index pour tous les logs, ce qui dégrade rapidement les performances de recherche. Privilégiez une stratégie d'index par jour ou par semaine (par exemple logs-app-production-2025.12.03), combinée à une politique de rétention automatique (Index State Management) qui archive ou supprime les anciens index. Pour une application standard, une rétention de 30 jours en accès rapide et 90 jours en archive froide constitue un bon compromis entre coût de stockage et besoins d'investigation.

L'allocation mémoire. OpenSearch repose sur la JVM. Allouez 50% de la RAM disponible au heap Java, sans dépasser 32 Go (au-delà, la JVM perd l'optimisation des compressed oops). Le reste de la RAM sera utilisé par le cache du système de fichiers, ce qui accélère les lectures d'index. Sur un noeud avec 16 Go de RAM, configurez donc le heap à 8 Go.

Le nombre de shards. Chaque index est divisé en shards. Trop peu de shards limite le parallélisme des recherches. Trop de shards génère une surcharge de métadonnées sur les noeuds master. La règle empirique : visez des shards de 10 à 50 Go chacun, et ne dépassez pas 20 shards par Go de heap sur un noeud.

Ingérer vos données

Vous pouvez ingérer des données dans OpenSearch avec de nombreux outils, notamment Logstash. Logstash est une application de gestion des événements et des journaux. Bien qu'elle ait été initialement créée par Elasticsearch, elle dispose désormais du support pour d'autres produits, tels qu'Apache Kafka et Amazon Kinesis.

Logstash ingère des données provenant de presque toutes les sources à l'aide de diverses méthodes, notamment des sockets TCP/UDP et des connecteurs de système de fichiers (par exemple, S3 ou FTP). Une fois vos données dans Logstash, vous pouvez exécuter des requêtes simples ou complexes pour obtenir une meilleure visibilité des problèmes ou des tendances dans votre environnement applicatif.

La flexibilité de Logstash est l'un de ses plus grands atouts. Que vos données proviennent de conteneurs Docker, de serveurs physiques, d'applications cloud ou d'objets connectés, Logstash peut les ingérer et les transformer avant de les envoyer à OpenSearch.

Créer votre premier tableau de bord

Créez votre premier tableau de bord en temps réel en ingérant des données depuis OpenSearch. Commencez par vous connecter à votre compte OpenSearch et sélectionnez une collection dans laquelle vous souhaitez afficher les métriques. Ajoutez ensuite une recherche à une application nouvelle ou existante, comme Kubernetes.

Dans Kubernetes, ajoutez des étiquettes pour chaque mesure clé collectée, comme l'utilisation du CPU et de la mémoire. OpenSearch Dashboards vous permet de créer des visualisations personnalisées, des graphiques de tendance et des tableaux de bord complets qui donnent une vue d'ensemble instantanée de la santé de votre infrastructure.

Ajouter des alertes

Vous pouvez facilement ajouter des alertes à OpenSearch, ce qui permet aux équipes Ops de créer des notifications basées sur des événements spécifiques. Par exemple, si une application ne parvient pas à démarrer, une alerte peut être générée et envoyée par e-mail ou par Slack.

OpenSearch est livré avec une série de règles simples permettant de trouver rapidement les instances défaillantes. Mais pour aller plus loin, vous pouvez configurer OpenSearch de sorte que si une instance échoue plusieurs fois dans une période donnée (par exemple, trois échecs en 15 minutes), elle déclenche automatiquement une action corrective. Ainsi, votre application continue de fonctionner efficacement tout en réduisant vos coûts.

Déployer OpenSearch avec Hidora

Chez Hidora, nous avons développé un modèle PaaS qui vous permet d'être rapidement opérationnel. En quelques minutes, vous pouvez déployer votre propre instance OpenSearch entièrement fonctionnelle. Notre équipe de consulting peut également vous accompagner dans la mise en place d'une stratégie d'observabilité complète, adaptée à vos besoins spécifiques.

L'observabilité n'est pas un luxe, c'est une nécessité pour toute organisation qui opère des systèmes en production. Avec OpenSearch et l'accompagnement d'Hidora, vous pouvez mettre en place une solution robuste, évolutive et économique.

Mattia Eleuteri
Mattia Eleuteri

Responsable Produit Cloud

Responsable Produit Cloud chez Hidora. Spécialiste Kubernetes, IaC et observabilité.

CKACKSElastic Certified

Cet article vous parle ?

Hidora peut vous accompagner sur ce sujet.

Besoin d'un accompagnement ?

Parlons de votre projet. 30 minutes, sans engagement.