Google Cloud Platform

Présentation

Associez votre solution Google Cloud Platform pour visualiser tous vos hosts Google Compute Engine (GCE) dans Datadog. Vos hosts apparaissent dans l’aperçu de l’infrastructure de Datadog. Vous pouvez les trier grâce aux tags de host GCE et aux libellés GCE qui leur sont automatiquement attribués par Datadog.

L'intégration GCP de Datadog est conçue pour recueillir toutes les métriques Google Cloud. Datadog s'efforce de mettre régulièrement à jour sa documentation afin d'inclure chaque sous-intégration. Toutefois, les métriques et les services proposés par les différents services cloud étant en permanente évolution, il est possible que la liste ne soit pas à jour.
Presse-papiers DatadogDescription
App EnginePaaS (plateforme en tant que service) permettant de développer des applications évolutives
Big QueryEntrepôt de données pour entreprise
BigtableService de base de données Big Data NoSQL
Cloud SQLService de base de données MySQL
API CloudInterfaces de programmation pour tous les services Google Cloud Platform
Cloud ArmorService de sécurité sur le réseau protégeant contre le déni de service et les attaques web
Cloud ComposerService d’orchestration de workflows entièrement géré
Cloud DataprocService cloud permettant d’exécuter des clusters Apache Spark et Apache Hadoop
Cloud DataflowUn service entièrement géré pour la transformation et l’enrichissement des données en mode flux et en mode batch.
Cloud FilestoreStockage de fichiers entièrement géré hautes performances
Cloud FirestoreBase de données flexible et évolutive pour le développement mobile, web et serveur
Cloud InterconnectConnectivité hybride
Cloud IoTConnexion et gestion de vos appareils en toute sécurité
Cloud Load BalancingRépartition de ressources informatiques à équilibrage de charge
Cloud LoggingGestion et analyse de logs en temps réel
Cloud Memorystore pour RedisService de stockage de données en mémoire entièrement géré
Cloud RouterÉchange d’itinéraires entre votre VPC et les réseaux sur site à l’aide du protocole BGP
Cloud RunPlateforme de calcul gérée qui exécute des conteneurs sans état via HTTP
Cloud Security Command CenterSecurity Command Center est un service de signalement des menaces.
Cloud TasksFiles d’attente de tâches distribuées
Cloud TPUEntraînement et exécution de modèles d’apprentissage automatique
Compute EngineMachines virtuelles hautes performances
Container EngineKubernetes, géré par Google
DatastoreBase de données NoSQL
FirebasePlateforme mobile pour le développement d’applications
FunctionsPlateforme sans serveur pour la création de microservices basés sur des événements
Kubernetes EngineGestionnaire de clusters et système d’orchestration
Machine LearningServices d’apprentissage automatique
Private Service ConnectAccéder à des services gérés avec des connexions VPC privées
Pub/SubService de messagerie en temps réel
SpannerService de base de données relationnelle à évolutivité horizontale et à cohérence forte
StorageStockage d’objets unifié
Vertex AICréer, former et déployer des modèles personnalisés dʼapprentissage automatique (ML).
VPNFonctionnalité de réseau géré

Configuration

Configurez lʼintégration Datadog/Google Cloud pour recueillir des métriques et des logs à partir de vos services Google Cloud.

Prérequis

  • Si votre organisation restreint les identités en fonction de leur domaine, vous devez ajouter l’identité client Datadog à la liste blanche de votre stratégie. L’identité client de Datadog est C0147pk0i.

  • Pour utiliser les fonctionnalités d’emprunt d’identité de compte de service et de découverte automatique des projets, et ainsi surveiller vos projets, il est nécessaire d’attribuer certains rôles et d’activer certaines API. Avant de commencer, vérifiez que les API suivantes sont activées pour les projets à surveiller :

Collecte de métriques

Installation

Lʼemprunt d'identité de compte de service nʼest pas disponible pour le site .

