Esempi di Application Signals che utilizzano AWS CLI - AWS Esempi di codice SDK

Sono disponibili altri esempi AWS SDK nel repository AWS Doc SDK Examples. GitHub

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

Esempi di Application Signals che utilizzano AWS CLI

I seguenti esempi di codice mostrano come eseguire azioni e implementare scenari comuni utilizzando Application Signals. AWS Command Line Interface

Le operazioni sono estratti di codice da programmi più grandi e devono essere eseguite nel contesto. Sebbene le operazioni mostrino come richiamare le singole funzioni del servizio, è possibile visualizzarle contestualizzate negli scenari correlati.

Ogni esempio include un collegamento al codice sorgente completo, in cui è possibile trovare istruzioni su come configurare ed eseguire il codice nel contesto.

Argomenti

Azioni

Il seguente esempio di codice mostra come utilizzarebatch-get-service-level-objective-budget-report.

AWS CLI

Per recuperare uno o più report sul budget SLO (Service Level Objective).

L'batch-get-service-level-objective-budget-reportesempio seguente recupera uno o più report sul budget SLO (Service Level Objective).

aws application-signals batch-get-service-level-objective-budget-report \ --timestamp 1735059869 \ --slo-ids "arn:aws:application-signals:us-east-1:123456789101:slo/SLOName1" "arn:aws:application-signals:us-east-1:123456789101:slo/SLOName2"

Output:

{ "Timestamp": "2024-12-24T22:34:29+05:30", "Reports": [{ "Arn": "arn:aws:application-signals:us-east-1:123456789101:slo/SLOName1", "Name": "Your SLO Name", "EvaluationType": "PeriodBased", "BudgetStatus": "OK", "Attainment": 100.0, "TotalBudgetSeconds": 6048, "BudgetSecondsRemaining": 6048, "Sli": { "SliMetric": { "MetricDataQueries": [{ "Id": "m1", "MetricStat": { "Metric": { "Namespace": "AWS/EC2", "MetricName": "CPUUtilization", "Dimensions": [{ "Name": "InstanceId", "Value": "i-0e098765432522" }] }, "Period": 60, "Stat": "Average" }, "ReturnData": true }] }, "MetricThreshold": 200.0, "ComparisonOperator": "LessThanOrEqualTo" }, "Goal": { "Interval": { "RollingInterval": { "DurationUnit": "DAY", "Duration": 7 } }, "AttainmentGoal": 99.0, "WarningThreshold": 50.0 } }, { "Arn": "arn:aws:application-signals:us-east-1:123456789101:slo/SLOName2", "Name": "test", "EvaluationType": "PeriodBased", "BudgetStatus": "BREACHED", "Attainment": 97.39583275, "TotalBudgetSeconds": 86, "BudgetSecondsRemaining": -2154, "Sli": { "SliMetric": { "MetricDataQueries": [{ "Id": "cwMetric", "MetricStat": { "Metric": { "Namespace": "AWS/EC2", "MetricName": "CPUUtilization", "Dimensions": [{ "Name": "InstanceId", "Value": "i-0e12345678922" }] }, "Period": 300, "Stat": "Average" }, "ReturnData": true }] }, "MetricThreshold": 5.0, "ComparisonOperator": "GreaterThan" }, "Goal": { "Interval": { "RollingInterval": { "DurationUnit": "DAY", "Duration": 1 } }, "AttainmentGoal": 99.9, "WarningThreshold": 30.0 } } ], "Errors": [] }

Per ulteriori informazioni, consulta Application Signals nella Amazon CloudWatch User Guide.

Il seguente esempio di codice mostra come utilizzarecreate-service-level-objective.

AWS CLI

Per creare un obiettivo di livello di servizio (SLO)

L'create-service-level-objectiveesempio seguente crea un Service Level Objective (SLO), che può aiutarvi a garantire che le operazioni aziendali critiche soddisfino le aspettative dei clienti.

aws application-signals create-service-level-objective \ --name "SLOName" \ --description "Description of your SLO" \ --sli-config file://sli-config.json

Contenuto di sli-config.json.

