Surveiller les workflows

Google Cloud Observability fournit des outils de surveillance, de journalisation et de diagnostic. Ces outils peuvent vous aider à surveiller et à analyser les déploiements et les exécutions de workflows, et à comprendre le comportement, l'état et les performances de vos applications.

Par défaut, Workflows est configuré pour effectuer les opérations suivantes:

  • Envoyer des données et des journaux d'audit système à Cloud Logging. Vous pouvez utiliser les journaux collectés pour déboguer, résoudre des problèmes et obtenir des insights sur vos applications.
  • Envoyer des métriques système et de ressources à Cloud Monitoring. Vous pouvez utiliser les métriques collectées pour surveiller l'état et les performances, identifier les tendances et les problèmes, et signaler les changements de comportement.

Envoyer des journaux d'audit à Cloud Logging

Workflows envoie les types de données de journaux d'audit suivants à Cloud Logging:

Les journaux d'audit d'accès aux données sont désactivés par défaut, car ils peuvent être volumineux. Pour en savoir plus, consultez la section Activer les journaux d'audit pour l'accès aux données.

Pour en savoir plus sur les journaux d'audit dans Workflows, consultez les ressources suivantes:

Vous pouvez également envoyer des journaux d'exécution à Cloud Logging.

Envoyer des métriques à Cloud Monitoring

Les workflows envoient les données de métriques des ressources surveillées à Google Cloud Observability. Dans Monitoring, une ressource surveillée représente une entité logique ou physique, telle qu'une machine virtuelle, une base de données ou une application. Les ressources surveillées contiennent un ensemble unique de métriques qui peuvent être explorées, signalées via un tableau de bord ou utilisées pour créer des alertes. Chaque ressource possède également un ensemble de libellés de ressources, qui sont des paires clé-valeur contenant des informations supplémentaires sur la ressource. Les libellés de ressources sont disponibles pour toutes les métriques associées à la ressource.

Pour afficher tous les types de ressources, consultez la page Types de ressources surveillées. Pour afficher tous les types de métriques, consultez la section Métriques Google Cloud. Développez les éléments suivants pour afficher la liste des types de métriques envoyés depuis les workflows vers Google Cloud Observability:

Types de métriques de Workflows

Les chaînes "Type de métrique" de ce tableau doivent être précédées du préfixe workflows.googleapis.com/. Ce préfixe a été omis dans les entrées du tableau. Lorsque vous interrogez une étiquette, utilisez le préfixe metric.labels. (par exemple, metric.labels.LABEL="VALUE").

