Monitorando as métricas do Step Functions usando a Amazon CloudWatch - AWS Step Functions

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Monitorando as métricas do Step Functions usando a Amazon CloudWatch

O monitoramento é uma parte importante da manutenção da confiabilidade, disponibilidade e desempenho de AWS Step Functions suas AWS soluções. Você deve coletar o máximo de dados de monitoramento dos AWS serviços que você usa para poder depurar falhas de vários pontos.

Antes de começar a monitorar o Step Functions, você deve criar um plano de monitoramento que responda às seguintes perguntas:

  • Quais são seus objetivos de monitoramento?

  • Quais recursos você vai monitorar?

  • Com que frequência você vai monitorar esses recursos?

  • Quais ferramentas de monitoramento você usará?

  • Quem realizará o monitoramento das tarefas?

  • Quem deve ser notificado quando algo der errado?

A próxima etapa é estabelecer um parâmetro de desempenho normal do em seu ambiente. Para isso, meça o desempenho em vários momentos e em diferentes condições de carga. Ao monitorar o Step Functions, avalie a possibilidade de armazenar os dados históricos de monitoramento. Esses dados podem servir de parâmetro para você comparar com os dados de desempenho atuais, identificar padrões normais de desempenho e anomalias de desempenho e criar meios para a solução de problemas.

Por exemplo, com o Step Functions, você pode monitorar quantas atividades ou AWS Lambda tarefas falham devido a um tempo limite de pulsação. Quando o desempenho ficar aquém do parâmetro que você estabeleceu, é provável que precise alterar seu intervalo de pulsação.

Para estabelecer um parâmetro, você deve monitorar no mínimo as métricas a seguir:

  • ActivitiesStarted

  • ActivitiesTimedOut

  • ExecutionsStarted

  • ExecutionsTimedOut

  • LambdaFunctionsStarted

  • LambdaFunctionsTimedOut

Métricas do Step Functions para CloudWatch

O Step Functions fornece os seguintes tipos de métricas para a Amazon CloudWatch. Você pode usar essas métricas para rastrear suas máquinas de estado e atividades e definir alarmes sobre valores limite. Você pode visualizar as métricas usando AWS Management Console o.

CloudWatch entrega de métricas

As métricas do CloudWatch são entregues com base em melhor esforço.

A integridade e pontualidade das métricas não são garantidas. O ponto de dados para uma solicitação específica pode ser retornado com um timestamp posterior à solicitação processada. O ponto de dados pode ser adiado por CloudWatch um minuto antes de ser disponibilizado ou pode nem mesmo ser entregue. CloudWatchas métricas de solicitação dão uma ideia das execuções da máquina de estado quase em tempo real. Não se trata de uma contabilidade completa de todas as métricas relacionadas à execução.

Devido à natureza de melhor esforço deste atributo, os relatórios disponíveis no Painel de gerenciamento de custos e faturamento podem incluir uma ou mais solicitações de acesso que não aparecem nas métricas de execução.

Métricas que relatam um intervalo de tempo

Algumas das CloudWatch métricas do Step Functions são intervalos de tempo, sempre medidos em milissegundos. Essas métricas geralmente correspondem aos estágios da execução para os quais você pode definir limites de tempo para uma máquina de estado, atividade e função do Lambda, com nomes descritivos.

Por exemplo, a métrica ActivityRunTime mede quanto tempo uma atividade precisa para ser concluída depois que começa a ser executada. Você pode definir um valor de tempo limite para o mesmo espaço de tempo.

No CloudWatch console, você pode obter os melhores resultados se escolher a média como estatística de exibição para métricas de intervalo de tempo.

Métricas que relatam uma contagem

Algumas das CloudWatch métricas do Step Functions relatam os resultados como uma contagem. Por exemplo, o ExecutionsFailed registra o número de execuções de máquina de estado com falha.

O Step Functions emite duas ExecutionsStarted métricas para cada execução de máquina de estado. Isso faz com que a SampleCountestatística da ExecutionsStarted métrica mostre o valor de 2 para cada execução de máquina de estado. A SampleCount estatística mostra ExecutionStarted=0 quando ExecutionStarted=1 a execução é concluída.

dica

Recomendamos selecionar Sum como estatística de exibição para métricas que relatam uma contagem no CloudWatch console.

