Destination Google Pub/Sub
Ce produit n'est pas pris en charge par le
site Datadog que vous avez sélectionné. (
).
Présentation
Utilisez la destination Google Pub/Sub d’Observability Pipelines pour publier des logs dans le système de messagerie Google Pub/Sub, afin que les logs puissent être envoyés vers des services en aval, des lacs de données ou des applications personnalisées.
Quand utiliser cette destination :
Scénarios courants où vous pourriez utiliser cette destination :
- Pour les pipelines d’analyse : acheminez les logs en aval vers Google BigQuery, Data Lake ou des workflows d’apprentissage automatique personnalisés.
- Pour le traitement piloté par les événements : publiez les logs dans un sujet Pub/Sub afin que Google Cloud Functions, les fonctions Cloud Run et les tâches Dataflow puissent effectuer des actions en temps réel basées sur les données de log.
Prérequis
Avant de configurer la destination, vous avez besoin des éléments suivants :
- Abonnement Pub/Sub : créez un sujet Pub/Sub et au moins un abonnement pour consommer les messages.
- Authentification : configurez une méthode d’authentification Google Cloud standard. Ces options incluent :
- Une clé de compte de service (fichier JSON)
- Une identité de charge de travail (Google Kubernetes Engine (GKE))
- Rôles IAM :
roles/pubsub.publisher est requis pour la publication d’événements.roles/pubsub.viewer est recommandé pour les contrôles d’état.- Si le rôle est manquant, l’erreur
Healthcheck endpoint forbidden est enregistrée et le Worker continue comme d’habitude.
- Consultez Rôles Pub/Sub disponibles pour plus d’informations.
Configurez un compte de service pour le Worker
Un compte de service dans Google Cloud est un type de compte utilisé uniquement par des applications ou des services.
- Il possède sa propre identité et ses propres identifiants (un fichier de clé JSON).
- Vous lui attribuez des rôles IAM afin qu’il puisse accéder à des ressources spécifiques.
- Dans ce cas, l’Observability Pipelines Worker utilise un compte de service pour s’authentifier et envoyer des logs à Pub/Sub en votre nom.
Pour vous authentifier à l’aide d’un compte de service :
- Dans la console Google Cloud, accédez à IAM et administration > Comptes de service.
- Cliquez sur + Créer un compte de service.
- Saisissez un nom et cliquez sur Créer et continuer.
- Attribuez des rôles :
- Éditeur Pub/Sub
- Lecteur Pub/Sub
- Cliquez sur Terminé.
Méthodes d’authentification
Une fois le compte de service créé avec les rôles appropriés, configurez l’une des méthodes d’authentification suivantes :
Option A : méthode Workload Identity (pour GKE, recommandée)
- Associez le compte de service à un compte de service Kubernetes (KSA).
- Autorisez l’usurpation d’identité du compte de service par ce KSA.
- Annotez le KSA afin que GKE sache quel compte de service utiliser.
- L’authentification provient alors du serveur de métadonnées de GCP.
Option B : attachez le GSA directement à une VM (pour Google Compute Engine)
Utilisez cette méthode d’authentification si vous exécutez l’Observability Pipelines Worker sur une VM Google Compute Engine (GCE).
- Lorsque vous créez ou modifiez la VM, spécifiez le compte de service Google sous Identité et accès aux API > Compte de service.
Option C : Exécuter le service en tant que GSA (pour Cloud Run ou Cloud Functions)
Utilisez cette méthode d’authentification si vous déployez le Worker en tant que service Cloud Run ou Cloud Function.
- Dans les paramètres de déploiement de Cloud Run ou Cloud Functions, définissez le Compte de service d’exécution sur le compte de service Google que vous avez créé.
Option D : Méthode de clé JSON (tout environnement sans liaisons d’identité)
- Ouvrez le nouveau compte de service et accédez à Clés > Ajouter une clé > Créer une nouvelle clé.
- Choisissez le format JSON.
- Enregistrez le fichier JSON téléchargé dans un emplacement sécurisé.
- Après avoir installé le Worker, copiez ou montez le fichier JSON dans
DD_OP_DATA_DIR/config/.
Vous référencez ce fichier dans le champ Credentials path lorsque vous configurez la destination dans l’interface utilisateur des pipelines.
Configuration
Configurez la destination Google Pub/Sub lorsque vous configurez un pipeline. Vous pouvez configurer un pipeline dans l’interface utilisateur, en utilisant l’API ou avec Terraform. Les étapes de cette section sont configurées dans l’interface utilisateur.
Après avoir sélectionné la destination Google Pub/Sub dans l’interface utilisateur du pipeline :
- Saisissez le nom du projet de destination.
- Il s’agit du projet GCP où se trouve votre sujet Pub/Sub.
- Saisissez le sujet.
- Il s’agit du sujet Pub/Sub vers lequel publier les logs.
- Dans le menu déroulant Encoding, sélectionnez si vous souhaitez encoder la sortie de votre pipeline en JSON ou Raw message.
- JSON : Les journaux sont structurés au format JSON (recommandé si les outils en aval ont besoin de données structurées).
- Raw : Les journaux sont envoyés sous forme de chaînes brutes (préserve le format d’origine).
- Si vous disposez d’un fichier JSON d’identifiants, saisissez le chemin d’accès à votre fichier JSON d’identifiants.
- Si vous utilisez un fichier JSON de compte de service : saisissez le chemin
DD_OP_DATA_DIR/config/<your-service-account>.json. - Ou définissez la variable d’environnement
GOOGLE_APPLICATION_CREDENTIALS. - Les identifiants sont gérés automatiquement si vous utilisez l’identité de charge de travail sur GKE.
Paramètres optionnels
Activer TLS
Pour la gestion des secrets : saisissez uniquement l'identifiant du mot de passe de la clé TLS. Ne saisissez pas la valeur réelle.
Toggle the switch to Enable TLS.
- If you are using Secrets Management, enter the identifier for the key pass. See Secret defaults for the default used if the field is left blank.
- Enter the following certificate and key files:
Server Certificate Path: The path to the certificate file that has been signed by your Certificate Authority (CA) root file in DER, PEM, or CRT (X.509).- (Optional)
CA Certificate Path: The path to the certificate file that is your Certificate Authority (CA) root file in DER, PEM, or CRT (X.509). - (Optional)
Private Key Path: The path to the .key private key file that belongs to your Server Certificate Path in DER, PEM, or CRT (PKCS #8) format. - Notes:
- The configuration data directory
/var/lib/observability-pipelines-worker/config/ is automatically appended to the file paths. See Advanced Worker Configurations for more information. - The file must be readable by the
observability-pipelines-worker group and user.
If you enter secret identifiers and then choose to use environment variables, the environment variable is the identifier entered and prepended with DD_OP_. For example, if you entered PASSWORD_1 for a password identifier, the environment variable for that password is DD_OP_PASSWORD_1.
Mise en mémoire tampon
Toggle the switch to enable Buffering Options. Enable a configurable buffer on your destination to ensure intermittent latency or an outage at the destination doesn’t create immediate backpressure, and allow events to continue to be ingested from your source. Disk buffers can also increase pipeline durability by writing data to disk, ensuring buffered data persists through a Worker restart. See Destination buffers for more information.
- If left unconfigured, your destination uses a memory buffer with a capacity of 500 events.
- To configure a buffer on your destination:
- Select the buffer type you want to set (Memory or Disk).
- Enter the buffer size and select the unit.
- Maximum memory buffer size is 128 GB.
- Maximum disk buffer size is 5 TB.
- Note: For Worker versions 2.20.x and older, the maximum disk buffer size is 500 GB.
- In the Behavior on full buffer dropdown menu, select whether you want to block events or drop new events when the buffer is full.
Valeurs par défaut des secrets
These are the defaults used for secret identifiers and environment variables.
- (Facultatif) Identifiant de l’URL d’endpoint Google Pub/Sub :
- Par défaut, le Worker envoie les données vers l’endpoint global :
https://pubsub.googleapis.com. - Si votre sujet Pub/Sub est spécifique à une région, configurez l’URL d’endpoint Google Pub/Sub alternative avec l’endpoint régional. Consultez À propos des points de terminaison Pub/Sub pour plus d’informations. Saisissez l’URL d’endpoint configurée dans votre gestionnaire de secrets.
- L’identifiant par défaut est
DESTINATION_GCP_PUBSUB_ENDPOINT_URL.
- Identifiant du mot de passe TLS Google Pub/Sub (lorsque TLS est activé) :
- L’identifiant par défaut est
DESTINATION_GCP_PUBSUB_KEY_PASS.
Points de terminaison Pub/Sub alternatifs facultatifs
By default the Worker sends data to the global endpoint: https://pubsub.googleapis.com.
If your Pub/Sub topic is region-specific, configure the Google Pub/Sub alternative endpoint URL with the regional endpoint. See About Pub/Sub endpoints for more information.
The default environment variable is DD_OP_DESTINATION_GCP_PUBSUB_ENDPOINT_URL.
TLS (when enabled)
- Google Pub/Sub TLS passphrase:
- The default environment variable is
DD_OP_DESTINATION_GCP_PUBSUB_KEY_PASS.
Dépannage
Problèmes courants et solutions :
- Vérification de l’état interdite
- Vérifiez le rôle IAM
roles/pubsub.viewer.
- Autorisation refusée
- Assurez-vous que le compte de service dispose de
roles/pubsub.publisher.
- Erreurs d’authentification
- Vérifiez le chemin d’accès au JSON des identifiants ou la configuration de l’identité de charge de travail GKE.
- Événements abandonnés
- Vérifiez les métriques
pipelines.component_discarded_events_total et pipelines.buffer_discarded_events_total. - Augmentez la taille du tampon ou corrigez les filtres mal configurés si nécessaire pour résoudre le problème.
- Latence élevée
- Réduisez la taille du tampon et le délai d’attente, ou mettez à l’échelle vos Workers.
- Aucun log n’arrive
- Dans la configuration de votre destination Google Pub/Sub, vérifiez le nom du sujet, le projet et l’endpoint Pub/Sub (global ou régional).
Métriques de santé
Pour les métriques de composant et les métriques de tampon de destination émises par toutes les destinations, consultez la documentation sur les métriques d’utilisation des pipelines. Pour filtrer ou regrouper par métriques de destination Google Pub/Sub, utilisez le tag component_type:gcp_pubsub.
Traitement par lots d’événements
Un lot d’événements est vidé lorsque l’un de ces paramètres est atteint. Consultez Lot d’événements des destinations pour plus d’informations.
| Nombre maximal d’événements | Taille maximale (Mo) | Délai d’attente (secondes) |
|---|
| 1 000 | 10 | 1 |