Type de métrique Étape de lancement(niveaux de la hiérarchie des ressources)
Nom à afficher
Genre, type, unité
Ressources surveillées
Description
Libellés
await_callback_step_count GA(project)
Nombre d'étapes d'attente du rappel
DELTAINT641
workflows.googleapis.com/Workflow
Nombre d'étapes exécutées qui attendent un rappel. Échantillonné toutes les 60 secondes. Après échantillonnage, les données ne sont pas visibles pendant un délai pouvant atteindre 120 secondes.
revision_id : ID de révision du workflow exécuté.
callback_requests_count GA(project)
Nombre de requêtes de rappel
DELTAINT641
workflows.googleapis.com/Workflow
Nombre de requêtes envoyées pour déclencher un rappel. Échantillonné toutes les 60 secondes. Après échantillonnage, les données ne sont pas visibles pendant un délai pouvant atteindre 120 secondes.
revision_id : ID de révision du workflow exécuté.
callback_timeout_count GA(projet)
Nombre de délais avant expiration des rappels
DELTAINT641
workflows.googleapis.com/Workflow
Nombre de rappels ayant expiré. Échantillonné toutes les 60 secondes. Après échantillonnage, les données ne sont pas visibles pendant un délai pouvant atteindre 120 secondes.
revision_id : ID de révision du workflow exécuté.
cmek_protected_workflow_count GA(project)
Nombre de workflows protégés par CMEK
DELTAINT641
workflows.googleapis.com/Workflow
Nombre de workflows déployés avec la protection CMEK. Échantillonné toutes les 60 secondes. Après échantillonnage, les données ne sont pas visibles pendant un délai pouvant atteindre 120 secondes.
revision_id : ID de révision du workflow exécuté.
compute_slice_count GA(project)
Nombre de tranches Compute
DELTAINT641
workflows.googleapis.com/Workflow
Nombre de tranches de calcul exécutées. Les étapes sont exécutées en tranches de travail, qui dépendent du type d'étapes exécutées (par exemple, les requêtes HTTP s'exécutent séparément des étapes "assigner"). Échantillonné toutes les 60 secondes. Après échantillonnage, les données ne sont pas visibles pendant un délai pouvant atteindre 120 secondes.
revision_id : ID de révision du workflow exécuté.
type : type de tranche de calcul, par exemple "IO_REQUEST" ou "WAKEUP".
has_parallel : (BOOL) Indique si le workflow utilise des étapes parallèles.
compute_slice_latencies GA(project)
Latences de la tranche de calcul
DELTADISTRIBUTIONms
workflows.googleapis.com/Workflow
Latences entre le moment où un segment de calcul a été planifié et le moment où il a été exécuté. Échantillonné toutes les 60 secondes. Après échantillonnage, les données ne sont pas visibles pendant un délai pouvant atteindre 120 secondes.
revision_id : ID de révision du workflow exécuté.
type : type de tranche de calcul, par exemple "IO_REQUEST" ou "WAKEUP".
has_parallel : (BOOL) Indique si le workflow utilise des étapes parallèles.
compute_step_count GA(project)
Nombre d'étapes de calcul
DELTAINT641
workflows.googleapis.com/Workflow
Nombre d'étapes de calcul exécutées (par exemple, les étapes "assign" et "for"). Échantillonné toutes les 60 secondes. Après échantillonnage, les données ne sont pas visibles pendant un délai pouvant atteindre 120 secondes.
revision_id : ID de révision du workflow exécuté.
compute_step_latencies GA(project)
Latences de l'étape de calcul
DELTADISTRIBUTIONms
workflows.googleapis.com/Workflow
Latences des étapes de calcul exécutées. Échantillonné toutes les 60 secondes. Après échantillonnage, les données ne sont pas visibles pendant un délai pouvant atteindre 120 secondes.
revision_id : ID de révision du workflow exécuté.
create_callback_step_count GA(project)
Nombre d'étapes de création du rappel
DELTAINT641
workflows.googleapis.com/Workflow
Nombre d'étapes exécutées qui créent un rappel. Échantillonné toutes les 60 secondes. Après échantillonnage, les données ne sont pas visibles pendant un délai pouvant atteindre 120 secondes.
revision_id : ID de révision du workflow exécuté.
method : type de méthode du rappel créé, par exemple "POST".
deployment_attempt_count GA(project)
Nombre d'essais de déploiement
DELTAINT641
workflows.googleapis.com/Workflow
Nombre de tentatives de déploiement du workflow. Échantillonné toutes les 60 secondes. Après échantillonnage, les données ne sont pas visibles pendant un délai pouvant atteindre 120 secondes.
revision_id : ID de révision du workflow exécuté.
result : état des tentatives de déploiement.
deployment_latencies GA(project)
Latences de déploiement
DELTADISTRIBUTIONms
workflows.googleapis.com/Workflow
Latence des tentatives de déploiement de workflow. Échantillonné toutes les 60 secondes. Après échantillonnage, les données ne sont pas visibles pendant un délai pouvant atteindre 120 secondes.
revision_id : ID de révision du workflow exécuté.
duplicate_event_count GA(projet)
Nombre d'événements en double
DELTAINT641
workflows.googleapis.com/Workflow
Nombre de déclencheurs d'événements en double reçus. Échantillonné toutes les 60 secondes. Après échantillonnage, les données ne sont pas visibles pendant un délai pouvant atteindre 120 secondes.
revision_id : ID de révision du workflow exécuté.
event_type : type de l'événement.
event_time_to_ack_latencies DG(project)
Latences de confirmation de l'heure de l'événement
DELTADISTRIBUTIONms
workflows.googleapis.com/Workflow
Latences entre le début d'un événement et le moment où le service Workflows l'acquitte. Échantillonné toutes les 60 secondes. Après échantillonnage, les données ne sont pas visibles pendant un délai pouvant atteindre 120 secondes.
revision_id : ID de révision du workflow exécuté.
event_type : type de l'événement.
event_trigger_count GA(projet)
Nombre de déclencheurs d'événement
DELTAINT641
workflows.googleapis.com/Workflow
Nombre de déclencheurs d'événements reçus. Échantillonné toutes les 60 secondes. Après échantillonnage, les données ne sont pas visibles pendant un délai pouvant atteindre 120 secondes.
revision_id : ID de révision du workflow exécuté.
event_type : type de l'événement.
result : résultat du déclencheur d'événement.
execution_backlog_size GA(project)
Taille de la file d'attente d'exécution
GAUGEINT641
workflows.googleapis.com/Workflow
Nombre d'exécutions qui n'ont pas encore commencé. Échantillonné toutes les 60 secondes. Après échantillonnage, les données ne sont pas visibles pendant un délai pouvant atteindre 120 secondes.
revision_id : ID de révision du workflow exécuté.
execution_times BÊTA(project)
Temps d'exécution
DELTADISTRIBUTIONs
workflows.googleapis.com/Workflow
Distribution des durées d'exécution du workflow.
revision_id : ID de révision du workflow exécuté.
external_step_count BÊTA(project)
Nombre de pas externes
DELTAINT641
workflows.googleapis.com/Workflow
Nombre d'étapes externes exécutées pour le workflow.
finished_execution_count BÊTA(project)
Nombre d'exécutions terminées
DELTAINT641
workflows.googleapis.com/Workflow
Nombre d'exécutions terminées pour le workflow.
status : état d'exécution du workflow.
revision_id : ID de révision du workflow exécuté.
internal_execution_error_count GA(project)
Nombre d'erreurs d'exécution internes
DELTAINT641
workflows.googleapis.com/Workflow
Nombre d'exécutions ayant échoué en raison d'une erreur interne. Échantillonné toutes les 60 secondes. Après échantillonnage, les données ne sont pas visibles pendant un délai pouvant atteindre 120 secondes.
revision_id : ID de révision du workflow exécuté.
internal_step_count BÊTA(project)
Nombre d'étapes internes
DELTAINT641
workflows.googleapis.com/Workflow
Nombre d'étapes internes exécutées pour le workflow.
io_internal_request_count GA(project)
Nombre de requêtes internes d'E/S
DELTAINT641
workflows.googleapis.com/Workflow
Nombre de requêtes d'E/S envoyées par un workflow aux services Google. Échantillonné toutes les 60 secondes. Après échantillonnage, les données ne sont pas visibles pendant un délai pouvant atteindre 120 secondes.
revision_id : ID de révision du workflow exécuté.
service_domain : domaine du service Google appelé, par exemple "bigquery.googleapis.com".
io_step_count GA(project)
Nombre d'étapes d'E/S
DELTAINT641
workflows.googleapis.com/Workflow
Nombre d'étapes d'E/S exécutées. Échantillonné toutes les 60 secondes. Après échantillonnage, les données ne sont pas visibles pendant un délai pouvant atteindre 120 secondes.
revision_id : ID de révision du workflow exécuté.
io_result : résultat de l'étape d'E/S.
io_step_type : type d'étape d'E/S.
destination_type : type de destination de l'étape d'E/S.
had_system_error : (BOOL) Indique si une erreur système s'est produite à l'étape d'E/S.
io_step_latencies GA(project)
Latences des étapes d'E/S
DELTADISTRIBUTIONms
workflows.googleapis.com/Workflow
Latences des étapes d'E/S exécutées. Échantillonné toutes les 60 secondes. Après échantillonnage, les données ne sont pas visibles pendant un délai pouvant atteindre 120 secondes.
revision_id : ID de révision du workflow exécuté.
io_result : résultat de l'étape d'E/S.
io_step_type : type d'étape d'E/S.
had_system_error : (BOOL) Indique si une erreur système s'est produite à l'étape d'E/S.
kms_decrypt_latencies GA(project)
Latences de déchiffrement KMS
DELTADISTRIBUTIONms
workflows.googleapis.com/Workflow
Latence des requêtes de déchiffrement envoyées à KMS par workflow pour CMEK. Échantillonné toutes les 60 secondes. Après échantillonnage, les données ne sont pas visibles pendant un délai pouvant atteindre 120 secondes.
revision_id : ID de révision du workflow exécuté.
status : état des requêtes de déchiffrement.
attempts : (INT64) nombre d'essais des requêtes de déchiffrement.
kms_decrypt_request_count GA(project)
Nombre de requêtes de déchiffrement KMS
DELTAINT641
workflows.googleapis.com/Workflow
Nombre de requêtes de déchiffrement KMS effectuées par le service pour CMEK. Échantillonné toutes les 60 secondes. Après échantillonnage, les données ne sont pas visibles pendant un délai pouvant atteindre 120 secondes.
revision_id : ID de révision du workflow exécuté.
status : état des requêtes de déchiffrement.
kms_encrypt_latencies GA(project)
Latences de chiffrement KMS
DELTADISTRIBUTIONms
workflows.googleapis.com/Workflow
Latence des requêtes de chiffrement envoyées à KMS par les workflows pour CMEK. Échantillonné toutes les 60 secondes. Après échantillonnage, les données ne sont pas visibles pendant un délai pouvant atteindre 120 secondes.
revision_id : ID de révision du workflow exécuté.
status : état des requêtes de chiffrement.
attempts : (INT64) nombre d'essais des requêtes de chiffrement.
kms_encrypt_request_count GA(project)
Nombre de requêtes de chiffrement KMS
DELTAINT641
workflows.googleapis.com/Workflow
Nombre de requêtes de chiffrement KMS effectuées par le service pour CMEK. Échantillonné toutes les 60 secondes. Après échantillonnage, les données ne sont pas visibles pendant un délai pouvant atteindre 120 secondes.
revision_id : ID de révision du workflow exécuté.
status : état des requêtes de chiffrement.
parallel_branch_step_count GA(projet)
Nombre d'étapes de la branche parallèle
DELTAINT641
workflows.googleapis.com/Workflow
Nombre d'étapes exécutées à l'aide de branches parallèles. Échantillonné toutes les 60 secondes. Après échantillonnage, les données ne sont pas visibles pendant un délai pouvant atteindre 120 secondes.
revision_id : ID de révision du workflow exécuté.
parallel_branch_substep_count GA(projet)
Nombre de sous-étapes de la branche parallèle
DELTAINT641
workflows.googleapis.com/Workflow
Nombre d'étapes exécutées dans les branches parallèles. Échantillonné toutes les 60 secondes. Après échantillonnage, les données ne sont pas visibles pendant un délai pouvant atteindre 120 secondes.
revision_id : ID de révision du workflow exécuté.
parallel_iteration_step_count GA(projet)
Nombre d'étapes d'itération parallèle
DELTAINT641
workflows.googleapis.com/Workflow
Nombre d'étapes exécutées à l'aide d'itérations parallèles. Échantillonné toutes les 60 secondes. Après échantillonnage, les données ne sont pas visibles pendant un délai pouvant atteindre 120 secondes.
revision_id : ID de révision du workflow exécuté.
parallel_iteration_substep_count GA(projet)
Nombre de sous-étapes d'itération parallèle
DELTAINT641
workflows.googleapis.com/Workflow
Nombre d'étapes exécutées dans les itérations parallèles. Échantillonné toutes les 60 secondes. Après échantillonnage, les données ne sont pas visibles pendant un délai pouvant atteindre 120 secondes.
revision_id : ID de révision du workflow exécuté.
parallel_unhandled_exceptions_limit_count GA(projet)
Nombre de limites de l'exception non gérée parallèle
DELTAINT641
workflows.googleapis.com/Workflow
Nombre de fois où la limite d'exception parallèle non gérée a été atteinte. Échantillonné toutes les 60 secondes. Après échantillonnage, les données ne sont pas visibles pendant un délai pouvant atteindre 120 secondes.
revision_id : ID de révision du workflow exécuté.
pending_io_requests GA(project)
Requêtes d'E/S en attente
GAUGEINT641
workflows.googleapis.com/Workflow
Nombre de requêtes d'E/S en cours. Échantillonné toutes les 60 secondes. Après échantillonnage, les données ne sont pas visibles pendant un délai pouvant atteindre 120 secondes.
revision_id : ID de révision du workflow exécuté.
sent_bytes_count BÊTA(project)
Octets réseau envoyés
DELTAINT64By
workflows.googleapis.com/Workflow
Nombre d'octets HTTP sortants (URL, en-têtes et corps) envoyés par le workflow.
revision_id : ID de révision du workflow exécuté.
started_execution_count BÊTA(project)
Nombre d'exécutions lancées
DELTAINT641
workflows.googleapis.com/Workflow
Nombre d'exécutions démarrées pour le workflow.
revision_id : ID de révision du workflow exécuté.
started_vpcsc_executions_count DG(project)
Nombre d'exécutions VPC-SC lancées
DELTAINT641
workflows.googleapis.com/Workflow
Nombre d'exécutions limitées par le VPC-SC démarrées. Échantillonné toutes les 60 secondes. Après échantillonnage, les données ne sont pas visibles pendant un délai pouvant atteindre 120 secondes.
revision_id : ID de révision du workflow exécuté.
vpcsc_protected_io_count GA(project)
Nombre d'E/S protégées par VPC-SC
DELTAINT641
workflows.googleapis.com/Workflow
Nombre de requêtes d'E/S effectuées à l'aide de VPC-SC. Échantillonné toutes les 60 secondes. Après échantillonnage, les données ne sont pas visibles pendant un délai pouvant atteindre 120 secondes.
revision_id : ID de révision du workflow exécuté.

