Configurar o registro de aplicativos no Managed Service para Apache Flink - Managed Service for Apache Flink

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

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

Configurar o registro de aplicativos no Managed Service para Apache Flink

Ao adicionar uma opção de CloudWatch registro da Amazon ao seu aplicativo Managed Service for Apache Flink, você pode monitorar eventos do aplicativo ou problemas de configuração.

Este tópico descreve como configurar seu aplicativo para gravar eventos do aplicativo em um stream do CloudWatch Logs. Uma opção de CloudWatch registro é uma coleção de configurações e permissões do aplicativo que seu aplicativo usa para configurar a forma como grava eventos do aplicativo no CloudWatch Logs. Você pode adicionar e configurar uma opção de CloudWatch registro usando o AWS Management Console ou o AWS Command Line Interface (AWS CLI).

Observe o seguinte sobre como adicionar uma opção de CloudWatch registro ao seu aplicativo:

  • Quando você adiciona uma opção de CloudWatch registro usando o console, o Managed Service for Apache Flink cria o grupo de CloudWatch log e o stream de log para você e adiciona as permissões que seu aplicativo precisa para gravar no stream de log.

  • Ao adicionar uma opção de CloudWatch registro usando oAPI, você também deve criar o grupo de registros e o fluxo de registros do aplicativo e adicionar as permissões que seu aplicativo precisa para gravar no fluxo de registros.

Configurar o CloudWatch registro usando o console

Quando você ativa o CloudWatch registro em log para seu aplicativo no console, um grupo de CloudWatch registros e um fluxo de registros são criados para você. Além disso, a política de permissões do seu aplicativo é atualizada com permissões para gravar no fluxo.

O Managed Service for Apache Flink cria um grupo de logs chamado usando a seguinte convenção, onde ApplicationName é o nome do seu aplicativo.

/AWS/KinesisAnalytics/ApplicationName

O Managed Service for Apache Flink cria um fluxo de logs no novo grupo de logs com o nome a seguir.

kinesis-analytics-log-stream

Você define o nível da métrica de monitoramento do aplicativo e o nível do log de monitoramento usando a seção Monitoring log level (Nível do log de monitoramento) da página Configure application (Configurar aplicativo). Para obter informações sobre os níveis de log do aplicativo, consulte Controle os níveis de monitoramento de aplicativos.

Configure o CloudWatch registro usando o CLI

Para adicionar uma opção de CloudWatch registro usando o AWS CLI, você conclui o seguinte:

  • Crie um grupo de CloudWatch registros e um fluxo de registros.

  • Adicione uma opção de registro ao criar um aplicativo usando a CreateApplicationação ou adicione uma opção de registro a um aplicativo existente usando a AddApplicationCloudWatchLoggingOptionação.

  • Adicione permissões à política do seu aplicativo para gravar nos logs.

Crie um grupo de CloudWatch registros e um fluxo de registros

Você cria um grupo de CloudWatch registros e transmite usando o console de CloudWatch registros ou API o. Para obter informações sobre como criar um grupo de CloudWatch registros e um fluxo de registros, consulte Como trabalhar com grupos de registros e fluxos de registros.

Trabalhe com opções de CloudWatch registro de aplicativos

Use as API ações a seguir para adicionar uma opção de CloudWatch log a um aplicativo novo ou existente ou alterar uma opção de log de um aplicativo existente. Para obter informações sobre como usar um JSON arquivo como entrada para uma API ação, consulteCódigo de exemplo do Managed Service for Apache Flink API.

Adicione uma opção de CloudWatch registro ao criar um aplicativo

O exemplo a seguir demonstra como usar a CreateApplication ação para adicionar uma opção de CloudWatch log ao criar um aplicativo. No exemplo, substitua Amazon Resource Name (ARN) of the CloudWatch Log stream to add to the new application com suas próprias informações. Para obter mais informações sobre a ação, consulte CreateApplication.

