Alertes clés en main pour Dataflow

Pour surveiller l'état et la consommation des ressources d'un pipeline de streaming sans configurer manuellement des règles dans Cloud Monitoring, vous pouvez activer les alertes clés en main dans Dataflow. Les alertes clés en main fournissent une suite préconfigurée de règles d'alerte recommandées que vous pouvez activer au démarrage d'une tâche.

Cette fonctionnalité vous permet d'effectuer les opérations suivantes :

  • Obtenir une visibilité instantanée : suivez automatiquement les métriques de streaming critiques, telles que le temps de traitement des tâches en attente et la croissance des processeurs virtuels, sans configuration manuelle.
  • Standardiser la surveillance : appliquez rapidement des règles d'alerte de référence aux charges de travail de production nouvelles et existantes.
  • Personnaliser les alertes : ajustez les seuils d'alerte par défaut, désactivez des règles individuelles ou ajoutez vos propres règles d'alerte personnalisées à la suite.

Vous pouvez personnaliser ces règles par défaut à tout moment dans Cloud Monitoring ou intégrer vos propres règles d'alerte personnalisées à la suite d'alertes clés en main.

Prérequis

Pour utiliser les alertes clés en main, votre projet doit répondre aux exigences suivantes :

  1. Canaux de notification : vous devez avoir configuré au moins un canal de notification (par exemple, e-mail, Slack ou PagerDuty). Nous vous recommandons de configurer les contacts essentiels pour vous assurer que les alertes parviennent aux parties prenantes appropriées. Cette exigence n'est pas appliquée par le service Dataflow. Pour en savoir plus, consultez la page Créer et gérer des canaux de notification.

  2. Autorisations : le compte de service Dataflow (P4SA) nécessite des autorisations IAM spécifiques pour créer et gérer ces règles en votre nom :

    • monitoring.alertPolicies.get
    • monitoring.alertPolicies.list
    • monitoring.alertPolicies.create
    • monitoring.alertPolicies.update
    • monitoring.alertPolicies.delete

    Pour les nouveaux projets, ces autorisations sont ajoutées automatiquement. Pour les projets existants, vous devrez peut-être définir manuellement ces autorisations sur le compte P4SA.

Mettre à jour les autorisations P4SA

L'agent de service Dataflow (souvent appelé P4SA, ou compte de service par produit et par projet) est un compte de service géré automatiquement qui est créé lorsque vous activez l'API Dataflow. Son adresse e-mail utilise le format suivant :

service-PROJECT_NUMBER@dataflow-service-producer-prod.iam.gserviceaccount.com

Pour mettre à jour le P4SA, vous avez besoin de l'autorisation resourcemanager.projects.setIamPolicy ou d'un rôle qui inclut cette autorisation, tel qu'administrateur IAM du projet (roles/resourcemanager.projectIamAdmin).

Pour accorder les rôles requis à l'aide de la Google Cloud console, procédez comme suit :

  1. Dans la Google Cloud console, accédez à la page IAM.

    Accéder à IAM

  2. Sélectionnez votre projet.

  3. Cochez la case Inclure les attributions de rôles fournies par Google.

  4. Dans la liste des comptes principaux, recherchez la ligne de l'agent de service Dataflow (service-PROJECT_NUMBER@dataflow-service-producer-prod.iam.gserviceaccount.com ou avec le rôle Agent de service Cloud Dataflow).

  5. Sur cette ligne, cliquez sur Modifier le compte principal.

  6. Dans le volet Modifier les autorisations, cliquez sur Ajouter un autre rôle.

  7. Dans la liste Sélectionner un rôle, sélectionnez Éditeur Monitoring (roles/monitoring.editor).

  8. Cliquez sur Enregistrer. La propagation de la mise à jour des autorisations peut prendre plusieurs minutes.

Activer les alertes clés en main

Vous pouvez enregistrer une tâche dans les alertes clés en main à l'aide de la gcloud CLI.

Activer les alertes à l'aide de la gcloud CLI

Ajoutez l'une des options suivantes lors de l'envoi de la tâche pour activer ou désactiver la fonctionnalité :

  • --enable-turnkey-alerts
  • --no-enable-turnkey-alerts

Si votre compte de service ne dispose pas des autorisations requises, la CLI rejette la requête et affiche les autorisations manquantes. Pour en savoir plus, consultez les conditions préalables.

