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.
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 :
L’intégration Google Cloud/Datadog pour le site utilise des comptes de service pour créer une connexion API entre Google Cloud et Datadog. Vous trouverez ci-dessous les instructions à suivre pour créer un compte de service et fournir à Datadog les identifiants du compte de service afin de commencer à effectuer des appels d’API en votre nom.
Saisissez un nom unique pour le compte de service et ajoutez éventuellement une description.
Cliquez sur Create and continue.
Ajoutez les rôles suivants :
Compute Viewer
Monitoring Viewer
Cloud Asset Viewer
Cliquez sur Done.
Remarque : vous devez être un administrateur clé de compte de service pour sélectionner les rôles Compute Engine et Cloud Asset. Tous les rôles sélectionnés permettent à Datadog de recueillir des métriques, des tags, des événements et des étiquettes dʼutilisateurs à votre place.
En bas de la page se trouvent vos comptes de service. Sélectionnez celui que vous venez de créer.
Cliquez sur Add Key -> Create new key et choisissez JSON comme type.
Cliquez sur Create. Un fichier de clé JSON est alors téléchargé sur votre ordinateur. Souvenez-vous de son emplacement, car vous en aurez besoin pour terminer lʼinstallation.
Dans l’onglet Configuration, sélectionnez Upload Key File pour intégrer ce projet à Datadog.
Si vous le souhaitez, vous pouvez utiliser des tags pour exclure des hosts de cette intégration. Vous trouverez des instructions détaillées à ce sujet dans la section relative aux configurations.
Cliquez sur Install/Update.
Si vous souhaitez surveiller plusieurs projets, utilisez l’une des méthodes suivantes :
Répétez les étapes ci-dessus pour utiliser plusieurs comptes de service.
Utilisez le même compte de service en modifiant la valeur de project_id dans le fichier JSON téléchargé à l’étape 10. Importez ensuite le fichier dans Datadog, tel que décrit aux étapes 11 à 14.
Configuration
Si vous le souhaitez, vous pouvez limiter les instances GCE récupérées par Datadog. Pour ce faire, saisissez des tags dans la zone de texte Limit Metric Collection située dans le menu déroulant d’un projet donné. Seuls les hosts qui correspondent à l’un des tags définis sont alors importés dans Datadog. Vous pouvez utiliser des wildcards (? pour un caractère unique, * pour plusieurs caractères) pour inclure un grand nombre de hosts, ou encore ! pour exclure certains hosts. L’exemple ci-dessous englobe toutes les instances de taille c1*, mais exclut les hosts de type staging :
Cette approche vous permet de surveiller tous les projets accessibles depuis un compte de service, en attribuant des rôles IAM aux projets pertinents. Il est possible d’attribuer ces rôles à des projets spécifiques, mais aussi de les attribuer à l’échelle d’une organisation ou d’un dossier, afin de surveiller des groupes de projets. De cette façon, Datadog découvre et surveille automatiquement tous les projets d’un contexte donné, y compris les nouveaux projets qui intègrent ultérieurement le groupe.
Cliquez sur Add GCP Account. SI vous n’avez pas encore configuré de projet, vous êtes automatiquement redirigé vers cette page.
Si vous n’avez pas généré de service principal Datadog pour votre organisation, cliquez sur le bouton Generate Principal.
Copiez votre service principal Datadog et conservez-le pour la prochaine section.
Gardez cette fenêtre ouverte, car vous en aurez besoin lors de la [prochaine section](#3-terminer-la-configuration-de-l-integration-dans-datadog).
Dans la [console Google Cloud][38303 sous le menu Service Accounts, recherchez le compte de service que vous avez créé lors de la première section.
Accédez à l’onglet Permissions, puis cliquez sur Grant Access.
Collez votre service principal Datadog dans la zone New Principals.
Attribuez le rôle Service Account Token Creator, puis cliquez sur Save.
Remarque : si vous avez déjà configuré l’accès à l’aide d’un service principal Datadog partagé, vous pouvez révoquer l’autorisation pour ce service principal après avoir suivi ces étapes.
3. Terminer la configuration de l’intégration dans Datadog
Dans votre console Google Cloud, accédez à l’onglet Service Account > Details, afin de consulter l’adresse e-mail associée à ce compte de service Google. Son format est <sa-name>@<project-id>.iam.gserviceaccount.com.
Copiez cette adresse e-mail.
Revenez sur le carré de configuration de l’intégration dans Datadog (là où vous avez copié votre service principal Datadog lors de la section précédente).
Dans la zone de texte sous Add Service Account Email, collez l’adresse e-mail que vous avez précédemment copiée.
Cliquez sur Verify and Save Account.
Les métriques devraient s’afficher dans Datadog après environ 15 minutes.
4. Attribuer des rôles à d’autres projets (facultatif)
Grâce à la découverte automatique de projets, il est beaucoup plus simple d’ajouter de nouveaux projets à surveiller. SI vous attribuez à d’autres projets, dossiers ou organisations un accès à votre compte de service, Datadog découvre ces projets (ainsi que tous les projets imbriqués dans les dossiers ou organisations) et les ajoute automatiquement à votre carré d’intégration.
Vérifiez que vous avez configuré les bonnes autorisations, afin que les rôles attribués disposent de l’accès prévu :
Project IAM Admin (ou autorisation de plus haut niveau)
Folder Admin
Organization Admin
Dans la console Google Cloud, accédez à la page IAM.
Sélectionnez un projet, un dossier ou une organisation.
Pour attribuer un rôle à un service principal qui ne possède pas encore de rôle pour la ressource, cliquez sur Grant Access, puis saisissez l’adresse e-mail du compte de service créé précédemment.
Attribuez les rôles suivants :
Compute Viewer
Monitoring Viewer
Cloud Asset Viewer
Remarque : le rôle Browser est uniquement requis pour le projet par défaut du compte de service.
Cliquez sur Save.
Configuration
Si vous le souhaitez, vous pouvez limiter les instances GCE récupérées par Datadog. Pour ce faire, saisissez des tags dans la zone de texte Limit Metric Collection située dans le menu déroulant d’un projet donné. Seuls les hosts qui correspondent à l’un des tags définis sont alors importés dans Datadog. Vous pouvez utiliser des wildcards (? pour un caractère unique, * pour plusieurs caractères) pour inclure un grand nombre de hosts, ou encore ! pour exclure certains hosts. L’exemple ci-dessous englobe toutes les instances de taille c1*, mais exclut les hosts de type staging :
Consultez la documentation Google pour obtenir plus de renseignements sur la création et la gestion de libellés.
Collecte de logs
Transmettez des logs à Datadog depuis vos services Google Cloud en utilisant Google Cloud Dataflow et le modèle Datadog. Cette méthode permet à la fois de compresser et de mettre en lots des événements avant de les transmettre à Datadog. Suivez les instructions indiquées dans cette section pour :
1. Créer une rubrique Pub/Sub et un abonnement pull pour recevoir des logs provenant d’un récepteur de logs configuré. 2. Créer un compte de service de worker Datadog personnalisé pour accorder le moindre privilège aux workers de votre pipeline Dataflow. 3(#3-exporter-des-logs-depuis-une-rubrique-
-google-cloud-pubsub). Créer un récepteur de logs pour publier des logs dans la rubrique Pub/Sub. 4. Créer une tâche Dataflow à lʼaide du modèle Datadog pour transmettre à Datadog des logs à partir de l’abonnement Pub/Sub.
Vous contrôlez entièrement les logs qui sont envoyés à Datadog via filtres de journalisation que vous créez dans le récepteur de logs, y compris les logs GCE et GKE. Consultez la page Langage de requête Logging de Google pour en savoir plus sur l’écriture de filtres.
Remarque : vous devez activer l’API Dataflow pour utiliser Google Cloud Dataflow. Consultez la section Activation des API de la documentation de Google Cloud pour en savoir plus.
Vous pouvez également utiliser lʼAgent Datadog pour recueillir des logs à partir d’applications exécutées dans GCE ou GKE, .
Si vous disposez d’un VPC Google Cloud, les nouveaux abonnements Push ne peuvent pas être configurés depuis des endpoints externes (consultez la page Produits compatibles et limites de Google Cloud pour en savoir plus).
L’abonnement Push n’assure pas la compression ou la mise en lots dʼévénements, et n’est donc adapté qu’à un très faible volume de logs
La documentation relative à l’abonnement Pushest uniquement conservée à des fins de dépannage ou de modification dʼanciennes configurations. Utilisez un abonnement Pull avec le modèle Dataflow de Datadog pour transmettre vos logs Google Cloud vers Datadog.
1. Créer une rubrique et un abonnement Cloud Pub/Sub
Accédez à la console Pub/Sub Cloud et créez une rubrique. 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.
Donnez un nom clair à ce sujet, comme export-logs-to-datadog, et cliquez sur Create.
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èleoutputDeadletterTopic. 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.
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.
Accédez à la page Comptes de service de la console Google Cloud et sélectionnez votre projet.
Cliquez sur CREATE SERVICE ACCOUNT et attribuez un nom descriptif au compte de service. Cliquez sur CREATE AND CONTINUE.
Ajoutez les rôles dans le tableau des autorisations correspondant et cliquez sur DONE.
Autoriser 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
Depuis lʼonglet Log Router, sélectionnez Create Sink.
Nommez le récepteur.
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.
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).
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.
Donnez un nom à la tâche et sélectionnez un endpoint régional Dataflow.
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.
Sous Optional Parameters, cochez Include full Pub/Sub message in the payload.
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.
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
Si vous avez créé un compte service de worker personnalisé, sélectionnez-le dans le menu déroulant Service account email.
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.
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.
Tags
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.