Utilizzo di CloudWatch Application Insights per monitorare le applicazioni AWS SAM serverless - AWS Serverless Application Model

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Utilizzo di CloudWatch Application Insights per monitorare le applicazioni AWS SAM serverless

Amazon CloudWatch Application Insights ti aiuta a monitorare le AWS risorse delle tue applicazioni per identificare potenziali problemi. Può analizzare i dati relativi alle AWS risorse per individuare eventuali segni di problemi e creare dashboard automatizzati per visualizzarli. Puoi configurare CloudWatch Application Insights per l'uso con le tue AWS Serverless Application Model (AWS SAM) applicazioni. Per ulteriori informazioni su CloudWatch Application Insights, consulta Amazon CloudWatch Application Insights nella Amazon CloudWatch User Guide.

Configurazione di CloudWatch Application Insights con AWS SAM

Configura CloudWatch Application Insights per AWS SAM le tue applicazioni tramite l'interfaccia a riga di AWS SAM comando (AWS SAMCLI) o tramite i tuoi AWS SAM modelli.

Configura tramite AWS SAMCLI

Quando inizializzi l'applicazione consam init, attiva CloudWatch Application Insights tramite il flusso interattivo o utilizzando l'--application-insightsopzione.

Per attivare CloudWatch Application Insights tramite il flusso AWS SAMCLI interattivo, inserisci y quando richiesto.

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]:

Per attivare CloudWatch Application Insights con l'--application-insightsopzione, procedi come segue.

sam init --application-insights

Per ulteriori informazioni sull'utilizzo del sam init comando, consultasam init.

Configurazione tramite AWS SAM modelli

Attiva CloudWatch Application Insights definendo AWS::ApplicationInsights::Application le risorse AWS::ResourceGroups::Group e i AWS SAM modelli.

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 gruppo per organizzare le AWS risorse al fine di gestire e automatizzare le attività su un gran numero di risorse contemporaneamente. Qui puoi creare un gruppo di risorse da utilizzare con CloudWatch Application Insights. Per ulteriori informazioni su questo tipo di risorsa, AWS::ResourceGroups::Groupconsulta la Guida AWS CloudFormation per l'utente.

  • AWS::ApplicationInsights::Application— Configura CloudWatch Application Insights per il gruppo di risorse. Per ulteriori informazioni su questo tipo di risorsa, consulta AWS::ApplicationInsights::Applicationla Guida per l'AWS CloudFormation utente.

Entrambe le risorse vengono trasferite automaticamente al AWS CloudFormation momento della distribuzione dell'applicazione. È possibile utilizzare la AWS CloudFormation sintassi del AWS SAM modello per configurare ulteriormente CloudWatch Application Insights. Per ulteriori informazioni, consulta Usare AWS CloudFormation i modelli nella Amazon CloudWatch User Guide.

Quando usi il sam init --application-insights comando, entrambe queste risorse vengono generate automaticamente nel tuo AWS SAM modello. Ecco un esempio di modello generato.

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

Passaggi successivi

Dopo aver configurato CloudWatch Application Insights, utilizzalo sam build per creare l'applicazione e sam deploy distribuirla. Tutte le risorse supportate da CloudWatch Application Insights verranno configurate per il monitoraggio.