Monitorando 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 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ê pode coletar dados dos AWS serviços que você usa para 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.

Recomendamos monitorar as falhas de atividades e tarefas para estabelecer uma linha de base. Defina um alerta para quando o desempenho estiver fora da métrica da linha de base, para poder pesquisar a causa raiz.

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

  • ExecutionsStarted

  • ExecutionsTimedOut

  • Opcional (se você usar Atividades) - ActivitiesStarted

  • Opcional (se você usar Atividades) - ActivitiesTimedOut

Tipos de métricas de 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 Console de gerenciamento da AWS o.

As métricas são agrupadas por um namespace, um contêiner para CloudWatch métricas, para que as métricas de diferentes aplicativos não sejam agregadas por engano.

Nomes e registro em log não ASCII

O Step Functions aceita nomes de máquina de estado, execuções, atividades e rótulos que contenham caracteres não ASCII. Como esses caracteres impedirão que a Amazon CloudWatch registre dados, recomendamos usar somente caracteres ASCII para que você possa acompanhar as métricas do Step Functions.

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 demorar um minuto para ser CloudWatch disponibilizado ou pode não 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.

Observe que o Step Functions emite duas métricas de ExecutionsStarted para cada execução de máquina de estado. Como resultado, a SampleCountestatística da ExecutionsStarted métrica mostrará o valor de 2 para cada execução de máquina de estado. A SampleCount estatística mostra ExecutionStarted=1 e, em seguida, ExecutionStarted=0 após a conclusão da execução.

Da mesma forma, outras métricas de status de execução podem ser emitidas mais de uma vez devido à at-least-once melhor entrega de CloudWatch métricas.

dica

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

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 Console de gerenciamento da AWS 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.

    • 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 visualizar detalhes sobre um grafo, passe o mouse sobre o código de cor da métrica que é exibido abaixo do grafo 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 quiser saber quando um limite de alarme foi atingido, você pode definir um alarme para enviar uma notificação para um tópico do Amazon SNS ou para enviar um e-mail quando a métrica do StateMachinesFailed ultrapassar determinado limite.

Para definir um alarme em uma métrica

  1. Faça login no Console de gerenciamento da AWS e abra o CloudWatch console.

  2. Escolha uma ou mais métricas para visualizar e, em seguida, escolha Métricas representadas graficamente.

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

  4. 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.

Métricas de uso em nível de conta

O AWS/Usage namespace inclui as seguintes métricas de Step Functions.

As métricas a seguir são adimensionais e se aplicam à sua conta em uma região.

Métrica Description
StateMachineCount

Contagem de máquinas de estado atualmente ativas em sua conta. Talvez seja necessário adicionar ou excluir uma Máquina de Estado em sua conta e esperar alguns minutos para ativar essa métrica em sua conta.

ActivityCount

Contagem de atividades atualmente ativas em sua conta. Talvez seja necessário adicionar ou excluir uma atividade em sua conta e esperar alguns minutos para ativar essa métrica em sua conta.

OpenExecutionCountPerStateMachine

Abra execuções por máquina de estado em sua conta.

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

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

As métricas a seguir são adimensionais e se aplicam à sua conta em uma região.

Métrica Description
OpenExecutionCount

Número aproximado de execuções abertas no momento: fluxos de trabalho que estão em andamento na 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 mil pode mostrar zero execuções abertas. Para receber a notificação de um alarme quando você estiver se aproximando de OpenExecutionLimit, recomendamos usar a estatística Máximo com um limite de 100 mil ou mais, pois o limite padrão do fluxo de trabalho aberto é 1 milhão 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 ao fluxos de trabalho expressos.

Métricas de execução para todas as máquinas de estado

Todas as máquinas de estado emitem métricas. A métrica ExecutionThrottled só será emitida no caso de execução com controle de utilização.

As métricas a seguir podem ser filtradas com StateMachineArn a para identificar uma máquina de estado específica.

Métricas de nível de conta

Sem um ARN de máquina de estado, as métricas a seguir são reportadas no nível da conta. Forneça um ARN da máquina de estado para relatar no nível da máquina de estado.

Métrica Description
ExecutionsAborted Número de execuções anuladas ou encerradas.
ExecutionsFailed Número de execuções com falha.
ExecutionsStarted Número de execuções iniciadas.
ExecutionsSucceeded Número de execuções concluídas com êxito.
ExecutionsTimedOut Número de execuções que atingiram o tempo limite por qualquer motivo.
ExecutionThrottled O número de eventos StateEntered e repetições com controle de utilização. Isso está relacionado à limitação StateTransition. Para obter mais informações, consulte Cotas relacionadas aos controles de utilização de estado.
ExecutionTime O intervalo, em milissegundos, entre o momento em que a execução começa e a hora em que ela termina.

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étricas de nível de conta

Sem um ARN de máquina de estado, o ExpressExecutionBilledDuration e reporta ExpressExecutionBilledMemory no nível da conta. Forneça um ARN da máquina de estado para relatar no nível da máquina de estado.

Métrica Description
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.

ExpressExecutionMemory

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

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 Description
ExecutionsRedriven Número de execuções de redriven.
RedrivenExecutionsAborted Número de execuções de redriven canceladas ou encerradas.
RedrivenExecutionsTimedOut Número de execuções de redriven que atingiram o tempo limite por qualquer motivo.
RedrivenExecutionsSucceeded Número de execuções de redriven concluídas com êxito.
RedrivenExecutionsFailed Número de execuções de redriven que falharam.

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