Les paramètres d'alerte clés en main sont conservés lors des mises à jour des tâches. Lorsque vous mettez à jour une tâche, le paramètre d'alerte clé en main précédent est conservé. Vous n'avez donc pas besoin de spécifier à nouveau l'option --enable-turnkey-alerts ou --no-enable-turnkey-alerts, sauf si vous souhaitez modifier le paramètre.

Suite de règles par défaut

Les alertes clés en main incluent deux règles principales conçues pour les charges de travail de streaming typiques, qui se concentrent sur les KPI en temps réel tels que les temps de traitement et l'utilisation des ressources. Les règles fournies par Google sont précédées de Default Policy: pour l'identification, bien que le service utilise des libellés comme identifiant principal.

Les clients sont automatiquement inscrits à toutes les règles de la suite de règles par défaut. Si nécessaire, vous pouvez désactiver des règles par défaut spécifiques dans Cloud Monitoring Alerting.

Nom de la règle Métrique de base Seuil par défaut Explication
Règle par défaut : tâches en attente estimées job/estimated_backlog_processing_time 30 minutes Estime le temps nécessaire pour effacer les tâches en attente actuelles. Un temps d'attente supérieur à 30 minutes indique que la tâche a du mal à progresser.
Règle par défaut : règle de croissance des processeurs virtuels job/current_num_vcpus Augmentation supérieure à 5 fois de l'utilisation moyenne des processeurs virtuels sur une heure par rapport à la moyenne sur sept jours Surveille les modifications relatives du nombre de processeurs virtuels pour aider à évaluer les coûts de tâche inattendus.

Cycle de vie des règles

  • Règles bêta : ces règles ont un préfixe BETA dans leur nom et sont susceptibles d'être modifiées ou supprimées à mesure que les seuils sont affinés.
  • Règles GA : une fois qu'une règle est considérée comme stable, le préfixe BETA est supprimé.

Personnaliser et gérer les alertes

Les alertes clés en main servent de point de départ. Nous vous recommandons de les personnaliser pour répondre aux besoins spécifiques de votre entreprise.

  1. Dans la Google Cloud console, accédez à Cloud Monitoring > Alertes.
  2. Recherchez la règle (par exemple, Règle par défaut : tâches en attente estimées).
  3. Modifiez le seuil en lui attribuant la valeur de votre choix.

Créer des règles personnalisées

Vous pouvez ajouter n'importe quelle règle d'alerte Cloud Monitoring à votre suite d'alertes clés en main en lui ajoutant le libellé goog-turnkey-alerts. Cela vous permet de gérer des règles personnalisées spécifiques à votre entreprise en plus de la suite par défaut.

Désactiver ou supprimer des règles d'alerte

Vous pouvez désactiver ou supprimer des règles par défaut spécifiques à l'aide de Monitoring. Lorsque vous désactivez une règle, Monitoring cesse d'évaluer la condition de la règle et aucun nouvel incident n'est créé, mais la configuration de la règle est conservée. Si vous supprimez une règle, elle est définitivement supprimée de votre projet. Pour en savoir plus sur la gestion des cycles de vie des règles, consultez Gérer les règles d'alerte et Règles d'alerte désactivées.

Dépannage

Problème Solution
PERMISSION_DENIED Assurez-vous que le P4SA Dataflow dispose des autorisations monitoring.alertPolicies.* requises listées dans les prérequis. Si le P4SA ne dispose pas de ces rôles, votre pipeline se lance quand même, mais une erreur PERMISSION_DENIED s'affiche dans la sortie de la ligne de commande et dans les journaux de tâches, indiquant que les alertes par défaut n'ont pas pu être créées.
Aucune alerte reçue Déterminez si la condition d'alerte a été remplie en recherchant des incidents. Vous pouvez afficher les déclenchements d'alerte et les chronologies des incidents dans Monitoring (consultez Afficher les incidents et les événements).
Règles en double Cela se produit généralement si plusieurs règles partagent le libellé goog-turnkey-alerts et la même configuration de métrique. Dataflow recherche les libellés et les métriques qui se chevauchent plutôt que les correspondances exactes de noms. Examinez vos règles et supprimez le libellé des configurations redondantes.