Surveillance des métriques de Step Functions à l'aide d'Amazon CloudWatch - AWS Step Functions

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Surveillance des métriques de Step Functions à l'aide d'Amazon CloudWatch

La surveillance joue un rôle important dans le maintien de la fiabilité, de la disponibilité et des performances de AWS Step Functions et votre AWS solutions. Vous devez collecter autant de données de surveillance auprès du AWS services que vous utilisez pour corriger les défaillances multipoints.

Avant de commencer à surveiller Step Functions, vous devez créer un plan de surveillance répondant aux questions suivantes :

  • Quels sont les objectifs de la surveillance ?

  • Quelles sont les ressources à surveiller ?

  • À quelle fréquence les ressources doivent-elles être surveillées ?

  • Quels outils de surveillance utiliser ?

  • Qui exécute les tâches de supervision ?

  • Qui doit être informé en cas de problème ?

La prochaine étape consiste à établir une base pour les performances normales de dans votre environnement. Pour cela, vous devez mesurer les performances à différents moments et sous différentes conditions de charge. Lorsque vous surveillez Step Functions, pensez à stocker des données de surveillance historiques. Ces données peuvent constituer une référence à comparer avec des données de performances actuelles, afin d'identifier les modèles de performance normaux et les anomalies de performance, et de concevoir des solutions pour résoudre les problèmes.

Par exemple, avec Step Functions, vous pouvez surveiller le nombre d'activités ou AWS Lambda les tâches échouent en raison d'un délai d'expiration du rythme cardiaque. Lorsque les performances se trouveront en dehors de la référence établie, vous devrez peut-être modifier votre intervalle de pulsations.

Pour établir une référence, vous devez au moins surveiller les métriques suivantes :

  • ActivitiesStarted

  • ActivitiesTimedOut

  • ExecutionsStarted

  • ExecutionsTimedOut

  • LambdaFunctionsStarted

  • LambdaFunctionsTimedOut

Métriques Step Functions pour CloudWatch

Step Functions fournit les types de métriques suivants à Amazon CloudWatch. Vous pouvez utiliser ces métriques pour suivre les machines d'état et les activités, et définir des alarmes sur les valeurs seuils. Vous pouvez consulter les statistiques à l'aide du AWS Management Console.

CloudWatch livraison des métriques

CloudWatch les indicateurs sont fournis dans la mesure du possible.

L'exhaustivité et la ponctualité des métriques ne sont pas garanties. Le point de données d'une demande particulière doit être retourné avec un horodatage ultérieur au moment du traitement de la demande. Le point de données peut être retardé d'une minute avant d'être disponible CloudWatch, ou il se peut qu'il ne soit pas livré du tout. CloudWatch les métriques de demande vous donnent une idée des exécutions de la machine à états en temps quasi réel. Il ne s'agit pas d'un compte rendu complet de tous les indicateurs liés à l'exécution.

Compte tenu de la nature optimale de cette fonctionnalité, les rapports disponibles sur le tableau de bord de gestion de la facturation et des coûts peuvent inclure une ou plusieurs demandes d'accès qui n'apparaissent pas dans les statistiques d'exécution.

Indicateurs indiquant un intervalle de temps

Certaines des CloudWatch métriques de Step Functions sont des intervalles de temps, toujours mesurés en millisecondes. Ces métriques correspondent généralement aux étapes de votre exécution pour lesquelles vous pouvez définir les délais d'expiration de la machine à états, de l'activité et des fonctions Lambda, avec des noms descriptifs.

Par exemple, la métrique ActivityRunTime détermine le temps nécessaire pour qu'une activité soit terminée après le début de son exécution. Vous pouvez définir une valeur de délai d'attente pour la même période de temps.

Dans la CloudWatch console, vous pouvez obtenir les meilleurs résultats si vous choisissez la moyenne comme statistique d'affichage pour les mesures d'intervalle de temps.

Indicateurs indiquant un décompte

Certaines CloudWatch métriques de Step Functions indiquent les résultats sous forme de décompte. Par exemple, ExecutionsFailed enregistre le nombre d'exécutions de machine d'état ayant échoué.

Step Functions émet deux ExecutionsStarted métriques pour chaque exécution de State Machine. Cela fait que la SampleCountstatistique de la ExecutionsStarted métrique affiche la valeur 2 pour chaque exécution de la machine à états. La SampleCount statistique indique ExecutionStarted=1 et ExecutionStarted=0 quand l'exécution est terminée.

Astuce