Dimensão Description
StateMachineArn

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

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

Dimensão Description
StateMachineArn

O Nome do Recurso da Amazon (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 Description
StateMachineArn

O Nome do Recurso da Amazon (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 execução do mapa

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

Métrica Description
ApproximateOpenMapRunCount

O número aproximado de execuções de mapa abertas no momento em andamento na conta.

Com essa métrica, você pode agir ao se aproximar do OpenMapRunLimit, para evitar execuções de mapas atrasadas.

Para que um alarme notifique se você estiver se aproximando OpenMapRunLimit, recomendamos usar a estatística Máximo com um limite de 900 ou mais, porque o padrão OpenManRunLimité 1.000 execuções de mapa.

OpenMapRunLimit

O número máximo de execuções de mapa abertas.

Para obter mais informações, consulte Cotas relacionadas a contas.

ApproximateMapRunBacklogSize

O número aproximado de execuções de mapa que estão atrasadas. As corridas de mapas pendentes aguardam no MapRunStartedevento até que o número total de corridas de mapas abertas seja menor que a cota.

A contagem de itens será zero enquanto a execução de mapa estiver atrasada. A contagem aumentará depois que a execução de mapa for aberta e começar a ler sua entrada.

Métricas de versão e alias

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

Métrica Description
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 Description
ResourceArn

O Nome do Recurso da Amazon (ARN) da máquina de estado com uma versão ou alias.

Métricas de atividade

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

Métricas de nível de conta

Sem um ARN de máquina de estado, as métricas a seguir são reportadas no nível da conta. Forneça um ARN da máquina de estado para relatar no nível da máquina de estado.

Métrica Description
ActivitiesFailed Número de atividades com falha.
ActivitiesHeartbeatTimedOut Número de atividades que expiraram por causa de um tempo limite de pulsação.
ActivitiesScheduled Número de atividades programadas.
ActivitiesStarted Número de atividades iniciadas.
ActivitiesSucceeded Número de atividades concluídas com êxito.
ActivitiesTimedOut Número de atividades que atingiram o tempo limite no fechamento.
ActivityRunTime O intervalo, em milissegundos, entre o momento em que a atividade começa e a hora em que ela termina.
ActivityScheduleTime O intervalo, em milissegundos, em que a atividade permanece no estado programado.
ActivityTime O intervalo, em milissegundos, entre o momento em que a atividade é programada e a hora em que ela termina.

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

Dimensão Description
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, que são referenciadas diretamente no campo Recurso de uma definição de estado de tarefa. Você pode encontrar essas métricas em máquinas de estado legadas. Em máquinas de estado modernas, recomendamos usar a integração otimizada do Lambda, que emite métricas de integração de serviços.

Métrica Description
LambdaFunctionRunTime O intervalo, em milissegundos, entre o momento em que a função do Lambda começa e a hora em que ela termina.
LambdaFunctionScheduleTime O intervalo, em milissegundos, em que a função do Lambda permanece no estado programado.
LambdaFunctionTime O intervalo, em milissegundos, entre o momento em que a função do Lambda está programada e a hora em que ela termina.
LambdaFunctionsFailed Número de funções do Lambda com falha.
LambdaFunctionsScheduled Número de funções do Lambda programadas.
LambdaFunctionsStarted Número de funções do Lambda iniciadas.
LambdaFunctionsSucceeded Número de funções do Lambda concluídas com êxito.
LambdaFunctionsTimedOut Número de funções do Lambda que atingiram o tempo limite no fechamento.

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

Dimensão Description
LambdaFunctionArn

O ARN da função Lambda.

nota

As métricas da função do Lambda são emitidas para estados de tarefas que especificam o ARN da função Lambda no campo 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 Integrar serviços ao Step Functions.

Métrica Description
ServiceIntegrationRunTime O intervalo, em milissegundos, entre o momento em que a tarefa de serviço começa e a hora em que ela termina.
ServiceIntegrationScheduleTime O intervalo, em milissegundos, em que a tarefa de serviço permanece no estado programado.
ServiceIntegrationTime O intervalo, em milissegundos, entre o momento em que a tarefa de serviço é programada e a hora em que ela termina.
ServiceIntegrationsFailed Número de tarefas de serviço com falha.
ServiceIntegrationsScheduled Número de tarefas de serviço programadas.
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 atingiram o tempo limite no fechamento.

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

Dimensão Description
ServiceIntegrationResourceArn

O ARN do recurso do serviço integrado.

Métricas de serviço

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

Métricas de nível de conta

Sem um ARN de máquina de estado, as métricas a seguir são reportadas no nível da conta. Forneça um ARN da máquina de estado para relatar no nível da máquina de estado.

Métrica Description
ConsumedCapacity

Contagem de solicitações por segundo.

ProvisionedBucketSize

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

ProvisionedRefillRate

Contagem de solicitações por segundo permitidas no bucket.

ThrottledEvents

Contagem de solicitações com controle de utilização.

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

Dimensão Description
ServiceMetric

Filtra os dados para mostrar StateTransition.

StateMachineArn

Filtra dados para mostrar as transições de uma máquina de estado específica.

Métricas de uso da API

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

Métrica Description
ThrottledEvents

Contagem de solicitações com controle de utilização.

ProvisionedBucketSize

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

ProvisionedRefillRate

Contagem de solicitações por segundo permitidas no bucket.

ConsumedCapacity

Contagem de solicitações por segundo.

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

Dimensão Description
APIName

Filtra dados para uma API do nome de API especificado.