Ingestion des données de Google Cloud Storage directement dans Elastic à l'aide de Google Dataflow

blog-thumb-cloud-gcp.png

Nous sommes heureux de vous annoncer que nous prenons désormais en charge l'ingestion des données de Google Cloud Storage (GCS) directement dans la Suite Elastic à l'aide de Google Dataflow. Ainsi, les développeurs, les ingénieurs de fiabilité des sites (site reliability engineers ou SRE) et les analystes de la sécurité peuvent ingérer dans la Suite Elastic des données de GCS en quelques clics seulement dans Google Cloud Console.

Nombre de développeurs, de SRE et d'analystes de la sécurité utilisent GCS pour stocker les logs et les événements générés par les applications et les infrastructures dans Google Cloud tout en se reposant sur la Suite Elastic pour le dépannage, le monitoring ou la recherche d'anomalies de sécurité dans ces applications et ces infrastructures. Pour améliorer l'expérience avec ces deux solutions, Google et Elastic ont travaillé ensemble afin de fournir une méthode fluide et facile à utiliser d'ingestion dans la Suite Elastic des logs et des événements stockés dans GCS. Ainsi, vous pouvez simplifier l'architecture de votre pipeline de données, éliminer la surcharge au niveau opérationnel et accélérer le processus de dépannage, le tout en quelques clics seulement dans Google Cloud Console et sans devoir créer de solution de traitement personnalisé des données.

Dans cet article, nous vous expliquons comment ingérer dans la Suite Elastic des données de GCS à l'aide de Google Dataflow et sans aucun agent.

Rationalisation de l'ingestion des données de GCS

Google Cloud Storage est une solution de stockage d'objets souvent comparée à Amazon S3 ou à Azure Blob Storage. En règle générale, GCS est utilisé pour la sauvegarde et l'archivage des données, pour leur analyse sans aucune condition de diffusion ou même pour l'hébergement de simples applications et pages web à des prix attractifs. Un développeur, un SRE ou un analyste de la sécurité peut choisir de stocker les événements et les logs des applications ou des infrastructures dans GCS à des fins de sauvegarde ou d'archivage. Un utilisateur de Google Cloud peut également posséder un pipeline dont toutes les données ne sont pas ingérées dans la Suite Elastic, car certaines sont stockées dans GCS afin de réaliser des analyses ultérieures, si besoin.

Une fois les logs et les événements intégrés à GCS, vous devez déterminer la méthode d'ingestion pour les solutions d'analyse tierces, comme celles d'Elastic. L'idéal serait de pouvoir accéder à Google Cloud Console, puis d'ingérer en quelques clics les données de GCS directement dans la Suite Elastic. Ce souhait est maintenant devenu réalité grâce à un menu déroulant dans Google Dataflow, un produit de traitement des données sans serveur plébiscité qui est fondé sur Apache Beam. Dataflow transfère de manière efficace les logs et les événements de GCS dans la Suite Elastic. Actuellement, le format de fichier CSV est pris en charge. Nous ajouterons prochainement la prise en charge du format JSON.

Vous trouverez ci-dessous une représentation récapitulative du flux d'ingestion des données. Le processus d'intégration s'adapte à tous les utilisateurs, qu'ils exploitent la Suite Elastic sur Elastic Cloud, Elastic Cloud dans Google Cloud Marketplace ou un environnement autogéré.

Dataflow
 

Lancez-vous

Rien de tel qu'un exemple concret pour mieux comprendre la fonctionnalité d'ingestion de GCS. L'exemple suivant analyse les données d'USGS relatives aux séismes. Cet organisme gère un ensemble de données publiques qui fournit des informations en temps réel sur les séismes et leurs statistiques. Dans cet exemple, nous utilisons les données sur les séismes d'une magnitude de 2,5 ou plus enregistrées le mois dernier par l'USGS et compilées dans un fichier CSV. Voici les cinq premières lignes du fichier, afin de vous donner un petit aperçu des données :

fichier de données
 

Sur la page dédiée à Dataflow dans Google Cloud Console, sélectionnez le modèle intitulé "GCS to Elasticsearch". Ce modèle crée le schéma pour le document JSON à l'aide d'une des options suivantes :

  1. Javascript UDF (si fourni) ;
  2. schéma JSON (si fourni) ;
  3. en-têtes CSV* (par défaut).

Si un schéma UDF ou JSON est fourni, il sera utilisé à la place des en-têtes CSV.

mise en service du cloud
 
Pour renseigner le premier champ du formulaire, saisissez les paramètres indiquant l'emplacement des fichiers dans GCS. Vous pouvez trouver l'identifiant du cloud dans l'interface utilisateur d'Elastic Cloud, comme le montre la copie d'écran ci-dessous. Pour créer la clé d'API, utilisez l'API "Create API key" dédiée.
Clé d'API
 

Concernant le champ Elasticsearch index, choisissez un nom d'index où vos données seront chargées. Dans cet exemple, nous avons utilisé l'index quakes.

mise en service du cloud
 

Cliquez sur le bouton Run Job (Exécuter la tâche) pour commencer à ingérer dans Elasticsearch ces données relatives aux séismes provenant de Google Cloud Console sans devoir en quitter l'interface.

Ensuite, vous pouvez accéder à Kibana, créer un modèle d'indexation et générer des visualisations en quelques minutes.

Kibana
 

Voici un exemple de tableau de bord illustrant la présentation des données relatives aux séismes.

carte des séismes
 

Conclusion

Elastic s'efforce en permanence de fournir à ses clients des solutions leur accordant une liberté d'exécution et d'utilisation des produits de leur choix. L'intégration rationalisée de Google Cloud en est le tout dernier exemple. Elastic Cloud apporte une valeur ajoutée à la Suite Elastic en élargissant le champ d'action des utilisateurs et en leur assurant une plus grande rapidité d'exécution. C'est la meilleure manière de tirer parti de notre plateforme. Pour commencer à utiliser Elastic sur Google Cloud, consultez la Google Cloud Marketplace ou le site elastic.co.