Nous vous recommandons de sélectionner Sum comme statistique d'affichage pour les métriques qui indiquent un décompte dans la CloudWatch console.

Métriques d'exécution

L'espace de AWS/States noms inclut les métriques suivantes pour toutes les exécutions de Step Functions. Il s'agit de statistiques sans dimension qui s'appliquent à l'ensemble de votre compte dans une région.

Métrique Description
OpenExecutionCount

Nombre approximatif d'exécutions actuellement ouvertes : flux de travail actuellement en cours dans votre compte.

L'objectif est de fournir un aperçu du moment où vos flux de travail approchent de la limite d'exécution maximale, afin d'éviter les ExecutionLimitExceedederreurs lors des appels StartExecution ou RedriveExecution pour les flux de travail standard.

OpenExecutionCountest un nombre approximatif de flux de travail ouverts. Cette métrique sera inférieure au nombre de flux de travail en cours d'exécution observé. Un nombre de flux de travail ouvert inférieur à 10 000 peut indiquer aucune exécution ouverte. Pour qu'une alarme vous avertisse si vous approchez de votre objectifOpenExecutionLimit, nous vous recommandons d'utiliser la statistique Maximum avec un seuil de 100 000 ou plus, étant donné que la limite de flux de travail ouvert par défaut est de 1 000 000 d'exécutions.

OpenExecutionLimit

Nombre maximum d'exécutions ouvertes. Pour de plus amples informations, veuillez consulter Quotas liés aux comptes.

Cette limite ne s'applique pas aux flux de travail express.

Métriques d'exécution pour la machine à états avec version ou alias

Lorsque vous exécutez une exécution State Machine avec une version ou un alias, Step Functions émet les métriques suivantes. La ExecutionThrottled métrique ne sera émise qu'en cas d'exécution limitée. Ces métriques incluront un StateMachineArn pour identifier une machine à états spécifique.

Métrique Description
ExecutionTime Intervalle, en millisecondes, entre le début de l'exécution et le moment où elle se termine.
ExecutionThrottled Nombre d'StateEnteredévénements et de nouvelles tentatives qui ont été limités. Ceci est lié aux limites StateTransition. Pour de plus amples informations, veuillez consulter Quotas liés à l'étranglement de l'État.
ExecutionsAborted Nombre d'exécutions abandonnées ou interrompues.
ExecutionsFailed Nombre d'exécutions ratées.
ExecutionsStarted Nombre d'exécutions entamées.
ExecutionsSucceeded Nombre d'exécutions terminées avec succès.
ExecutionsTimedOut Nombre d'exécutions dont le délai est expiré pour une raison ou une autre.

Métriques d'exécution pour Express Workflows

L'espace de AWS/States noms inclut les métriques suivantes pour les exécutions de Step Functions Express Workflows.

Métrique Description
ExpressExecutionMemory

Mémoire totale consommée par un flux de travail express.

ExpressExecutionBilledDuration

Durée pour laquelle un flux de travail express est facturé.

ExpressExecutionBilledMemory

Quantité de mémoire consommée pour laquelle un flux de travail express est facturé.

Redrive métriques d'exécution pour les flux de travail standard

Lorsque vous redriveune exécution par machine à états, Step Functions émet les métriques suivantes.

Pour tous redriven exécutions, la Executions* métrique est émise. Par exemple, disons un redriven l'exécution est interrompue. Cette exécution émettra des points de données non nuls pour les deux et. RedrivenExecutionsAborted ExecutionsAborted

Métrique Description
ExecutionsRedriven Nombre de redriven exécutions.
RedrivenExecutionsAborted Nombre de redriven exécutions annulées ou terminées.
RedrivenExecutionsTimedOut Nombre de redriven exécutions qui expirent pour une raison ou une autre.
RedrivenExecutionsSucceeded Nombre de redriven exécutions qui se sont terminées avec succès.
RedrivenExecutionsFailed Nombre de redriven exécutions qui ont échoué.

Mesures d'exécution de Dimension for Step Functions

Dimension Description
StateMachineArn

Le nom de ressource Amazon (ARN) de la machine d'état pour l'exécution en question.

Dimensions pour les exécutions avec version

Dimension Description
StateMachineArn

Le nom de ressource Amazon (ARN) de la machine d'état dont l'exécution a été lancée par une version.

Version

Version de la machine à états utilisée pour démarrer l'exécution.

Dimensions pour les exécutions avec un alias

Dimension Description
StateMachineArn

Le nom de ressource Amazon (ARN) de la machine d'état dont l'exécution a été lancée par un alias.