{ "ApplicationName": "test", "ApplicationDescription": "test-application-description", "RuntimeEnvironment": "FLINK-1_15", "ServiceExecutionRole": "arn:aws:iam::123456789123:role/myrole", "ApplicationConfiguration": { "ApplicationCodeConfiguration": { "CodeContent": { "S3ContentLocation":{ "BucketARN": "arn:aws:s3:::mybucket", "FileKey": "myflink.jar" } }, "CodeContentType": "ZIPFILE" } }, "CloudWatchLoggingOptions": [{ "LogStreamARN": "<Amazon Resource Name (ARN) of the CloudWatch log stream to add to the new application>" }] }

Adicionar uma opção de CloudWatch log a um aplicativo existente

O exemplo a seguir demonstra como usar a AddApplicationCloudWatchLoggingOption ação para adicionar uma opção de CloudWatch log a um aplicativo existente. No exemplo, substitua cada user input placeholder com suas próprias informações. Para obter mais informações sobre a ação, consulte AddApplicationCloudWatchLoggingOption.

{ "ApplicationName": "<Name of the application to add the log option to>", "CloudWatchLoggingOption": { "LogStreamARN": "<ARN of the log stream to add to the application>" }, "CurrentApplicationVersionId": <Version of the application to add the log to> }

Atualizar uma opção de CloudWatch registro existente

O exemplo a seguir demonstra como usar a UpdateApplication ação para modificar uma opção de CloudWatch log existente. No exemplo, substitua cada user input placeholder com suas próprias informações. Para obter mais informações sobre a ação, consulte UpdateApplication.

{ "ApplicationName": "<Name of the application to update the log option for>", "CloudWatchLoggingOptionUpdates": [ { "CloudWatchLoggingOptionId": "<ID of the logging option to modify>", "LogStreamARNUpdate": "<ARN of the new log stream to use>" } ], "CurrentApplicationVersionId": <ID of the application version to modify> }

Excluir uma opção de CloudWatch registro de um aplicativo

O exemplo a seguir demonstra como usar a DeleteApplicationCloudWatchLoggingOption ação para excluir uma opção de CloudWatch log existente. No exemplo, substitua cada user input placeholder com suas próprias informações. Para obter mais informações sobre a ação, consulte DeleteApplicationCloudWatchLoggingOption.

{ "ApplicationName": "<Name of application to delete log option from>", "CloudWatchLoggingOptionId": "<ID of the application log option to delete>", "CurrentApplicationVersionId": <Version of the application to delete the log option from> }

Defina o nível de registro do aplicativo

Para definir o nível de registro em log do aplicativo, use o parâmetro MonitoringConfiguration da ação CreateApplication ou o parâmetro MonitoringConfigurationUpdate da ação UpdateApplication.

Para obter informações sobre os níveis de log do aplicativo, consulte Controle os níveis de monitoramento de aplicativos.

Defina o nível de registro do aplicativo ao criar um aplicativo

O exemplo de solicitação a seguir para a ação CreateApplication define o nível de log do aplicativo como INFO.

{ "ApplicationName": "MyApplication", "ApplicationDescription": "My Application Description", "ApplicationConfiguration": { "ApplicationCodeConfiguration":{ "CodeContent":{ "S3ContentLocation":{ "BucketARN":"arn:aws:s3:::mybucket", "FileKey":"myflink.jar", "ObjectVersion":"AbCdEfGhIjKlMnOpQrStUvWxYz12345" } }, "CodeContentType":"ZIPFILE" }, "FlinkApplicationConfiguration": "MonitoringConfiguration": { "ConfigurationType": "CUSTOM", "LogLevel": "INFO" } }, "RuntimeEnvironment": "FLINK-1_15", "ServiceExecutionRole": "arn:aws:iam::123456789123:role/myrole" }
Atualizar o nível de registro do aplicativo

O exemplo de solicitação a seguir para a ação UpdateApplication define o nível de log do aplicativo como INFO.

{ "ApplicationConfigurationUpdate": { "FlinkApplicationConfigurationUpdate": { "MonitoringConfigurationUpdate": { "ConfigurationTypeUpdate": "CUSTOM", "LogLevelUpdate": "INFO" } } } }

Adicione permissões para gravar no fluxo de CloudWatch registros

