Analise logs com o CloudWatch Logs Insights - Managed Service for Apache Flink

Anteriormente, o Amazon Managed Service for Apache Flink (Amazon MSF) era conhecido como Amazon Kinesis Data Analytics for Apache Flink.

Analise logs com o CloudWatch Logs Insights

Depois de adicionar uma opção de registro em log do CloudWatch ao seu aplicativo, conforme descrito na seção anterior, você pode usar o CloudWatch Logs Insights para consultar seus fluxos de logs em busca de eventos ou erros específicos.

O CloudWatch Logs Insights permite pesquisar e analisar dados de log de modo interativo no CloudWatch Logs.

Para obter mais informações sobre os conceitos básicos do CloudWatch Logs Insights, consulte Analisar dados de log com o CloudWatch Logs Insights.

Executar um exemplo de consulta

Esta seção descreve como executar uma consulta de exemplo no CloudWatch Logs Insights

Pré-requisitos

  • Grupos de logs e fluxos de logs existentes configurados no CloudWatch Logs.

  • Logs existentes armazenados no CloudWatch Logs.

Se você usa serviços como o AWS CloudTrail, o Amazon Route 53 ou a Amazon VPC, você, provavelmente, já configurou logs nesses serviços para irem para o CloudWatch Logs. Para obter mais informações sobre o envio de logs para o CloudWatch, consulte Conceitos básicos do CloudWatch Logs.

As consultas no CloudWatch Logs Insights retornam um conjunto de campos de eventos de log, o resultado de uma agregação matemática ou outra operação realizada em eventos de log. Esta seção demonstra uma consulta que retorna uma lista de eventos de log.

Para executar um exemplo de consulta do CloudWatch Logs Insights
  1. Abra o console do CloudWatch em https://console.aws.amazon.com/cloudwatch/.

  2. No painel de navegação, selecione Insights.

  3. O editor de consultas próximo do topo da tela contém uma consulta padrão que retorna os vinte eventos de log mais recentes. Acima do editor de consultas, selecione um grupo de logs para consulta.

    Quando você seleciona um grupo de logs, o CloudWatch Logs Insights automaticamente detecta campos nos dados no grupo de logs e os exibe em Discovered fields (Campos detectados) no painel á direta. Ele também exibe um gráfico de barras de eventos de log neste grupo de logs com o passar do tempo. Esse gráfico de barras mostra a distribuição de eventos no grupo de logs correspondente à consulta e ao intervalo de tempo, e não apenas os eventos exibidos na tabela.

  4. Selecione Executar consulta.

    Os resultados da consulta são exibidos. Neste exemplo, os resultados são 20 eventos de log mais recentes de qualquer tipo.

  5. Para ver todos os campos de um dos eventos de log retornados, selecione a seta para a esquerda desse evento de logs.

Para obter mais informações sobre como executar e modificar consultas do CloudWatch Logs Insights, consulte Executar e modificar um exemplo de consulta.

Analise as consultas de exemplo

Esta seção contém exemplos de consultas do CloudWatch Logs Insights para analisar os logs do Managed Service for Apache Flink. Essas consultas fazem uma pesquisa entre vários exemplos de condições de erro e servem como modelos para escrever consultas que encontrem outras condições de erro.

nota

Substitua a região (us-west-2), o ID da conta (012345678901) e o nome do aplicativo (YourApplication) nos exemplos de consulta a seguir pela região do seu aplicativo e pelo ID da conta.

Analise as operações: distribuição de tarefas

A seguinte consulta do CloudWatch Logs Insights retorna o número de tarefas que o Apache Flink Job Manager distribui entre os gerenciadores de tarefas. Você precisa definir o período de tempo da consulta para corresponder a uma execução de trabalho para que a consulta não retorne tarefas de trabalhos anteriores. Para obter mais informações sobre paralelismo, consulte Implemente a escalabilidade de aplicativos.

fields @timestamp, message | filter message like /Deploying/ | parse message " to flink-taskmanager-*" as @tmid | stats count(*) by @tmid | sort @timestamp desc | limit 2000

A seguinte consulta do CloudWatch Logs Insights retorna as subtarefas atribuídas a cada gerenciador de tarefas. O número total de subtarefas é a soma do paralelismo de cada tarefa. O paralelismo de tarefas é derivado do paralelismo do operador e é igual ao paralelismo do aplicativo por padrão, a menos que você o altere no código especificando setParallelism. Para obter mais informações sobre como definir o paralelismo do operador, consulte Definindo o paralelismo: nível do operador na documentação do Apache Flink.

fields @timestamp, @tmid, @subtask | filter message like /Deploying/ | parse message "Deploying * to flink-taskmanager-*" as @subtask, @tmid | sort @timestamp desc | limit 2000

Para obter mais informações sobre a programação de tarefas, consulte Trabalhos e programações na documentação do Apache Flink.

Analise as operações: mudança no paralelismo

A consulta do CloudWatch Logs Insights a seguir retorna alterações no paralelismo de um aplicativo (por exemplo, devido à escalabilidade automática). Essa consulta também retorna alterações manuais no paralelismo do aplicativo. Para obter mais informações sobre a escalabilidade automática, consulte Use a escalabilidade automática no Managed Service for Apache Flink.

fields @timestamp, @parallelism | filter message like /property: parallelism.default, / | parse message "default, *" as @parallelism | sort @timestamp asc

Analise os erros: acesso negado

A seguinte consulta do CloudWatch Logs Insights retorna logs Access Denied.

fields @timestamp, @message, @messageType | filter applicationARN like /arn:aws:kinesisanalyticsus-west-2:012345678901:application\/YourApplication/ | filter @message like /AccessDenied/ | sort @timestamp desc

Analise os erros: fonte ou coletor não encontrado

A seguinte consulta do CloudWatch Logs Insights retorna logs ResourceNotFound. Os logs ResourceNotFound acontecem se uma fonte ou coletor do Kinesis não for encontrada.

fields @timestamp,@message | filter applicationARN like /arn:aws:kinesisanalyticsus-west-2:012345678901:application\/YourApplication/ | filter @message like /ResourceNotFoundException/ | sort @timestamp desc

Analise os erros: falhas relacionadas à tarefa do aplicativo

A consulta a seguir do CloudWatch Logs Insights retorna os logs de falhas relacionadas à tarefa de um aplicativo. Esses logs acontecem se o status de um aplicativo mudar de RUNNING para RESTARTING.

fields @timestamp,@message | filter applicationARN like /arn:aws:kinesisanalyticsus-west-2:012345678901:application\/YourApplication/ | filter @message like /switched from RUNNING to RESTARTING/ | sort @timestamp desc

Para aplicativos que usam a versão 1.8.2 ou anterior do Apache Flink, as falhas relacionadas às tarefas resultarão na mudança do status do aplicativo de RUNNING para FAILED. Ao usar o Apache Flink 1.8.2 ou anterior, use a consulta a seguir para pesquisar falhas relacionadas à tarefas do aplicativo:

fields @timestamp,@message | filter applicationARN like /arn:aws:kinesisanalyticsus-west-2:012345678901:application\/YourApplication/ | filter @message like /switched from RUNNING to FAILED/ | sort @timestamp desc