{ "SliMetricConfig": { "MetricDataQueries": [ { "Id": "m1", "MetricStat": { "Metric": { "Namespace": "AWS/EC2", "MetricName": "CPUUtilization", "Dimensions": [ { "Name": "InstanceId", "Value": "i-0e5a1234561522" } ] }, "Period": 60, "Stat": "Average" }, "ReturnData": true } ] }, "MetricThreshold": 200, "ComparisonOperator": "LessThanOrEqualTo" }

Output:

{ "Slo": { "Arn": "arn:aws:application-signals:us-east-1:123456789101:slo/SLOName", "Name": "SLOName", "Description": "Description of your SLO", "CreatedTime": "2024-12-27T08:16:09.032000+05:30", "LastUpdatedTime": "2024-12-27T08:16:09.032000+05:30", "Sli": { "SliMetric": { "MetricDataQueries": [ { "Id": "m1", "MetricStat": { "Metric": { "Namespace": "AWS/EC2", "MetricName": "CPUUtilization", "Dimensions": [ { "Name": "InstanceId", "Value": "i-0e59876543234522" } ] }, "Period": 60, "Stat": "Average" }, "ReturnData": true } ] }, "MetricThreshold": 200.0, "ComparisonOperator": "LessThanOrEqualTo" }, "EvaluationType": "PeriodBased", "Goal": { "Interval": { "RollingInterval": { "DurationUnit": "DAY", "Duration": 7 } }, "AttainmentGoal": 99.0, "WarningThreshold": 50.0 } } }

Per ulteriori informazioni, consulta Application Signals nella Amazon CloudWatch User Guide.

Il seguente esempio di codice mostra come utilizzaredelete-service-level-objective.

AWS CLI

Per eliminare l'obiettivo del livello di servizio specificato.

L'delete-service-level-objectiveesempio seguente elimina l'obiettivo del livello di servizio specificato.

aws application-signals delete-service-level-objective \ --id "arn:aws:application-signals:us-east-1:123456789101:slo/SLOName"

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Application Signals nella Amazon CloudWatch User Guide.

Il seguente esempio di codice mostra come utilizzareget-service-level-objective.

AWS CLI

Per restituire informazioni su uno SLO creato nell'account

L'get-service-level-objectiveesempio seguente restituisce informazioni su uno SLO creato nell'account.

aws application-signals get-service-level-objective \ --id "arn:aws:application-signals:us-east-1:123456789101:slo/SLOName"

Output:

{ "Slo": { "Arn": "arn:aws:application-signals:us-east-1:123456789101:slo/SLOName", "Name": "SLOName", "Description": "Description of your SLO", "CreatedTime": "2024-12-24T22:19:18.624000+05:30", "LastUpdatedTime": "2024-12-24T22:19:55.280000+05:30", "Sli": { "SliMetric": { "MetricDataQueries": [{ "Id": "m1", "MetricStat": { "Metric": { "Namespace": "AWS/EC2", "MetricName": "CPUUtilization", "Dimensions": [{ "Name": "InstanceId", "Value": "i-0e0987654321522" }] }, "Period": 60, "Stat": "Average" }, "ReturnData": true }] }, "MetricThreshold": 200.0, "ComparisonOperator": "LessThanOrEqualTo" }, "EvaluationType": "PeriodBased", "Goal": { "Interval": { "RollingInterval": { "DurationUnit": "DAY", "Duration": 7 } }, "AttainmentGoal": 99.0, "WarningThreshold": 50.0 } } }

Per ulteriori informazioni, consulta Application Signals nella Amazon CloudWatch User Guide.

Il seguente esempio di codice mostra come utilizzareget-service.

AWS CLI

Per restituire informazioni su un servizio scoperto da Application Signals

L'get-serviceesempio seguente restituisce informazioni su un servizio scoperto da Application Signals.

aws application-signals get-service \ --start-time 1732704000 \ --end-time 1732714500 \ --key-attributes Environment=lambda:default,Name=hello-world-python,Type=Service

Output:

{ "Service": { "KeyAttributes": { "Environment": "lambda:default", "Name": "hello-world-python", "Type": "Service" }, "AttributeMaps": [{ "Lambda.Function.Name": "hello-world-python", "PlatformType": "AWS::Lambda" }], "MetricReferences": [{ "Namespace": "ApplicationSignals", "MetricType": "LATENCY", "Dimensions": [{ "Name": "Environment", "Value": "lambda:default" }, { "Name": "Service", "Value": "hello-world-python" }], "MetricName": "Latency" }, { "Namespace": "ApplicationSignals", "MetricType": "FAULT", "Dimensions": [{ "Name": "Environment", "Value": "lambda:default" }, { "Name": "Service", "Value": "hello-world-python" }], "MetricName": "Fault" }, { "Namespace": "ApplicationSignals", "MetricType": "ERROR", "Dimensions": [{ "Name": "Environment", "Value": "lambda:default" }, { "Name": "Service", "Value": "hello-world-python" }], "MetricName": "Error" }], "LogGroupReferences": [{ "Identifier": "/aws/lambda/hello-world-python", "ResourceType": "AWS::Logs::LogGroup", "Type": "AWS::Resource" }] }, "StartTime": "2024-11-27T10:00:00+00:00", "EndTime": "2024-11-27T14:00:01+00:00", "LogGroupReferences": [{ "Identifier": "/aws/lambda/hello-world-python", "ResourceType": "AWS::Logs::LogGroup", "Type": "AWS::Resource" }] }

Per ulteriori informazioni, consulta Application Signals nella Amazon CloudWatch User Guide.

Il seguente esempio di codice mostra come utilizzarelist-service-dependencies.

AWS CLI

Per restituire un elenco delle dipendenze del servizio specificato

L'list-service-dependenciesesempio seguente restituisce un elenco di dipendenze del servizio specificato.

aws application-signals list-service-dependencies \ --start-time 1732021200 \ --end-time 1732107600 \ --key-attributes Environment=api-gateway:prod, Name=PetAdoptionStatusUpdater,Type=Service

Output:

{ "ServiceDependencies": [{ "OperationName": "PUT /prod", "DependencyKeyAttributes": { "Environment": "lambda:default", "Name": "Services-name", "Type": "Service" }, "DependencyOperationName": "Invoke", "MetricReferences": [{ "Namespace": "ApplicationSignals", "MetricType": "LATENCY", "Dimensions": [{ "Name": "Environment", "Value": "api-gateway:prod" }, { "Name": "Operation", "Value": "PUT /prod" }, { "Name": "RemoteEnvironment", "Value": "lambda:default" }, { "Name": "RemoteOperation", "Value": "Invoke" }, { "Name": "RemoteService", "Value": "Services-name" }, { "Name": "Service", "Value": "PetAdoptionStatusUpdater" }], "MetricName": "Latency" }, { "Namespace": "ApplicationSignals", "MetricType": "FAULT", "Dimensions": [{ "Name": "Environment", "Value": "api-gateway:prod" }, { "Name": "Operation", "Value": "PUT /prod" }, { "Name": "RemoteEnvironment", "Value": "lambda:default" }, { "Name": "RemoteOperation", "Value": "Invoke" }, { "Name": "RemoteService", "Value": "Services-name" }, { "Name": "Service", "Value": "PetAdoptionStatusUpdater" }], "MetricName": "Fault" }, { "Namespace": "ApplicationSignals", "MetricType": "ERROR", "Dimensions": [{ "Name": "Environment", "Value": "api-gateway:prod" }, { "Name": "Operation", "Value": "PUT /prod" }, { "Name": "RemoteEnvironment", "Value": "lambda:default" }, { "Name": "RemoteOperation", "Value": "Invoke" }, { "Name": "RemoteService", "Value": "Services-name" }, { "Name": "Service", "Value": "PetAdoptionStatusUpdater" }], "MetricName": "Error" }] }], "StartTime": "2024-11-19T13:00:00+00:00", "EndTime": "2024-11-20T13:00:01+00:00" }

Per ulteriori informazioni, consulta Application Signals nella Amazon CloudWatch User Guide.

Il seguente esempio di codice mostra come utilizzarelist-service-dependents.

AWS CLI

Per restituire l'elenco delle persone dipendenti che hanno richiamato il servizio specificato durante l'intervallo di tempo fornito

L'list-service-dependentsesempio seguente restituisce l'elenco delle persone a carico che hanno richiamato il servizio specificato durante l'intervallo di tempo fornito.

aws application-signals list-service-dependents \ --start-time 1732021200 \ --end-time 1732107600 \ --key-attributes Environment=generic:default,Name=PetSite,Type=Service

Output:

{ "ServiceDependents": [{ "OperationName": "", "DependentKeyAttributes": { "Identifier": "pet-api-canary-hao", "ResourceType": "AWS::Synthetics::Canary", "Type": "AWS::Resource" }, "DependentOperationName": "", "MetricReferences": [] }, { "OperationName": "", "DependentKeyAttributes": { "Identifier": "PetSite", "ResourceType": "AWS::Synthetics::Canary", "Type": "AWS::Resource" }, "DependentOperationName": "", "MetricReferences": [] }], "StartTime": "2024-12-24T05:00:00+00:00", "EndTime": "2024-12-25T06:00:01+00:00" }

Per ulteriori informazioni, consulta Application Signals nella Amazon CloudWatch User Guide.

Il seguente esempio di codice mostra come utilizzarelist-service-level-objectives.

AWS CLI

Per restituire un elenco di quelli SLOs creati in questo account.

L'list-service-level-objectivesesempio seguente restituisce un elenco di SLOs quelli creati in questo account.

aws application-signals list-service-level-objectives

Output:

{ "SloSummaries": [{ "Arn": "arn:aws:application-signals:us-east-1:123456789101:slo/test", "Name": "test", "CreatedTime": "2024-12-24T22:01:21.116000+05:30" }] }

Per ulteriori informazioni, consulta Application Signals nella Amazon CloudWatch User Guide.

Il seguente esempio di codice mostra come utilizzarelist-service-operations.

AWS CLI

Per restituire un elenco delle operazioni di questo servizio che sono state scoperte da Application Signals

L'list-service-operationsesempio seguente restituisce un elenco delle operazioni di questo servizio che sono state scoperte da Application Signals.

aws application-signals list-service-operations \ --start-time 1735017423 \ --end-time 1735103823 \ --key-attributes Environment=generic:default,Name=payforadoption,Type=Service

Output:

{ "ServiceOperations": [{ "Name": "POST /api", "MetricReferences": [{ "Namespace": "ApplicationSignals", "MetricType": "LATENCY", "Dimensions": [{ "Name": "Environment", "Value": "generic:default" }, { "Name": "Operation", "Value": "POST /api" }, { "Name": "Service", "Value": "payforadoption" }], "MetricName": "Latency" }, { "Namespace": "ApplicationSignals", "MetricType": "FAULT", "Dimensions": [{ "Name": "Environment", "Value": "generic:default" }, { "Name": "Operation", "Value": "POST /api" }, { "Name": "Service", "Value": "payforadoption" }], "MetricName": "Fault" }, { "Namespace": "ApplicationSignals", "MetricType": "ERROR", "Dimensions": [{ "Name": "Environment", "Value": "generic:default" }, { "Name": "Operation", "Value": "POST /api" }, { "Name": "Service", "Value": "payforadoption" }], "MetricName": "Error" }] }], "StartTime": "2024-12-24T05:00:00+00:00", "EndTime": "2024-12-25T06:00:01+00:00" }

Per ulteriori informazioni, consulta Application Signals nella Amazon CloudWatch User Guide.

Il seguente esempio di codice mostra come utilizzarelist-services.

AWS CLI

Per restituire un elenco di servizi che sono stati scoperti da Application Signals

L'list-servicesesempio seguente restituisce un elenco di servizi che sono stati scoperti da Application Signals.

aws application-signals list-services \ --start-time 1734918791 \ --end-time 1734965591

Output:

{ "ServiceSummaries": [{ "KeyAttributes": { "Environment": "lambda:default", "Name": "hello-world-python", "Type": "Service" }, "AttributeMaps": [{ "Lambda.Function.Name": "hello-world-python", "PlatformType": "AWS::Lambda" }], "MetricReferences": [{ "Namespace": "ApplicationSignals", "MetricType": "LATENCY", "Dimensions": [{ "Name": "Environment", "Value": "lambda:default" }, { "Name": "Service", "Value": "hello-world-python" }], "MetricName": "Latency" }, { "Namespace": "ApplicationSignals", "MetricType": "FAULT", "Dimensions": [{ "Name": "Environment", "Value": "lambda:default" }, { "Name": "Service", "Value": "hello-world-python" }], "MetricName": "Fault" }, { "Namespace": "ApplicationSignals", "MetricType": "ERROR", "Dimensions": [{ "Name": "Environment", "Value": "lambda:default" }, { "Name": "Service", "Value": "hello-world-python" }], "MetricName": "Error" }] }], "StartTime": "2024-11-27T10:00:00+00:00", "EndTime": "2024-11-27T14:00:01+00:00" }