Vous pouvez utiliser lʼemprunt d’identité de compte de service et la découverte automatique des projets pour intégrer Datadog avec Google Cloud.

Cette méthode vous permet de surveiller tous les projets visibles par un compte de service en attribuant des rôles IAM dans les projets pertinents. Vous pouvez attribuer ces rôles à des projets de façon individuelle ou configurer Datadog pour surveiller des groupes de projets en attribuant ces rôles au niveau de lʼorganisation ou du dossier. Cette méthode dʼattribution des rôles permet à Datadog de découvrir et surveiller automatiquement tous les projets dʼune certaine sélection, y compris tous les nouveaux projets pouvant être ajoutés au groupe à lʼavenir.

1. Créer un compte de service Google Cloud

  1. Ouvrez votre console Google Cloud.
  2. Accédez à IAM & Admin > Service Accounts.
  3. Cliquez sur Create service account en haut.
  4. Attribuez un nom unique au compte de service, puis cliquez sur Create and continue.
  5. Ajoutez les rôles suivants au compte de service :
    • Monitoring Viewer
    • Compute Viewer
    • Cloud Asset Viewer
    • Browser
  6. Cliquez sur Continue, puis sur Done pour terminer la création du compte de service.
 Interface de la console Google Cloud, affichant le flux 'Create service account'. Sous 'Grant this service account access to project', les quatre rôles énoncés dans les instructions sont ajoutés.

2. Ajouter le principal Datadog au compte de service

  1. Dans Datadog, accédez à Integrations > Google Cloud Platform.
  2. Cliquez sur Add GCP Account. Si vous nʼavez configuré aucun projet, vous êtes automatiquement redirigé vers cette page.
  3. Si vous nʼavez pas généré de principal Datadog pour votre organisation, cliquez sur le bouton Generate Principal.
  4. Copiez votre principal Datadog et conservez-le pour la prochaine section.
    Interface de Datadog, affichant le flux 'Add New GCP Account'. La première étape, 'Add Datadog Principal to Google,' contient une zone de texte permettant à un utilisateur de générer un principal Datadog et de le copier dans son presse-papiers. La deuxième étape, 'Add Service Account Email,' contient une zone de texte que lʼutilisateur peut remplir dans la section 3.
    Gardez cette fenêtre ouverte pour la prochaine section.
  5. Dans la console Google Cloud, dans le menu Service Acounts, recherchez le compte de service que vous avez créé lors de la première section.
  6. Accédez à lʼonglet Permissions et cliquez sur Grant Access.
     Interface de la console Google Cloud, affichant lʼonglet Permissions sous Service Accounts.
  7. Collez votre principal Datadog dans la zone de texte New principals.
  8. Attribuez le rôle de Service Account Token Creator et cliquez sur Save.
     Interface de la console Google Cloud, affichant une zone 'Add principals' et une interface 'Assign roles'.

Remarque : si vous avez déjà configuré un accès à lʼaide dʼun principal Datadog partagé, vous pouvez révoquer lʼautorisation de ce principal après avoir terminé ces étapes.

3. Terminer la configuration de lʼintégration dans Datadog

  1. Dans votre console Google Cloud, accédez à lʼonglet Service Account > Details. Vous pourrez y trouver lʼe-mail associé à ce compte de service Google. Il ressemble à ceci <sa-name>@<project-id>.iam.gserviceaccount.com.
  2. Copiez cet e-mail.
  3. Revenez au carré de configuration de lʼintégration dans Datadog (où vous avez copié votre principal Datadog lors de la section précédente).
  4. Dans la zone située sous Add Service Account Email, collez lʼe-mail que vous avez copié plus tôt.
  5. Cliquez sur Verify and Save Account.

Une quinzaine de minutes après environ, les métriques sʼaffichent dans Datadog.

4. Attribuer des rôles à dʼautres projets (facultatif)

