Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Usar métricas do AWS Glue Streaming

Modo de foco
Usar métricas do AWS Glue Streaming - AWS Glue

Essa seção descreve cada uma das métricas e como elas se correlacionam entre si.

Número de registros (métrica: streaming.numRecords)

Essa métrica indica quantos registros estão sendo processados.

A captura de tela mostra o monitoramento do número de registros em trabalhos de streaming.

Essa métrica de streaming fornece visibilidade sobre o número de registros que você está processando em uma janela. Além do número de registros que estão sendo processados, ela ajudará você a compreender o comportamento do tráfego de entrada.

  • O indicador n.º 1 mostra um exemplo de tráfego estável sem aumentos. Normalmente, serão aplicações, como sensores de IoT, que coletam dados em intervalos regulares e os enviam para a fonte de streaming.

  • O indicador n.º 2 mostra um exemplo de um aumento repentino no tráfego em uma carga estável. Isso pode acontecer em uma aplicação de fluxo de cliques quando há um evento de marketing, como a Black Friday, e ocorre um aumento no número de cliques.

  • O indicador n.º 3 mostra um exemplo de tráfego imprevisível. O tráfego imprevisível significa que há um problema. É somente a natureza dos dados de entrada. Ao retornarmos ao exemplo do sensor de IoT, é possível imaginar centenas de sensores que enviam eventos de mudanças climáticas para a fonte de streaming. Como a mudança climática não é previsível, os dados também não o são. A compreensão do padrão de tráfego é fundamental para dimensionar seus executores. Se a entrada tiver um amplo aumento, considere usar o ajuste de escala automático (falaremos mais sobre isso posteriormente).

A captura de tela mostra o monitoramento usando o número de registros e as métricas PutRecords do Kinesis em trabalhos de streaming.

É possível combinar essa métrica com a métrica PutRecords do Kinesis para garantir que o número de eventos que estão sendo ingeridos e o número de registros que estão sendo lidos sejam praticamente semelhantes. Isso é especialmente útil quando você está tentando compreender o atraso. À medida que a taxa de ingestão aumenta, o mesmo acontece com os numRecords lidos pelo AWS Glue.

Tempo de processamento em lote (métrica: streaming.batchProcessingTimeInMs)

A métrica de tempo de processamento em lote ajuda a determinar se o cluster está com provisionamento insuficiente ou excessivo.

A captura de tela mostra o monitoramento do tempo de processamento em lote em trabalhos de streaming.

Essa métrica indica o número de milissegundos necessários para processar cada micro lote de registros. Aqui, o principal objetivo é monitorar esse tempo para garantir que seja menor que o intervalo de windowSize. Não há problema se batchProcessingTimeInMs for temporariamente desativado, desde que se recupere no intervalo de janela seguinte. O indicador n.º 1 mostra um tempo mais ou menos estável necessário para o processamento do trabalho. No entanto, se o número de registros de entrada estiver aumentando, o tempo necessário para o processamento do trabalho aumentará, conforme mostrado pelo indicador n.º 2. Se o numRecords não estiver aumentando, mas o tempo de processamento estiver, você precisará examinar o processamento do trabalho nos executores de forma mais aprofundada. É uma boa prática definir um limite e um alarme para garantir que batchProcessingTimeInMs não ultrapasse 120% por mais de dez minutos. Para obter mais informações sobre como configurar alarmes, consulte Usar alarmes do Amazon CloudWatch.

Atraso do consumidor (métrica: streaming.maxConsumerLagInMs)

A métrica de atraso do consumidor ajuda a entender se há um atraso no processamento de eventos. Se o atraso for muito elevado, você poderá perder o SLA de processamento do qual sua empresa depende, mesmo que tenha um windowSize correto. Você deve habilitar explicitamente essas métricas usando a opção de conexão emitConsumerLagMetrics. Para obter mais informações, consulte KinesisStreamingSourceOptions.

A captura de tela mostra o atraso de monitoramento em trabalhos de streaming.

Métricas derivadas

Para obter insights mais aprofundados, é possível criar métricas derivadas para compreender mais sobre os trabalhos de streaming no Amazon CloudWatch.

A captura de tela mostra o monitoramento de métricas derivadas em trabalhos de streaming.

É possível desenvolver uma representação em gráfico com métricas derivadas para decidir se precisa usar mais DPUs. Embora o ajuste de escala automático ajude você a fazer isso automaticamente, é possível usar métricas derivadas para determinar se o ajuste de escala automático está funcionando de maneira eficaz.

  • InputRecordsPerSecond indica a taxa na qual você está obtendo registros de entrada. A derivação ocorre da seguinte forma: número de registros de entrada (glue.driver.streaming.numRecords)/WindowSize.

  • ProcessingRecordsPerSecond indica a taxa na qual os registros estão sendo processados. A derivação ocorre da seguinte forma: número de registros de entrada (glue.driver.streaming.numRecords)/batchProcessingTimeInMs.

Se a taxa de entrada for superior à taxa de processamento, talvez seja necessário adicionar mais capacidade para processar os trabalhos ou aumentar o paralelismo.

Métricas do ajuste de escala automático

Quando o tráfego de entrada tiver um amplo aumento, considere habilitar o ajuste de escala automático e especificar o número máximo de trabalhadores. Com isso você obtém duas métricas adicionais, numberAllExecutors e numberMaxNeededExecutors.

  • numberAllExecutors corresponde ao número de executores de trabalhos em execução ativa.

  • numberMaxNeededExecutors corresponde ao número máximo de executores de trabalhos (em execução ativa e pendentes) necessários para satisfazer a carga atual.

Essas duas métricas ajudarão você a entender se o ajuste de escala automático está funcionando corretamente.

A captura de tela mostra o monitoramento do ajuste de escala automático em trabalhos de streaming.

O AWS Glue monitorará a métrica batchProcessingTimeInMs em alguns micro lotes e fará uma entre duas coisas. Ele aumentará a escala horizontalmente dos executores, se batchProcessingTimeInMs estiver mais próximo de windowSize, ou reduzirá a escala horizontalmente dos executores, se batchProcessingTimeInMs for comparativamente menor que windowSize. Além disso, ele usará um algoritmo para escalar os executores em etapas.

  • O indicador n.º 1 mostra como os executores ativos aumentaram a escala verticalmente para alcançar o número máximo de executores necessários para o processamento da carga.

  • O indicador n.º 2 mostra como os executores ativos reduziram a escala horizontalmente desde que batchProcessingTimeInMs estava baixo.

É possível usar essas métricas para monitorar o paralelismo atual no nível do executor e ajustar, adequadamente, o número máximo de trabalhadores em sua configuração de ajuste de escala automático.

PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.