Exemplos do Application Signals usando a AWS CLI - AWS Command Line Interface

Esta documentação é somente para a versão 1 da AWS CLI. Para obter a documentação relacionada à AWS CLI versão 2, consulte o Guia do usuário da versão 2.

Exemplos do Application Signals usando a AWS CLI

Os exemplos de código a seguir mostram como realizar ações e implementar cenários comuns usando a AWS Command Line Interface com o 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

Como recuperar um ou mais relatórios de orçamento de objetivo de nível de serviço (SLO)

O exemplo de batch-get-service-level-objective-budget-report a seguir recupera um ou mais relatórios de orçamento 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 ter mais informações, consulte Application Signals no Guia do usuário do Amazon CloudWatch.

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

AWS CLI

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

O exemplo de create-service-level-objective a seguir cria um objetivo de nível de serviço (SLO), o que pode ajudar você a garantir que as operações essenciais aos seus negócios atendam às expectativas dos clientes.

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 ter mais informações, consulte Application Signals no Guia do usuário do Amazon CloudWatch.

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

AWS CLI

Como excluir o objetivo de nível de serviço especificado

O exemplo de delete-service-level-objective 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 ter mais informações, consulte Application Signals no Guia do usuário do Amazon CloudWatch.

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

AWS CLI

Como exibir informações sobre um SLO criado na conta

O exemplo de get-service-level-objective a seguir exibe 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 ter mais informações, consulte Application Signals no Guia do usuário do Amazon CloudWatch.

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

AWS CLI

Como exibir informações sobre um serviço descoberto pelo Application Signals

O exemplo de get-service a seguir exibe 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 ter mais informações, consulte Application Signals no Guia do usuário do Amazon CloudWatch.

  • Para ver detalhes da API, consulte GetService na Referência de comandos da AWS CLI.

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

AWS CLI

Como exibir uma lista de dependências do serviço especificado por você.

O exemplo de list-service-dependencies a seguir exibe uma lista de dependências do serviço especificado por você.

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 ter mais informações, consulte Application Signals no Guia do usuário do Amazon CloudWatch.

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

AWS CLI

Como exibir a lista de dependentes que invocaram o serviço especificado durante o intervalo de tempo fornecido

O exemplo de list-service-dependents a seguir exibe a lista de dependentes que invocaram 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 ter mais informações, consulte Application Signals no Guia do usuário do Amazon CloudWatch.

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

AWS CLI

Como exibir uma lista de SLOs criados nessa conta

O exemplo de list-service-level-objectives a seguir exibe uma lista de 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 ter mais informações, consulte Application Signals no Guia do usuário do Amazon CloudWatch.

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

AWS CLI

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

O exemplo de list-service-operations a seguir exibe 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 ter mais informações, consulte Application Signals no Guia do usuário do Amazon CloudWatch.

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

AWS CLI

Como exibir uma lista dos serviços que foram descobertos pelo Application Signals

O exemplo de list-services a seguir exibe 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 ter mais informações, consulte Application Signals no Guia do usuário do Amazon CloudWatch.

  • Para obter detalhes da API, consulte ListServices na Referência de comandos da AWS CLI.

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

AWS CLI

Como exibir as tags associadas a um recurso do CloudWatch

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

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 ter mais informações, consulte Application Signals no Guia do usuário do Amazon CloudWatch.

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

AWS CLI

Como permitir que essa conta da Amazon Web Services use o CloudWatch Application Signals

O exemplo de start-discovery a seguir permite que essa conta da Amazon Web Services use o CloudWatch Application Signals criando o perfil vinculado ao serviço AWSServiceRoleForCloudWatchApplicationSignals.

aws application-signals start-discovery

Este comando não produz saída.

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

  • Para ver detalhes da API, consulte StartDiscovery na Referência de comandos da AWS CLI.

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

AWS CLI

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

O exemplo de tag-resource a seguir atribui uma ou mais tags (pares de chave-valor) ao recurso do CloudWatch 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 ter mais informações, consulte Application Signals no Guia do usuário do Amazon CloudWatch.

  • Para obter detalhes da API, consulte TagResource na Referência de comandos da AWS CLI.

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

AWS CLI

Como remover uma ou mais tags do recurso especificado

O exemplo de untag-resource 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 ter mais informações, consulte Application Signals no Guia do usuário do Amazon CloudWatch.

  • Para obter detalhes sobre a API, consulte UntagResource na Referência de comandos da AWS CLI.

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

AWS CLI

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

O exemplo de update-service-level-objective 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 ter mais informações, consulte Application Signals no Guia do usuário do Amazon CloudWatch.