La découverte automatique de projets permet de simplifier le processus dʼajout de projets à surveiller. Si vous permettez à votre compte de service dʼaccéder à dʼautres projets, dossiers ou organisations, Datadog découvre ces projets (et tous les projets imbriqués dans les dossiers ou organisations) et les ajoute automatiquement à votre carré dʼintégration.

  1. Assurez-vous de posséder les autorisations adéquates pour attribuer des rôles au niveau désiré :
    • Project IAM Admin (or higher)
    • Folder Admin
    • Organization Admin
  2. Dans la console Google Cloud, accédez à la page IAM.
  3. Sélectionnez un projet, un dossier ou une organisation.
  4. Pour attribuer un rôle à un principal qui ne possède pas encore dʼautres rôles dans la ressource, cliquez sur Grant Access, puis saisissez lʼe-mail du compte de service que vous avez créé plus tôt.
  5. Attribuez les rôles suivants :
    • Compute Viewer
    • Monitoring Viewer
    • Cloud Asset Viewer Remarque : le rôle Browser est uniquement requis dans le projet par défaut du compte de service.
  6. Cliquez sur Save.

Configuration

Vous pouvez aussi choisir de limiter les instances GCE qui sont alimentées à Datadog en saisissant des tags dans la zone de texte Limit Metric Collection situés dans le menu déroulant dʼun certain projet. Seuls les hosts correspondants à lʼun des tags définis sont importés dans Datadog. Vous pouvez utiliser des wildcards (? pour un seul caractère, * pour plusieurs caractères) pour faire correspondre de nombreux hosts, ou ! pour en exclure certains. Cet exemple comprend toutes les instances de taille c1*, mais exclut les hosts en staging :

datadog:monitored,env:production,!env:staging,instance-type:c1.*

Référez-vous à la documentation de Google relative à la création et la gestion dʼétiquettes pour en savoir plus.

Collecte de logs

Transférez des logs de vos services Google Cloud à Datadog à lʼaide de Dataflow de Google Cloud et du modèle Datadog. Cette méthode permet à la fois la compression et la mise en lot dʼévénements avant leur transfert vers Datadog. Suivez les instructions de cette section pour :

1. Créez une rubrique Pub/Sub et des abonnements pull pour recevoir des logs provenant dʼun récepteur de log configuré
2. Créez un compte de service de worker dataflow personnalisé afin de fournir le minimum de privilèges aux workers de vos pipelines Dataflow
3. Créez un récepteur de log pour publier des logs dans la rubrique Pub/Sub
4. Créez une tâche Dataflow à lʼaide du modèle Datadog pour diffuser des logs à partir de lʼabonnement Pub/Sub auprès de Datadog

Vous bénéficiez dʼun contrôle total sur les logs qui sont envoyés à Datadog via les filtres de logs que vous créez dans le récepteur de log, y compris les logs GCE et GKE. Référez-vous à la page relative au langage des requêtes de création de logs de Google pour en savoir plus sur la rédaction de filtres.

Remarque : vous devez activer lʼAPI Dataflow pour utiliser Dataflow de Google Cloud. Consultez la section Activer des API de la documentation de Google Cloud pour en savoir plus.

Pour récupérer des logs dʼapplications exécutées en GCE ou GKE, vous pouvez aussi utiliser lʼAgent Datadog.

La collecte de logs de Google Cloud avec un abonnement Push Pub/Sub

est en train de devenir obsolète pour les raisons suivantes :

  • Lʼabonnement Push ne peut pas accéder aux endpoints qui se situent en dehors dʼun VPC Google Cloud
  • Lʼabonnement Push ne fournit aucune fonctionnalité de compression ni de regroupement des événements, et ne convient donc que pour un très petit nombre de logs

La documentation relative à lʼabonnement Push sert uniquement à dépanner ou modifier des configurations obsolètes. Préférez un abonnement Pull avec le Dataflow Datadog pour transférer vos logs Google Cloud à Datadog.

