Exemplos de sinais de aplicação usando AWS CLI - AWS Exemplos de código do SDK

Há mais exemplos de AWS SDK disponíveis no repositório AWS Doc SDK Examples GitHub .

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

Exemplos de sinais de aplicação usando AWS CLI

Os exemplos de código a seguir mostram como realizar ações e implementar cenários comuns usando o AWS Command Line Interface com Application Signals.

Ações são trechos de código de programas maiores e devem ser executadas em contexto. Embora as ações mostrem como chamar perfis de serviço individuais, você pode ver as ações no contexto em seus cenários relacionados.

Cada exemplo inclui um link para o código-fonte completo, em que você pode encontrar instruções sobre como configurar e executar o código.

Tópicos

Ações

O código de exemplo a seguir mostra como usar batch-get-service-level-objective-budget-report.

AWS CLI

Para recuperar um ou mais relatórios orçamentários de objetivo de nível de serviço (SLO).

O batch-get-service-level-objective-budget-report exemplo a seguir recupera um ou mais relatórios orçamentários de objetivo de nível de serviço (SLO).

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"

Saída:

{ "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": [] }

Para obter mais informações, consulte Application Signals no Guia CloudWatch do usuário da Amazon.

O código de exemplo a seguir mostra como usar create-service-level-objective.

AWS CLI

Para criar um objetivo de nível de serviço (SLO)

O create-service-level-objective exemplo a seguir cria um objetivo de nível de serviço (SLO), que pode ajudá-lo a garantir que suas operações comerciais críticas atendam às expectativas do cliente.

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

Conteúdo de 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" }

Saída:

{ "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 } } }

Para obter mais informações, consulte Application Signals no Guia CloudWatch do usuário da Amazon.

O código de exemplo a seguir mostra como usar delete-service-level-objective.

AWS CLI

Para excluir o objetivo de nível de serviço especificado.

O delete-service-level-objective exemplo a seguir exclui o objetivo de nível de serviço especificado.

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

Este comando não produz saída.

Para obter mais informações, consulte Application Signals no Guia CloudWatch do usuário da Amazon.

O código de exemplo a seguir mostra como usar get-service-level-objective.

AWS CLI

Para retornar informações sobre um SLO criado na conta

O get-service-level-objective exemplo a seguir retorna informações sobre um SLO criado na conta.

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

Saída:

{ "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 } } }

Para obter mais informações, consulte Application Signals no Guia CloudWatch do usuário da Amazon.

O código de exemplo a seguir mostra como usar get-service.

AWS CLI

Para retornar informações sobre um serviço descoberto pelo Application Signals

O get-service exemplo a seguir retorna informações sobre um serviço descoberto pelo Application Signals.

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

Saída:

{ "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" }] }

Para obter mais informações, consulte Application Signals no Guia CloudWatch do usuário da Amazon.

  • Para obter detalhes da API, consulte GetServiceem Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar list-service-dependencies.

AWS CLI

Para retornar uma lista de dependências de serviço do serviço que você especifica

O list-service-dependencies exemplo a seguir retorna uma lista das dependências do serviço que você especifica.

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

Saída:

{ "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" }

Para obter mais informações, consulte Application Signals no Guia CloudWatch do usuário da Amazon.

O código de exemplo a seguir mostra como usar list-service-dependents.

AWS CLI

Para retornar a lista de dependentes que invocaram o serviço especificado durante o intervalo de tempo fornecido

O list-service-dependents exemplo a seguir retorna a lista de dependentes que chamaram o serviço especificado durante o intervalo de tempo fornecido.

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

Saída:

{ "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" }

Para obter mais informações, consulte Application Signals no Guia CloudWatch do usuário da Amazon.

O código de exemplo a seguir mostra como usar list-service-level-objectives.

AWS CLI

Para retornar uma lista dos SLOs criados nesta conta.

O list-service-level-objectives exemplo a seguir retorna uma lista dos SLOs criados nessa conta.

aws application-signals list-service-level-objectives

Saída:

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

Para obter mais informações, consulte Application Signals no Guia CloudWatch do usuário da Amazon.

O código de exemplo a seguir mostra como usar list-service-operations.

AWS CLI

Para retornar uma lista das operações desse serviço que foram descobertas pelo Application Signals

O list-service-operations exemplo a seguir retorna uma lista das operações desse serviço que foram descobertas pelo Application Signals.

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

Saída:

{ "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" }

Para obter mais informações, consulte Application Signals no Guia CloudWatch do usuário da Amazon.

O código de exemplo a seguir mostra como usar list-services.

AWS CLI

Para retornar uma lista de serviços que foram descobertos pelo Application Signals

O list-services exemplo a seguir retorna uma lista de serviços que foram descobertos pelo Application Signals.

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

Saída:

{ "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" }

Para obter mais informações, consulte Application Signals no Guia CloudWatch do usuário da Amazon.

  • Para obter detalhes da API, consulte ListServicesem Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar list-tags-for-resource.

AWS CLI

Para exibir as tags associadas a um CloudWatch recurso

O list-tags-for-resource exemplo a seguir exibe as tags associadas a um CloudWatch recurso.

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

Saída:

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

Para obter mais informações, consulte Application Signals no Guia CloudWatch do usuário da Amazon.

O código de exemplo a seguir mostra como usar start-discovery.

AWS CLI

Para permitir que essa conta da Amazon Web Services possa usar sinais de CloudWatch aplicativos

O start-discovery exemplo a seguir permite que essa conta da Amazon Web Services possa usar o CloudWatch Application Signals criando a função AWS ServiceRoleForCloudWatchApplicationSignalsvinculada ao serviço.

aws application-signals start-discovery

Este comando não produz saída.

Para obter mais informações, consulte Application Signals no Guia CloudWatch do usuário da Amazon.

  • Para obter detalhes da API, consulte StartDiscoveryem Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar tag-resource.

AWS CLI

Para atribuir uma ou mais tags (pares de valores-chave) ao CloudWatch recurso especificado, como um objetivo de nível de serviço

O tag-resource exemplo a seguir atribui uma ou mais tags (pares de valores-chave) ao CloudWatch recurso especificado, como um objetivo de nível de serviço.

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

Este comando não produz saída.

Para obter mais informações, consulte Application Signals no Guia CloudWatch do usuário da Amazon.

  • Para obter detalhes da API, consulte TagResourceem Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar untag-resource.

AWS CLI

Como remover uma ou mais tags do recurso especificado

O untag-resource exemplo a seguir remove uma ou mais tags do recurso especificado.

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

Este comando não produz saída.

Para obter mais informações, consulte Application Signals no Guia CloudWatch do usuário da Amazon.

  • Para obter detalhes da API, consulte UntagResourceem Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar update-service-level-objective.

AWS CLI

Para atualizar um objetivo de nível de serviço (SLO) existente

O update-service-level-objective exemplo a seguir atualiza um objetivo de nível de serviço (SLO) existente.

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

Conteúdo de 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 } }

Saída:

{ "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 } } }

Para obter mais informações, consulte Application Signals no Guia CloudWatch do usuário da Amazon.