Alias

Alias de machine à états utilisé pour démarrer l'exécution.

Mesures relatives au nombre de ressources pour les versions et les alias

L'espace de AWS/States noms inclut les métriques suivantes pour le nombre de versions et d'alias d'une machine à états.

Métrique Description
AliasCount

Nombre d'alias créés pour la machine à états.

Vous pouvez créer jusqu'à 100 alias pour chaque machine à états.

VersionCount

Nombre de versions publiées pour la machine d'état.

Vous pouvez publier jusqu'à 1 000 versions d'une machine à états.

Dimension pour les mesures relatives au nombre de ressources pour les versions et les alias

Dimension Description
ResourceArn

Le nom de ressource Amazon (ARN) de la machine à états avec une version ou un alias.

Métriques d'activité

L'espace de AWS/States noms inclut les métriques suivantes pour les activités de Step Functions.

Métrique Description
ActivityRunTime Intervalle, en millisecondes, entre le début de l'activité et le moment où elle se termine.
ActivityScheduleTime Intervalle, en millisecondes, pendant lequel l'activité reste dans l'état planifié.
ActivityTime Intervalle, en millisecondes, entre le moment où l'activité est planifiée et celui où elle se termine.
ActivitiesFailed Nombre d'activités ayant échoué.
ActivitiesHeartbeatTimedOut Nombre d'activités qui s'interrompent en raison d'un arrêt du rythme cardiaque.
ActivitiesScheduled Nombre d'activités programmées.
ActivitiesStarted Nombre d'activités démarrées.
ActivitiesSucceeded Nombre d'activités achevées avec succès.
ActivitiesTimedOut Nombre d'activités dont le délai est expiré à la fermeture.

Mesures d'activité de Dimension for Step Functions

Dimension Description

ActivityArn

Le ARN de l'activité.

Métriques de la fonction Lambda

L'espace de AWS/States noms inclut les métriques suivantes pour les fonctions Lambda Step Functions.

Métrique Description
LambdaFunctionRunTime Intervalle, en millisecondes, entre le moment où la fonction Lambda démarre et celui où elle se ferme.
LambdaFunctionScheduleTime Intervalle, en millisecondes, pendant lequel la fonction Lambda reste dans l'état de planification.
LambdaFunctionTime Intervalle, en millisecondes, entre le moment où la fonction Lambda est planifiée et le moment où elle se ferme.
LambdaFunctionsFailed Nombre de fonctions Lambda ayant échoué.
LambdaFunctionsScheduled Nombre de fonctions Lambda planifiées.
LambdaFunctionsStarted Nombre de fonctions Lambda démarrées.
LambdaFunctionsSucceeded Nombre de fonctions Lambda terminées avec succès.
LambdaFunctionsTimedOut Nombre de fonctions Lambda qui expirent à la fermeture.

Dimension for Step Functions > Métriques de la fonction Lambda

Dimension Description

LambdaFunctionArn

Celui ARN de la fonction Lambda.

Note

Les métriques de fonction Lambda sont émises pour les états de tâche qui spécifient la fonction ARN Lambda dans le champ. Resource États de tâches qui utilisent plutôt "Resource": "arn:aws:states:::lambda:invoke" des métriques d'intégration de services d'émission. Pour de plus amples informations, veuillez consulter Invoquez un AWS Lambda fonctionne avec Step Functions.

Métriques d'intégration de services

L'espace de AWS/States noms inclut les métriques suivantes pour les intégrations de services Step Functions. Pour de plus amples informations, veuillez consulter Intégrer les services avec Step Functions.

Métrique Description
ServiceIntegrationRunTime Intervalle, en millisecondes, entre le début de la tâche de service et le moment où elle se termine.
ServiceIntegrationScheduleTime Intervalle, en millisecondes, pendant lequel la tâche de service reste dans l'état planifié.
ServiceIntegrationTime Intervalle, en millisecondes, entre le moment où la tâche de service est planifiée et celui où elle se termine.
ServiceIntegrationsFailed Nombre de tâches de service ayant échoué.
ServiceIntegrationsScheduled Nombre de tâches de service planifiées.
ServiceIntegrationsStarted Nombre de tâches de service démarrées.
ServiceIntegrationsSucceeded Nombre de tâches de service achevées avec succès.
ServiceIntegrationsTimedOut Nombre de tâches de service qui expirent à la clôture.

Mesures d'intégration du service Dimension for Step Functions

Dimension Description

ServiceIntegrationResourceArn

