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.

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.

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.

Cet article vous parle ?

Hidora peut vous accompagner sur ce sujet.

Besoin d'un accompagnement ?

Parlons de votre projet. 30 minutes, sans engagement.