1. Créer une rubrique et un abonnement Cloud Pub/Sub

  1. Accédez à la console Cloud Pub/Sub et créez une nouvelle rubrique et un nouveau topic. Sélectionnez lʼoption Add a default subscription pour simplifier la configuration.

    Remarque : vous pouvez aussi configurer un abonnement Cloud Pub/Sub manuellement avec le type de livraison Pull. Si vous créez manuellement votre abonnement Pub/Sub, ne cochez pas la case Enable dead lettering. Pour en savoir plus, référez-vous à la section Fonctionnalités Pub/Sub non prises en charge.

la page « Créer un sujet » dans la console Google Cloud avec la case « Ajouter un abonnement par défaut » cochée
  1. Donnez un nom clair à ce sujet, comme export-logs-to-datadog, et cliquez sur Create.

  2. Créez un autre sujet et un autre abonnement par défaut pour gérer tous les messages de logs rejetés par lʼAPI Datadog. Le nom de ce sujet est utilisé dans le modèle Dataflow Datadog, où il fait partie de la configuration du chemin pour le paramètre de modèle outputDeadletterTopic. Une fois que vous avez inspecté et corrigé tous les problèmes des messages dʼéchec, renvoyez-les au sujet export-logs-to-datadog dʼorigine en exécutant une tâche Modèle Pub/Sub vers Pub/Sub.

  3. Datadog recommande de créer un secret dans Secret Manager avec la valeur de votre clé dʼAPI Datadog valide, afin de lʼutiliser plus tard dans le modèle Dataflow Datadog.

Avertissement : les Pub/Sub Cloud sont inclus dans les quotas et limitations de Google Cloud. Si votre nombre de logs dépasse ces limites, Datadog vous conseille de les répartir sur plusieurs sujets. Consultez la rubrique Surveiller la redirection de logs Pub/Sub pour découvrir comment configurer des notifications de monitor si vous vous approchez de ces limites.

2. Créer un compte de service de worker Dataflow personnalisé

Par défaut, les workers de pipelines Dataflow utilisent le compte de service Compute Engine par défaut de votre projet, qui accorde des autorisations pour toutes les ressources du projet. Si vous transmettez des logs dʼun environnement Production, il est conseillé de privilégier la création dʼun compte de service de worker personnalisé nʼincluant que les rôles et les autorisations nécessaires, et dʼattribuer ce compte de service à vos workers de pipeline Dataflow.

  1. Accédez à la page Comptes de service de la console Google Cloud et sélectionnez votre projet.
  2. Cliquez sur CREATE SERVICE ACCOUNT et attribuez un nom descriptif au compte de service. Cliquez sur CREATE AND CONTINUE.
  3. Ajoutez les rôles dans le tableau des autorisations correspondant et cliquez sur DONE.
Autorisations requises
RôleCheminDescription
Dataflow Adminroles/dataflow.adminAutoriser ce compte de service à effectuer des tâches administratives Dataflow
Dataflow Workerroles/dataflow.workerAutoriser ce compte de service à effectuer des opérations de tâches Dataflow
Pub/Sub Viewerroles/pubsub.viewerAutoriser ce compte de service à consulter des messages de lʼabonnement Pub/Sub avec vos logs Google Cloud
Pub/Sub Subscriberroles/pubsub.subscriberAutoriser ce compte de service à consommer des messages de lʼabonnement Pub/Sub avec vos logs Google Cloud
Pub/Sub Publisherroles/pubsub.publisherAutoriser ce compte de service à publier les messages échoués dans un abonnement distinct, permettant dʼanalyser et de renvoyer les logs
Secret Manager Secret Accessorroles/secretmanager.secretAccessorAutoriser ce compte de service à accéder à la clé dʼAPI Datadog dans Secret Manager
Storage Object Adminroles/storage.objectAdminAutoriser ce compte de service à lire et écrire sur le compartiment de Cloud Storage indiqué pour les fichiers en staging

