Como usar o CloudWatch Application Insights para monitorar as aplicações sem servidor do AWS SAM - AWS Serverless Application Model

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

Como usar o CloudWatch Application Insights para monitorar as aplicações sem servidor do AWS SAM

O Amazon CloudWatch Application Insights ajuda você a monitorar os recursos AWS em seus aplicativos para ajudar a identificar possíveis problemas. Ele pode analisar dados de recursos AWS em busca de sinais de problemas e criar painéis automatizados para visualizá-los. Você pode configurar o CloudWatch Application Insights para usar com seus aplicativos AWS Serverless Application Model (AWS SAM). Para saber mais sobre o CloudWatch Application Insights, consulte Amazon CloudWatch Application Insights no Guia do usuário do Amazon CloudWatch.

Configurando o CloudWatch Application Insights com o AWS SAM

Configure o CloudWatch Application Insights para AWS SAM seus aplicativos por meio da AWS SAM interface de linha de comando (AWS SAM CLI) ou por meio de seus modelos AWS SAM.

Configure por meio do AWS SAMCLI

Ao inicializar seu aplicativo com o sam init, ative o CloudWatch Application Insights por meio do fluxo interativo ou usando a opção --application-insights.

Para ativar o CloudWatch Application Insights por meio do fluxo interativo AWS SAM CLI, insira y quando solicitado.

Would you like to enable monitoring using CloudWatch Application Insights?
For more info, please view https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch-application-insights.html [y/N]:

Para ativar o CloudWatch Application Insights com a opção --application-insights, faça o seguinte.

sam init --application-insights

Para saber mais sobre como usar o comando sam init, consulte sam init.

Configurar por meio de modelos AWS SAM

Ative o CloudWatch Application Insights definindo os recursos AWS::ResourceGroups::Group e AWS::ApplicationInsights::Application em seus modelos AWS SAM.

AWSTemplateFormatVersion: '2010-09-09' Transform: AWS::Serverless-2016-10-31 ... Resources: ApplicationResourceGroup: Type: AWS::ResourceGroups::Group Properties: Name: Fn::Join: - '' - - ApplicationInsights-SAM- - Ref: AWS::StackName ResourceQuery: Type: CLOUDFORMATION_STACK_1_0 ApplicationInsightsMonitoring: Type: AWS::ApplicationInsights::Application Properties: ResourceGroupName: Fn::Join: - '' - - ApplicationInsights-SAM- - Ref: AWS::StackName AutoConfigurationEnabled: 'true' DependsOn: ApplicationResourceGroup
  • AWS::ResourceGroups::Group — Cria um grupo para organizar seus recursos AWS a fim de gerenciar e automatizar tarefas em um grande número de recursos de uma só vez. Aqui, você cria um grupo de recursos para usar com o CloudWatch Application Insights. Para obter mais informações sobre esse tipo de recurso, consulte AWS::ResourceGroups::Group no AWS CloudFormation Guia do usuário.

  • AWS::ApplicationInsights::Application — Configura o CloudWatch Application Insights para o grupo de recursos. Para obter mais informações sobre esse tipo de recurso, consulte AWS::ApplicationInsights::Application no AWS CloudFormation Guia do usuário.

Ambos os recursos são transmitidos automaticamente ao AWS CloudFormation na implantação do aplicativo. Você pode usar a sintaxe AWS CloudFormation em seu modelo AWS SAM para configurar ainda mais o CloudWatch Application Insights. Para obter mais informações, consulte Usar modelos AWS CloudFormation no Guia do usuário do Amazon CloudWatch.

Ao usar o comando sam init --application-insights, esses dois recursos são gerados automaticamente em seu modelo AWS SAM. Veja aqui um exemplo de um modelo gerado.

AWSTemplateFormatVersion: '2010-09-09' Transform: AWS::Serverless-2016-10-31 Description: > sam-app-test Sample SAM Template for sam-app-test # More info about Globals: https://github.com/awslabs/serverless-application-model/blob/master/docs/globals.rst Globals: Function: Timeout: 3 MemorySize: 128 Resources: HelloWorldFunction: Type: AWS::Serverless::Function # More info about Function Resource: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction Properties: CodeUri: hello_world/ Handler: app.lambda_handler Runtime: python3.9 Architectures: - x86_64 Events: HelloWorld: Type: Api # More info about API Event Source: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#api Properties: Path: /hello Method: get ApplicationResourceGroup: Type: AWS::ResourceGroups::Group Properties: Name: Fn::Join: - '' - - ApplicationInsights-SAM- - Ref: AWS::StackName ResourceQuery: Type: CLOUDFORMATION_STACK_1_0 ApplicationInsightsMonitoring: Type: AWS::ApplicationInsights::Application Properties: ResourceGroupName: Fn::Join: - '' - - ApplicationInsights-SAM- - Ref: AWS::StackName AutoConfigurationEnabled: 'true' DependsOn: ApplicationResourceGroup Outputs: # ServerlessRestApi is an implicit API created out of Events key under Serverless::Function # Find out more about other implicit resources you can reference within SAM # https://github.com/awslabs/serverless-application-model/blob/master/docs/internals/generated_resources.rst#api HelloWorldApi: Description: API Gateway endpoint URL for Prod stage for Hello World function Value: !Sub "https://${ServerlessRestApi}.execute-api.${AWS::Region}.amazonaws.com/Prod/hello/" HelloWorldFunction: Description: Hello World Lambda Function ARN Value: !GetAtt HelloWorldFunction.Arn HelloWorldFunctionIamRole: Description: Implicit IAM Role created for Hello World function Value: !GetAtt HelloWorldFunctionRole.Arn

Próximas etapas

Depois de configurar o CloudWatch Application Insights, use o sam build para criar seu aplicativo e o sam deploy para implantá-lo. Todos os recursos compatíveis do Amazon CloudWatch Application Insights serão configurados para monitoramento.