Per ulteriori informazioni, consulta Application Signals nella Amazon CloudWatch User Guide.

Il seguente esempio di codice mostra come utilizzarelist-tags-for-resource.

AWS CLI

Per visualizzare i tag associati a una CloudWatch risorsa

L'list-tags-for-resourceesempio seguente visualizza i tag associati a una CloudWatch risorsa.

aws application-signals list-tags-for-resource \ --resource-arn "arn:aws:application-signals:us-east-1:123456789101:slo/SLOName"

Output:

{ "Tags": [{ "Key": "test", "Value": "value" }] }

Per ulteriori informazioni, consulta Application Signals nella Amazon CloudWatch User Guide.

Il seguente esempio di codice mostra come utilizzarestart-discovery.

AWS CLI

Per abilitare questo account Amazon Web Services per poter utilizzare CloudWatch Application Signals

L'start-discoveryesempio seguente consente a questo account Amazon Web Services di utilizzare CloudWatch Application Signals creando il ruolo AWS ServiceRoleForCloudWatchApplicationSignalscollegato al servizio.

aws application-signals start-discovery

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Application Signals nella Amazon CloudWatch User Guide.

Il seguente esempio di codice mostra come utilizzaretag-resource.

AWS CLI

Assegna uno o più tag (coppie chiave-valore) alla CloudWatch risorsa specificata, ad esempio un obiettivo del livello di servizio

L'tag-resourceesempio seguente assegna uno o più tag (coppie chiave-valore) alla CloudWatch risorsa specificata, ad esempio un obiettivo del livello di servizio.

aws application-signals tag-resource \ --resource-arn "arn:aws:application-signals:us-east-1:123456789101:slo/SLOName" \ --tags '{"Key":"test","Value":"value"}'

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Application Signals nella Amazon CloudWatch User Guide.

Il seguente esempio di codice mostra come utilizzareuntag-resource.

AWS CLI

Per rimuovere uno o più tag dalla risorsa specificata

L'untag-resourceesempio seguente rimuove uno o più tag dalla risorsa specificata.

aws application-signals untag-resource \ --resource-arn "arn:aws:application-signals:us-east-1:123456789101:slo/SLOName" \ --tag-keys "test"

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Application Signals nella Amazon CloudWatch User Guide.

Il seguente esempio di codice mostra come utilizzareupdate-service-level-objective.

AWS CLI

Per aggiornare un obiettivo del livello di servizio (SLO) esistente

L'update-service-level-objectiveesempio seguente aggiorna un obiettivo di livello di servizio (SLO) esistente.

aws application-signals update-service-level-objective \ --cli-input-json file://update-slo.json

Contenuto di update-slo.json.

{ "id": "arn:aws:application-signals:us-east-1:123456789101:slo/SLOName", "goal": { "Interval": { "RollingInterval": { "DurationUnit": "DAY", "Duration": 7 } }, "AttainmentGoal": 90.0, "WarningThreshold": 50.0 } }

Output:

{ "Slo": { "Arn": "arn:aws:application-signals:us-east-1:123456789101:slo/SLOName", "Name": "SLOName", "Description": "Description of your SLO", "CreatedTime": "2024-12-24T22:19:18.624000+05:30", "LastUpdatedTime": "2024-12-27T08:51:38.278000+05:30", "Sli": { "SliMetric": { "MetricDataQueries": [{ "Id": "m1", "MetricStat": { "Metric": { "Namespace": "AWS/EC2", "MetricName": "CPUUtilization", "Dimensions": [{ "Name": "InstanceId", "Value": "i-00987654345222" }] }, "Period": 60, "Stat": "Average" }, "ReturnData": true }] }, "MetricThreshold": 200.0, "ComparisonOperator": "LessThanOrEqualTo" }, "EvaluationType": "PeriodBased", "Goal": { "Interval": { "RollingInterval": { "DurationUnit": "DAY", "Duration": 7 } }, "AttainmentGoal": 90.0, "WarningThreshold": 50.0 } } }

Per ulteriori informazioni, consulta Application Signals nella Amazon CloudWatch User Guide.