Métricas de execução

O AWS/States namespace inclui as seguintes métricas para todas as execuções de Step Functions. Essas são métricas adimensionais que se aplicam à sua conta em uma região.

Métrica Descrição
OpenExecutionCount

Número aproximado de execuções abertas no momento — fluxos de trabalho que estão em andamento na sua conta.

A intenção é fornecer informações sobre quando seus fluxos de trabalho estão se aproximando do limite máximo de execução, para evitar ExecutionLimitExceedederros ao chamar StartExecution ou RedriveExecution para fluxos de trabalho padrão.

OpenExecutionCounté um número aproximado de fluxos de trabalho abertos. Essa métrica será menor do que a contagem observada do fluxo de trabalho em execução. Executar uma contagem de fluxo de trabalho aberto inferior a 10.000 pode mostrar zero execuções abertas. Para que um alarme notifique se você estiver se aproximandoOpenExecutionLimit, recomendamos usar a estatística máxima com um limite de 100K ou mais, pois o limite padrão do fluxo de trabalho aberto é de 1.000.000 de execuções.

OpenExecutionLimit

Número máximo de execuções abertas. Para obter mais informações, consulte Cotas relacionadas a contas.

Esse limite não se aplica aos fluxos de trabalho expressos.

Métricas de execução para máquina de estado com versão ou alias

Quando você executa uma execução de máquina de estado com uma versão ou um alias, o Step Functions emite as seguintes métricas. A ExecutionThrottled métrica só será emitida no caso de execução limitada. Essas métricas incluirão StateMachineArn a identificação de uma máquina de estado específica.

Métrica Descrição
ExecutionTime Intervalo, em milissegundos, entre a hora em que a execução começa e a hora em que ela é encerrada.
ExecutionThrottled Número de StateEntered eventos e novas tentativas que foram limitados. Isso está relacionado à limitação StateTransition. Para obter mais informações, consulte Cotas relacionadas aos controles de utilização de estado.
ExecutionsAborted Número de execuções abortadas ou encerradas.
ExecutionsFailed Número de execuções malsucedidas.
ExecutionsStarted Número de execuções iniciadas.
ExecutionsSucceeded Número de execuções concluídas com sucesso.
ExecutionsTimedOut Número de execuções que expiram por qualquer motivo.

Métricas de execução para fluxos de trabalho expressos

O namespace de AWS/States inclui as seguintes métricas para as execuções dos fluxos de trabalho expressos do Step Functions.

Métrica Descrição
ExpressExecutionMemory

A memória total consumida por um fluxo de trabalho expresso.

ExpressExecutionBilledDuration

A duração pela qual um fluxo de trabalho expresso é cobrado.

ExpressExecutionBilledMemory

A quantidade de memória consumida pela qual um fluxo de trabalho expresso é cobrado.

Métricas de execução de Redrive para fluxos de trabalho padrão

Quando você redrive uma execução de máquina de estado, o Step Functions emite as seguintes métricas.

Para todas as execuções redriven, a métrica Executions* é emitida. Por exemplo, digamos que uma execução redriven seja abortada. Essa execução emitirá pontos de dados diferentes de zero para RedrivenExecutionsAborted e ExecutionsAborted.

Métrica Descrição
ExecutionsRedriven Número de redriven execuções.
RedrivenExecutionsAborted Número de redriven execuções canceladas ou encerradas.
RedrivenExecutionsTimedOut Número de redriven execuções que expiram por qualquer motivo.
RedrivenExecutionsSucceeded Número de redriven execuções concluídas com êxito.
RedrivenExecutionsFailed Número de redriven execuções que falharam.

Dimensão das métricas de execução do Step Functions

Dimensão Descrição
StateMachineArn

O Amazon Resource Name (ARN) da máquina de estado para a execução em questão.

Dimensões para execuções com versão

Dimensão Descrição
StateMachineArn

O Amazon Resource Name (ARN) da máquina de estado cuja execução foi iniciada por uma versão.

Version

Versão da máquina de estado utilizada para iniciar a execução.

Dimensões para execuções com alias

Dimensão Descrição
StateMachineArn

O Amazon Resource Name (ARN) da máquina de estado cuja execução foi iniciada por um alias.