Tableau généré le 26-11-2024 à 17:39:42 UTC.

Lire les données de métrique

Vous pouvez lire les données de métriques, également appelées données de séries temporelles, à l'aide de la méthode timeSeries.list dans l'API Cloud Monitoring. Il existe plusieurs façons d'appeler la méthode, y compris en utilisant une bibliothèque cliente spécifique au langage ou en créant un graphique avec Metrics Explorer.Vous pouvez également essayer la méthode timeSeries.list à l'aide de l'explorateur d'API basé sur les formulaires. Pour obtenir une présentation des métriques et des séries temporelles, consultez la section Métriques, séries temporelles et ressources. Pour savoir comment lire vos données de métrique, consultez la section Récupérer des données de séries temporelles.

Surveiller les métriques de quota

L'exemple suivant montre comment utiliser l'APIs Explorer pour interroger le quota d'allocation total consommé pour les workflows. Plus précisément, il utilise la métrique serviceruntime.googleapis.com/quota/allocation/usage sur le type de ressource Consumer Quota. Vous pouvez définir des filtres de libellés supplémentaires (service, quota_metric) pour spécifier le type de quota. Pour en savoir plus sur la surveillance des métriques de quota, y compris obtenir d'autres exemples et découvrir comment créer des règles d'alerte, consultez la page Représenter graphiquement et surveiller les métriques de quota.

  1. Ouvrez la page de référence de timeSeries.list.

  2. Si le volet Essayer cette méthode n'est pas visible, cliquez sur Essayer.

  3. Dans le champ name (nom), saisissez l'ID de votre projet Google Cloud au format suivant:

    projects/PROJECT_ID
    
  4. Dans le champ filter, spécifiez un seul type de métrique, et éventuellement des libellés de métrique et d'autres informations. Exemple :

    metric.type = "serviceruntime.googleapis.com/quota/allocation/usage" AND resource.labels.service = "workflowexecutions.googleapis.com"
    
  5. Dans le champ interval.endTime, saisissez une heure de fin pour limiter la quantité de données renvoyées et qui s'applique à votre utilisation. Il doit être au format RFC 3339 (par exemple, 2024-11-07T03:01:02Z).

  6. Dans le champ interval.startTime, saisissez une heure de début pour limiter la quantité de données renvoyées et qui s'applique à votre utilisation. Il doit être au format de chaîne RFC 3339 (par exemple, 2024-11-07T03:01:00Z).

  7. Cliquez sur Exécuter.

    Le résultat doit se présenter comme suit, avec 350 indiquant la métrique de quota d'exécutions simultanées.

    {
    "timeSeries": [
       {
          "metric": {
          "labels": {
             "quota_metric": "workflowexecutions.googleapis.com/concurrency"
          },
          "type": "serviceruntime.googleapis.com/quota/allocation/usage"
          },
          "resource": {
          "type": "consumer_quota",
          "labels": {
             "service": "workflowexecutions.googleapis.com",
             "project_id": "PROJECT_ID",
             "location": "europe-west1"
          }
          },
          "metricKind": "GAUGE",
          "valueType": "INT64",
          "points": [
          {
             "interval": {
                "startTime": "2024-11-07T03:01:02Z",
                "endTime": "2024-11-07T03:01:02Z"
             },
             "value": {
                "int64Value": "350"
             }
          }
          ]
       }
    
  8. Dans le panneau latéral d'APIs Explorer fermé, vous pouvez cliquer sur Plein écran pour développer APIs Explorer. Le panneau en plein écran affiche un volet supplémentaire contenant des exemples de code, des réponses application/json et des réponses HTTP brutes. Par exemple, dans ce cas, vous pouvez consulter la commande curl comparable:

    curl \
    'https://monitoring.googleapis.com/v3/projects/PROJECT_ID/timeSeries?filter=metric.type%20%3D%20%22serviceruntime.googleapis.com%2Fquota%2Fallocation%2Fusage%22%20AND%20resource.labels.service%20%3D%20%22workflowexecutions.googleapis.com%22&interval.endTime=2024-11-07T03%3A01%3A02Z&interval.startTime=2024-11-07T03%3A01%3A00Z&key=YOUR_API_KEY' \
       --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
       --header 'Accept: application/json' \
       --compressed
    

Utiliser les tableaux de bord et les alertes Monitoring

Les tableaux de bord Monitoring et les graphiques associés vous permettent de visualiser les données des métriques Workflows.

Pour surveiller ces métriques dans Monitoring, vous pouvez créer des tableaux de bord personnalisés. Vous pouvez également ajouter des alertes en fonction de ces métriques.

Étape suivante