Supervisión de las aplicaciones sin servidor AWS SAM con CloudWatch Application Insights - AWS Serverless Application Model

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Supervisión de las aplicaciones sin servidor AWS SAM con CloudWatch Application Insights

Información de aplicaciones de Amazon CloudWatch te ayuda a supervisar los recursos de tus aplicaciones de AWS para identificar posibles problemas. Puedes analizar los datos de los recursos de AWS en busca de señales de problemas y crear paneles automatizados para visualizarlos. Configura CloudWatch Application Insights para supervisar tus aplicaciones de AWS Serverless Application Model (AWS SAM). Para obtener más información acerca de CloudWatch Application Insights, consulta Información de aplicaciones de Amazon CloudWatch en la Guía del usuario de Amazon CloudWatch.

Configura CloudWatch Application Insights con AWS SAM

Configura CloudWatch Application Insights para tus aplicaciones de AWS SAM mediante la interfaz de línea de comandos de AWS SAM (la CLI de AWS SAM) o mediante sus plantillas de AWS SAM.

Configura mediante la CLI de AWS SAM

Al inicializar la aplicación con sam init, activa CloudWatch Application Insights mediante el flujo interactivo o mediante la opción --application-insights.

Para activar CloudWatch Application Insights mediante el flujo interactivo de la CLI de AWS SAM, introduzca y cuando se le solicite.

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 activar CloudWatch Application Insights con la opción --application-insights, haga lo siguiente.

sam init --application-insights

Para obtener más información sobre el uso del comando sam init, consulta sam init.

Configura mediante plantillas de AWS SAM

Activa CloudWatch Application Insights, definiendo los recursos AWS::ApplicationInsights::Application y AWS::ResourceGroups::Group en sus plantillas de 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: crea un grupo para organizar tus recursos de AWS con el fin de administrar y automatizar tareas en un gran número de recursos al mismo tiempo. Aquí, puedes crear un grupo de recursos para usarlo con CloudWatch Application Insights. Para obtener más información sobre este tipo de recurso, consulta AWS::ResourceGroups::Group en la Guía del usuarioAWS CloudFormation.

  • AWS::ApplicationInsights::Application: configura CloudWatch Application Insights para el grupo de recursos. Para obtener más información sobre este tipo de recurso, consulta AWS::ApplicationInsights::Application en la Guía del usuarioAWS CloudFormation.

Ambos recursos se transfieren automáticamente a AWS CloudFormation al implementar la aplicación. Puedes utilizar la sintaxis de AWS CloudFormation de la plantilla AWS SAM para configurar más a fondo CloudWatch Application Insights. Para obtener más información, consulta Uso de plantillas de AWS CloudFormation en la Guía del usuario de Amazon CloudWatch.

Al utilizar el comando sam init --application-insights, ambos recursos se generan automáticamente en la plantilla de AWS SAM. A continuación, se muestra un ejemplo de una plantilla generada.

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

Pasos a seguir a continuación

Tras configurar CloudWatch Application Insights, utiliza sam build para crear la aplicación y sam deploy para implementarla. Todos los recursos compatibles con CloudWatch Application Insights se configurarán para la supervisión.