Alias

Alias da máquina de estado utilizado para iniciar a execução.

Métricas de contagem de recursos para versões e aliases

O namespace AWS/States inclui as seguintes métricas para a contagem de versões e aliases de uma máquina de estado.

Métrica Descrição
AliasCount

Número de aliases criados para a máquina de estado.

Você pode criar até cem aliases para cada máquina de estado.

VersionCount

Número de versões publicadas para a máquina de estado.

Você pode publicar até mil versões de uma máquina de estado.

Dimensão das métricas de contagem de recursos para versões e aliases

Dimensão Descrição
ResourceArn

O Amazon Resource Name (ARN) da máquina de estado com uma versão ou um alias.

Métricas de atividade

O namespace AWS/States inclui as métricas a seguir para atividades do Step Functions.

Métrica Descrição
ActivityRunTime Intervalo, em milissegundos, entre a hora em que a atividade começa e a hora em que ela é encerrada.
ActivityScheduleTime Intervalo, em milissegundos, durante o qual a atividade permanece no estado de agendamento.
ActivityTime Intervalo, em milissegundos, entre a hora em que a atividade é agendada e a hora em que ela é encerrada.
ActivitiesFailed Número de atividades que falharam.
ActivitiesHeartbeatTimedOut Número de atividades que atingem o tempo limite devido ao tempo limite do batimento cardíaco.
ActivitiesScheduled Número de atividades programadas.
ActivitiesStarted Número de atividades iniciadas.
ActivitiesSucceeded Número de atividades concluídas com sucesso.
ActivitiesTimedOut Número de atividades que expiram quando fecham.

Dimensão das métricas de atividade do Step Functions

Dimensão Descrição

ActivityArn

O ARN da atividade.

Métricas de função do Lambda

O namespace AWS/States inclui as métricas a seguir para funções do Lambda no Step Functions.

Métrica Descrição
LambdaFunctionRunTime Intervalo, em milissegundos, entre o momento em que a função Lambda é iniciada e a hora em que ela é fechada.
LambdaFunctionScheduleTime Intervalo, em milissegundos, durante o qual a função Lambda permanece no estado de agendamento.
LambdaFunctionTime Intervalo, em milissegundos, entre a hora em que a função Lambda é programada e a hora em que ela é fechada.
LambdaFunctionsFailed Número de funções Lambda com falha.
LambdaFunctionsScheduled Número de funções Lambda programadas.
LambdaFunctionsStarted Número de funções Lambda iniciadas.
LambdaFunctionsSucceeded Número de funções Lambda concluídas com sucesso.
LambdaFunctionsTimedOut Número de funções do Lambda que atingem o tempo limite de fechamento.

Dimensão para Métricas de Função do Lambda para o Step Functions

Dimensão Descrição

LambdaFunctionArn

O ARN da função Lambda.

nota

As métricas da função Lambda são emitidas para estados de tarefas que especificam a função Lambda no campo. ARN Resource Em vez disso, estados de tarefas que usam "Resource": "arn:aws:states:::lambda:invoke" emitem métricas de integração de serviços. Para obter mais informações, consulte Invoque uma AWS Lambda função com Step Functions.

Métricas de integração de serviço

O namespace AWS/States inclui as seguintes métricas para integrações de serviços do Step Functions. Para obter mais informações, consulte Integrando outros serviços com Step Functions.

Métrica Descrição
ServiceIntegrationRunTime Intervalo, em milissegundos, entre o momento em que a tarefa de serviço é iniciada e a hora em que ela é fechada.
ServiceIntegrationScheduleTime Intervalo, em milissegundos, durante o qual a tarefa de serviço permanece no estado agendado.
ServiceIntegrationTime Intervalo, em milissegundos, entre a hora em que a tarefa de serviço é agendada e a hora em que ela é fechada.
ServiceIntegrationsFailed Número de tarefas de serviço com falha.
ServiceIntegrationsScheduled Número de tarefas de serviço agendadas.
ServiceIntegrationsStarted Número de tarefas de serviço iniciadas.
ServiceIntegrationsSucceeded Número de tarefas de serviço concluídas com êxito.
ServiceIntegrationsTimedOut Número de tarefas de serviço que atingem o tempo limite de fechamento.