La ressource ARN du service intégré.

Métriques de service

L'espace de AWS/States noms inclut les métriques suivantes pour le service Step Functions.

Métrique Description
ThrottledEvents

Nombre de demandes qui ont été limitées.

ProvisionedBucketSize

Nombre de demandes disponibles par seconde.

ProvisionedRefillRate

Nombre de demandes autorisées dans le compartiment par seconde.

ConsumedCapacity

Nombre de demandes par seconde.

Mesures du service Dimension for Step Functions

Dimension Description

ServiceMetric

Données de filtres pour afficher les métriques de transitions d'état.

APIMétriques

L'espace de AWS/States noms inclut les métriques suivantes pour les Step FunctionsAPI.

Métrique Description
ThrottledEvents

Nombre de demandes qui ont été limitées.

ProvisionedBucketSize

Nombre de demandes disponibles par seconde.

ProvisionedRefillRate

Nombre de demandes autorisées dans le compartiment par seconde.

ConsumedCapacity

Nombre de demandes par seconde.

Dimension for Step Functions API Metrics

Dimension Description

APIName

Filtre les données selon API le API nom spécifié.

Affichage des métriques de Step Functions dans CloudWatch

Vous pouvez utiliser la CloudWatch console pour consulter les métriques Step Functions relatives aux exécutions, aux activités, aux fonctions et aux intégrations de services.

  1. Connectez-vous au AWS Management Console et ouvrez la CloudWatch console.

  2. Choisissez Metrics (Métriques), puis sous l'onglet All Metrics (Toutes les métriques), choisissez States (États).

    Si vous avez effectué des exécutions récemment, vous verrez jusqu'à quatre types de métriques :

    • Execution Metrics (Métriques de l'exécution)

    • Métriques de la fonction de l'activité

    • Métriques de la fonction Lambda

    • Métriques d'intégration des services

  3. Choisissez un type de métrique pour afficher une liste de métriques.

    • Pour trier vos statistiques par nom de métrique ou utilisez StateMachineArnles en-têtes de colonne.

    • Pour afficher les graphiques d'une métrique, cochez la case en regard de la métrique sur la liste. Vous pouvez modifier les paramètres du graphique à l'aide des contrôles des plages de temps au-dessus de l'affichage du graphique.

      Vous pouvez choisir des plages de temps personnalisées à l'aide de valeurs relatives ou absolues (jours et heures spécifiques). Vous pouvez également utiliser la liste déroulante pour afficher les valeurs sous forme de lignes, de zones empilées ou de chiffres (valeurs).

    • Pour afficher les détails d'un graphique, survolez le code couleur de la métrique qui apparaît sous le graphique pour afficher les détails de la métrique.

Pour plus d'informations sur l'utilisation des CloudWatch métriques, consultez la section Utilisation d'Amazon CloudWatch Metrics dans le guide de CloudWatch l'utilisateur Amazon.

Configuration d'alarmes pour les métriques Step Functions dans CloudWatch

Vous pouvez utiliser les CloudWatch alarmes Amazon pour effectuer des actions. Par exemple, si vous souhaitez savoir quand un seuil d'alarme est atteint, vous pouvez configurer une alarme pour envoyer une notification à un SNS sujet Amazon ou pour envoyer un e-mail lorsque la StateMachinesFailed métrique dépasse un certain seuil.

Pour configurer une alarme sur une métrique

  1. Connectez-vous au AWS Management Console et ouvrez la CloudWatch console.

  2. Choisissez Metrics (Métriques), puis sous l'onglet All Metrics (Toutes les métriques), choisissez States (États).

    Si vous avez effectué des exécutions récemment, vous verrez jusqu'à quatre types de métriques :

    • Execution Metrics (Métriques de l'exécution)

    • Métriques de la fonction de l'activité

    • Métriques de la fonction Lambda

    • Métriques d'intégration des services

  3. Choisissez un type de métrique pour afficher une liste de métriques.

  4. Choisissez une métrique, puis choisissez Graphed metrics (Graphique des métriques).

  5. Cliquez sur l'icône en forme de cloche à côté d'une métrique dans la liste pour afficher la page Créer une alarme.

  6. Entrez les valeurs des champs Alarm threshold (Seuil d'alarme) et Actions, puis choisissez Créer une alarme.

Pour plus d'informations sur le paramétrage et l'utilisation des CloudWatch alarmes, consultez la section Création d' CloudWatch alarmes Amazon dans le guide de CloudWatch l'utilisateur Amazon.