O Managed Service for Apache Flink precisa de permissões para gravar erros de configuração incorreta. CloudWatch Você pode adicionar essas permissões à função AWS Identity and Access Management (IAM) que o Managed Service for Apache Flink assume.

Para obter mais informações sobre o uso de uma IAM função do Managed Service for Apache Flink, consulte. Gerenciamento de identidade e acesso para o Amazon Managed Service for Apache Flink

Política de confiança

Para conceder ao Managed Service for Apache Flink permissões para assumir uma IAM função, você pode anexar a seguinte política de confiança à função de execução do serviço.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "kinesisanlaytics.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Política de permissões

Para conceder permissões a um aplicativo para gravar eventos de log a CloudWatch partir de um recurso do Managed Service for Apache Flink, você pode usar a seguinte política de IAM permissões. Forneça os nomes de recursos da Amazon (ARNs) corretos para seu grupo de registros e stream.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt0123456789000", "Effect": "Allow", "Action": [ "logs:PutLogEvents", "logs:DescribeLogGroups", "logs:DescribeLogStreams" ], "Resource": [ "arn:aws:logs:us-east-1:123456789012:log-group:my-log-group:log-stream:my-log-stream*", "arn:aws:logs:us-east-1:123456789012:log-group:my-log-group:*", "arn:aws:logs:us-east-1:123456789012:log-group:*", ] } ] }

Controle os níveis de monitoramento de aplicativos

Você controla a geração de mensagens de log do aplicativo usando o Nível de métricas de monitoramento e o Nível de registro em log de monitoramento do aplicativo.

O nível das métricas de monitoramento do aplicativo controla a granularidade das mensagens de log. Os níveis de métricas de monitoramento são definidos da seguinte forma:

O nível do registro em log de monitoramento do aplicativo controla a verbosidade do log do aplicativo. Os níveis do registro em log de monitoramento são definidos da seguinte forma:

  • Erro possíveis eventos catastróficos do aplicativo.

  • Alerta: situações potencialmente prejudiciais do aplicativo.

  • Info: eventos de falha informativos e transitórios do aplicativo. Recomendamos usar esse nível de log.

  • Depuração: eventos informativos detalhados que são mais úteis para depurar um aplicativo. Observação: use esse nível somente para fins de depuração temporária.

Aplique as melhores práticas de registro

Recomendamos que seu aplicativo use o nível Info de registro em log. Recomendamos esse nível para garantir que você veja os erros do Apache Flink, que são registrados em log no nível Info e não no nível Error.

Recomendamos que você use o nível de Debug apenas temporariamente ao investigar problemas do aplicativo. Volte para o nível Info quando o problema for resolvido. Usar o nível Debug de registro em log afetará significativamente o desempenho do seu aplicativo.

O registro em log excessivo também pode afetar significativamente o desempenho do aplicativo. Recomendamos que você não grave log para cada registro processado, por exemplo. O registro excessivo pode causar gargalos graves no processamento de dados e causar contrapressão na leitura de dados das fontes.

Executar solução de problemas de registro

Se os registros do aplicativo não estiverem sendo gravados no fluxo de logs, verifique o seguinte:

  • Verifique se a IAM função e as políticas do seu aplicativo estão corretas. Se a política do seu aplicativo precisa das seguintes permissões para acessar seu fluxo de logs:

    • logs:PutLogEvents

    • logs:DescribeLogGroups

    • logs:DescribeLogStreams

    Para obter mais informações, consulte Adicione permissões para gravar no fluxo de CloudWatch registros.

  • Verifique se o seu aplicativo está sendo executado. Para verificar o status do seu aplicativo, visualize a página do seu aplicativo no console ou use as ListApplicationsações DescribeApplicationou.

  • Monitore CloudWatch métricas como downtime para diagnosticar outros problemas do aplicativo. Para obter informações sobre CloudWatch métricas de leitura, consulte.

Use o CloudWatch Logs Insights

Depois de habilitar o CloudWatch login no seu aplicativo, você pode usar o CloudWatch Logs Insights para analisar os registros do seu aplicativo. Para obter mais informações, consulte Analise registros com o CloudWatch Logs Insights.