Dimensão para métricas de integração de serviço do Step Functions

Dimensão Descrição

ServiceIntegrationResourceArn

O recurso ARN do serviço integrado.

Métricas de serviço

O namespace AWS/States inclui as métricas a seguir para o serviço do Step Functions.

Métrica Descrição
ThrottledEvents

Contagem de solicitações que foram limitadas.

ProvisionedBucketSize

Contagem de solicitações disponíveis por segundo.

ProvisionedRefillRate

Contagem de solicitações por segundo que são permitidas no bucket.

ConsumedCapacity

Contagem de solicitações por segundo.

Dimensão das métricas de serviço do Step Functions

Dimensão Descrição

ServiceMetric

Filtra os dados para mostrar as métricas de transições de estado.

APIMétricas

O AWS/States namespace inclui as seguintes métricas para o Step Functions. API

Métrica Descrição
ThrottledEvents

Contagem de solicitações que foram limitadas.

ProvisionedBucketSize

Contagem de solicitações disponíveis por segundo.

ProvisionedRefillRate

Contagem de solicitações por segundo que são permitidas no bucket.

ConsumedCapacity

Contagem de solicitações por segundo.

Dimensão para Step Functions API Metrics

Dimensão Descrição

APIName

Filtra os dados para um API dos API nomes especificados.

Visualizando métricas do Step Functions em CloudWatch

Você pode usar o CloudWatch console para visualizar as métricas do Step Functions para execuções, atividades, funções e integrações de serviços.

  1. Faça login no AWS Management Console e abra o CloudWatch console.

  2. Escolha Metrics (Métricas) e, na guia All Metrics (Todas as métricas), escolha States (Estados).

    Se você tiver qualquer execução recente, verá até quatro tipos de métrica:

    • Execution Metrics (Métricas de execução)

    • Métricas de função de atividade

    • Métricas do Lambda Funtopicction

    • Métricas de integração de serviço

  3. Escolha um tipo de métrica para ver uma lista de métricas.

    • Para classificar suas métricas por nome da métrica ou StateMachineArn, use os títulos das colunas.

    • Para visualizar os gráficos correspondentes a uma métrica, marque a caixa de seleção ao lado da métrica na lista. Você pode alterar os parâmetros do gráfico usando os controles de período acima da visualização do gráfico.

      Você pode escolher períodos personalizados usando valores relativos ou absolutos (especifique dias e horas). Você também pode usar a lista suspensa para exibir valores como linhas, áreas empilhadas ou números (valores).

    • Para ver os detalhes sobre um gráfico, passe o mouse sobre o código de cores da métrica que aparece abaixo do gráfico para exibir os detalhes da métrica.

Para obter mais informações sobre como trabalhar com CloudWatch métricas, consulte Usando CloudWatch métricas da Amazon no Guia CloudWatch do usuário da Amazon.

Definindo alarmes para métricas de Step Functions em CloudWatch

Você pode usar os CloudWatch alarmes da Amazon para realizar ações. Por exemplo, se você quiser saber quando um limite de alarme é atingido, você pode configurar um alarme para enviar uma notificação para um SNS tópico da Amazon ou para enviar um e-mail quando a StateMachinesFailed métrica ultrapassar um determinado limite.

Para definir um alarme em uma métrica

  1. Faça login no AWS Management Console e abra o CloudWatch console.

  2. Escolha Metrics (Métricas) e, na guia All Metrics (Todas as métricas), escolha States (Estados).

    Se você tiver qualquer execução recente, verá até quatro tipos de métrica:

    • Execution Metrics (Métricas de execução)

    • Métricas de função de atividade

    • Métricas de função do Lambda

    • Métricas de integração de serviço

  3. Escolha um tipo de métrica para ver uma lista de métricas.

  4. Escolha uma métrica e, depois, Graphed metrics (Métricas em gráfico).

  5. Escolha o ícone em forma de sino ao lado de uma métrica na lista para exibir a página Criar alarme.

  6. Insira os valores para Alarm threshold (Limite de alarme) e Actions (Ações) e escolha Create Alarm (Criar alarme).

Para obter mais informações sobre a configuração e o uso de CloudWatch alarmes, consulte Criação de CloudWatch alarmes da Amazon no Guia CloudWatch do usuário da Amazon.