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:
-
Aplicativo: as métricas têm como escopo o aplicativo todo.
-
Tarefa: as métricas têm como escopo cada tarefa. Para obter mais informações sobre as tarefas, consulte Implemente o escalonamento de aplicativos no Managed Service para Apache Flink.
-
Operador: as métricas têm como escopo cada operador. Para obter mais informações sobre os operadores, consulte Transforme dados usando operadores no Managed Service for Apache Flink com o DataStream API.
-
Paralelismo: as métricas têm como escopo o paralelismo de aplicativos. Você só pode definir esse nível de métrica usando o MonitoringConfigurationUpdateparâmetro do UpdateApplicationAPI. Você não pode definir esse nível de métricas usando o console. Para obter mais informações sobre paralelismo, consulte Implemente o escalonamento de aplicativos no Managed Service para Apache Flink.
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.