Remarque : si vous ne créez par de compte de service pour les workers de pipeline Dataflow, assurez-vous que le compte de service Compute Engine par défaut possède les autorisations requises ci-dessus.

3. Exporter des logs depuis le sujet Pub/Sub Google Cloud

  1. Accédez à la page Logs Explorer dans la console Google Cloud.

  2. Depuis lʼonglet Log Router, sélectionnez Create Sink.

  3. Nommez le récepteur.

  4. Choisissez Cloud Pub/Sub comme destination et sélectionnez le sujet Cloud Pub/Sub créé à cette fin. Remarque : le sujet Cloud Pub/Sub peut se situer dans un autre projet.

    Exporter les logs Google Cloud Pub/Sub vers le Pub Sub
  5. Choisissez les logs que vous souhaitez inclure dans le récepteur avec un filtre dʼinclusion ou dʼexclusion facultatif. Vous pouvez filtrer les logs avec une requête de recherche, ou utiliser lʼexemple de fonction. Par exemple, si vous souhaitez inclure seulement 10 % des logs avec ERROR comme niveau de severity, créez un filtre dʼinclusion avec severity="ERROR" AND sample(insertId, 0.01).

    Le filtre dʼinclusion pour un récepteur de logs Google Cloud avec une requête ayant comme propriétés severity=ERROR et sample(insertId, 0.1)
  6. Cliquez sur Create Sink.

Remarque : il est possible de créer plusieurs exportations depuis Google Cloud Logging vers le même sujet Cloud Pub/Sub en utilisant plusieurs récepteurs.

4. Créer et exécuter la tâche Dataflow

  1. Accédez à la page Créer une tâche à partir d’un modèle dans la console Google Cloud.

  2. Donnez un nom à la tâche et sélectionnez un endpoint régional Dataflow.

  3. Sélectionnez Pub/Sub to Datadog dans la liste déroulante Dataflow template, et la section Required parameters apparaît.
    a. Sélectionnez l’abonnement en entrée dans la liste déroulante Pub/Sub input subscription.
    b. Saisissez les informations suivantes dans le champ Datadog logs API URL :

    https://
    

    Remarque : assurez-vous que le sélecteur de site Datadog à droite de la page est défini sur votre site Datadog avant de copier l’URL ci-dessus.

    c. Sélectionnez le sujet créé pour recevoir les échecs de messages dans la liste déroulante Output deadletter Pub/Sub topic.
    d. Indiquez un chemin d’accès pour les fichiers temporaires dans votre compartiement de stockage dans le champ Temporary location.

Paramètres requis dans le modèle Dataflow Datadog
  1. Si vous avez créé un secret dans Secret Manager avec la valeur de votre clé API Datadog comme indiqué dans étape 1), entrez le nom de la ressource du secret dans le champ Google Cloud Secret Manager ID.
Paramètres facultatifs dans le modèle Dataflow Datadog avec les champs de lʼID de Secret Manager dans Google Cloud et la source de la clé dʼAPI transmise mis en évidence

Consultez la section Paramètres de modèle dans le modèle Dataflow pour en savoir plus sur lʼutilisation des autres options disponibles :

  • apiKeySource=KMS avec apiKeyKMSEncryptionKey défini sur votre clé dʼID de Cloud KMS et apiKey défini sur la clé dʼAPI chiffrée
  • Non conseillé : apiKeySource=PLAINTEXT avec apiKey défini sur la clé dʼAPI en texte brut
  1. Si vous avez créé un compte service de worker personnalisé, sélectionnez-le dans le menu déroulant Service account email.
Paramètres facultatifs dans le modèle Dataflow Datadog avec le menu déroulant de lʼe-mail du compte de service mis en évidence
  1. Cliquez sur RUN JOB.

Remarque : si vous possédez un VPC partagé, consultez la page Spécifier un réseau et un sous-réseau de la documentation Dataflow pour obtenir des instructions sur la spécification des paramètres Network et Subnetwork.

Validation

Les nouveaux événements de logs envoyés au sujet Cloud Pub/Sub apparaissent dans le Log Explorer de Datadog.

Remarque : vous pouvez utiliser le Calculateur de prix Google Cloud pour calculer les coûts potentiels.

Surveiller la redirection des logs Cloud Pub/Sub

intégration Google Cloud Pub/Sub fournit des métriques utiles pour surveiller l’état de la redirection des logs :

  • gcp.pubsub.subscription.num_undelivered_messages pour le nombre de messages en attente de livraison
  • gcp.pubsub.subscription.oldest_unacked_message_age pour l’âge du plus ancien message non acquitté dans un abonnement

Utilisez les métriques ci-dessus avec un monitor de métriques pour recevoir des alertes pour les messages dans vos abonnements en entrée et de messages non aboutis.

Surveiller le pipeline Dataflow

Utilisez lʼintégration Google Cloud Dataflow de Datadog pour surveiller tous les aspects de vos pipelines Dataflow. Vous pouvez voir toutes vos métriques Dataflow principales sur le dashboard prêt à l’emploi, doté de données contextuelles telles que des informations sur les instances GCE qui exécutent vos workloads Dataflow, et votre débit Pub/Sub.

Vous pouvez également utiliser un monitor recommandé préconfiguré pour configurer des notifications pour les augmentations du temps de backlog dans votre pipeline. Pour en savoir plus, lisez la section Monitor your Dataflow pipelines with Datadog (en anglais) dans le blog de Datadog.

Données collectées

Métriques

Consultez les différentes pages des intégrations Google Cloud pour en savoir plus sur les métriques associées.

Métriques cumulatives

Les métrique cumulatives sont importées dans Datadog avec une métrique .delta chaque nom de métrique. Une métrique cumulative est une métrique dont la valeur augmente constamment au fil du temps. Par exemple, une métrique pour sent bytes peut être cumulative. Chaque valeur enregistre le nombre total d’octets envoyés par un service à ce moment-là. La valeur delta représente la différence avec la mesure précédente.

Exemple :

gcp.gke.container.restart_count est une métrique CUMULATIVE. Lors de l’importation de cette métrique en tant que métrique cumulative, Datadog ajoute la métrique gcp.gke.container.restart_count.delta, qui inclut les valeurs delta (par opposition à la valeur agrégée émise dans le cadre de la métrique CUMULATIVE). Référez-vous à a section types de métriques Google Cloud pour en savoir plus.

Événements

Tous les événements de service générés par Google Cloud Platform sont transférés vers votre Events Explorer Datadog.

Checks de service

L’intégration Google Cloud Platform n’inclut aucun check de service.

Récupérer l’utilisation horaire pour les invocations tracées lambda

Les tags sont automatiquement attribués en fonction d’un ensemble d’options de configuration Google Cloud Platform et Google Compute Engine. Toutes les métriques bénéficient du tag project_id. Des tags supplémentaires sont recueillis à partir de la plateforme Google Cloud, le cas échéant. Les tags recueillis dépendent du type de métrique.

En outre, Datadog recueille les éléments suivants en tant que tags :

  • Les hosts avec les libellés <key>:<value>
  • Les libellés personnalisés de Google Pub/Sub, GCE, Cloud SQL et Cloud Storage

Dépannage

Mes métadonnées sont incorrectes pour les métriques gcp.logging définies par l’utilisateur

Pour les métriques gcp.logging non standard, comme les métriques qui ne correspondent pas aux métriques de journalisation Datadog par défaut, les métadonnées appliquées peuvent différer de celles de Google Cloud Logging.

Dans ce cas, les métadonnées doivent être définies manuellement sur la page de résumé de la métrique : recherchez et sélectionnez la métrique en question, puis cliquez sur l’icône en forme de crayon à côté des métadonnées.

Besoin d’aide ? Contactez l’assistance Datadog.

Pour aller plus loin