Ejemplos de señales de aplicación que utilizan AWS CLI - AWS Ejemplos de código de SDK

Hay más ejemplos de AWS SDK disponibles en el GitHub repositorio de ejemplos de AWS Doc SDK.

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.

Ejemplos de señales de aplicación que utilizan AWS CLI

Los siguientes ejemplos de código muestran cómo realizar acciones e implementar escenarios comunes mediante el AWS Command Line Interface uso de Application Signals.

Las acciones son extractos de código de programas más grandes y deben ejecutarse en contexto. Mientras las acciones muestran cómo llamar a las distintas funciones de servicio, es posible ver las acciones en contexto en los escenarios relacionados.

En cada ejemplo se incluye un enlace al código de origen completo, con instrucciones de configuración y ejecución del código en el contexto.

Acciones

En el siguiente ejemplo de código, se muestra cómo utilizar batch-get-service-level-objective-budget-report.

AWS CLI

Para recuperar uno o más informes de presupuesto de objetivos de nivel de servicio (SLO).

En el ejemplo de batch-get-service-level-objective-budget-report siguiente, se recuperan uno o más informes de presupuesto de objetivos de nivel de servicio (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"

Salida:

{ "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 obtener más información, consulta Application Signals en la Guía del CloudWatch usuario de Amazon.

En el siguiente ejemplo de código, se muestra cómo utilizar create-service-level-objective.

AWS CLI

Creación de un objetivo de nivel de servicio (SLO)

En el ejemplo de create-service-level-objective siguiente, se crea un objetivo de nivel de servicio (SLO), que puede ayudarlo a garantizar que las operaciones empresariales críticas cumplan con las expectativas de los clientes.

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

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

Salida:

{ "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 obtener más información, consulta Application Signals en la Guía del CloudWatch usuario de Amazon.

En el siguiente ejemplo de código, se muestra cómo utilizar delete-service-level-objective.

AWS CLI

Para eliminar el objetivo de nivel de servicio especificado.

En el ejemplo de delete-service-level-objective siguiente, se elimina el objetivo de nivel de servicio especificado.

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

Este comando no genera ninguna salida.

Para obtener más información, consulta Application Signals en la Guía del CloudWatch usuario de Amazon.

En el siguiente ejemplo de código, se muestra cómo utilizar get-service-level-objective.

AWS CLI

Devolución de información sobre un SLO creado en la cuenta

En el ejemplo de get-service-level-objective siguiente, se devuelve información sobre un SLO creado en la cuenta.

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

Salida:

{ "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 obtener más información, consulta Application Signals en la Guía del CloudWatch usuario de Amazon.

En el siguiente ejemplo de código, se muestra cómo utilizar get-service.

AWS CLI

Recuperación de información sobre un servicio detectado por señales de aplicaciones

En el ejemplo de get-service siguiente, se devuelve información sobre un servicio detectado por señales de aplicaciones.

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

Salida:

{ "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 obtener más información, consulta Application Signals en la Guía del CloudWatch usuario de Amazon.

  • Para obtener más información sobre la API, consulte GetServicela Referencia de AWS CLI comandos.

En el siguiente ejemplo de código, se muestra cómo utilizar list-service-dependencies.

AWS CLI

Devolución de una lista de las dependencias del servicio que se especifique

En el ejemplo de list-service-dependencies siguiente, se devuelve una lista de dependencias del servicio que se especifique.

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

Salida:

{ "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 obtener más información, consulta Application Signals en la Guía del CloudWatch usuario de Amazon.

En el siguiente ejemplo de código, se muestra cómo utilizar list-service-dependents.

AWS CLI

Devolución de la lista de dependientes que invocaron el servicio especificado durante el intervalo de tiempo proporcionado

En el ejemplo de list-service-dependents siguiente, se devuelve la lista de dependientes que invocaron el servicio especificado durante el intervalo de tiempo proporcionado.

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

Salida:

{ "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 obtener más información, consulta Application Signals en la Guía del CloudWatch usuario de Amazon.

  • Para obtener más información sobre la API, consulte ListServiceDependentsla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código, se muestra cómo utilizar list-service-level-objectives.

AWS CLI

Para devolver una lista de lo SLOs creado en esta cuenta.

El siguiente list-service-level-objectives ejemplo devuelve una lista de las SLOs personas creadas en esta cuenta.

aws application-signals list-service-level-objectives

Salida:

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

Para obtener más información, consulta Application Signals en la Guía del CloudWatch usuario de Amazon.

En el siguiente ejemplo de código, se muestra cómo utilizar list-service-operations.

AWS CLI

Devolución de una lista de las operaciones de este servicio descubiertas por señales de aplicaciones

En el ejemplo de list-service-operations siguiente, se devuelve una lista de las operaciones de este servicio descubiertas por señales de aplicaciones.

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

Salida:

{ "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 obtener más información, consulta Application Signals en la Guía del CloudWatch usuario de Amazon.

  • Para obtener más información sobre la API, consulte ListServiceOperationsla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código, se muestra cómo utilizar list-services.

AWS CLI

Devolución de una lista de los servicios descubiertos por señales de aplicaciones

En el ejemplo de list-services siguiente, se devuelve una lista de servicios detectados por señales de aplicaciones.

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

Salida:

{ "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 obtener más información, consulta Application Signals en la Guía del CloudWatch usuario de Amazon.

  • Para obtener más información sobre la API, consulte ListServicesla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código, se muestra cómo utilizar list-tags-for-resource.

AWS CLI

Para mostrar las etiquetas asociadas a un CloudWatch recurso

En el siguiente list-tags-for-resource ejemplo, se muestran las etiquetas asociadas a un CloudWatch recurso.

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

Salida:

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

Para obtener más información, consulta Application Signals en la Guía del CloudWatch usuario de Amazon.

  • Para obtener más información sobre la API, consulte ListTagsForResourcela Referencia de AWS CLI comandos.

En el siguiente ejemplo de código, se muestra cómo utilizar start-discovery.

AWS CLI

Para permitir que esta cuenta de Amazon Web Services pueda utilizar CloudWatch Application Signals

El siguiente start-discovery ejemplo permite que esta cuenta de Amazon Web Services pueda utilizar CloudWatch Application Signals al crear el rol AWS ServiceRoleForCloudWatchApplicationSignalsvinculado al servicio.

aws application-signals start-discovery

Este comando no genera ninguna salida.

Para obtener más información, consulta Application Signals en la Guía del CloudWatch usuario de Amazon.

  • Para obtener más información sobre la API, consulte StartDiscoveryla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código, se muestra cómo utilizar tag-resource.

AWS CLI

Para asignar una o más etiquetas (pares clave-valor) al CloudWatch recurso especificado, como un objetivo de nivel de servicio

El siguiente tag-resource ejemplo asigna una o más etiquetas (pares clave-valor) al CloudWatch recurso especificado, como un objetivo de nivel de servicio.

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

Este comando no genera ninguna salida.

Para obtener más información, consulta Application Signals en la Guía del CloudWatch usuario de Amazon.

  • Para obtener más información sobre la API, consulte TagResourcela Referencia de AWS CLI comandos.

En el siguiente ejemplo de código, se muestra cómo utilizar untag-resource.

AWS CLI

Eliminación de una o varias etiquetas del recurso especificado

En el ejemplo de untag-resource siguiente, se eliminan una o más etiquetas del recurso especificado.

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

Este comando no genera ninguna salida.

Para obtener más información, consulta Application Signals en la Guía del CloudWatch usuario de Amazon.

  • Para obtener más información sobre la API, consulte UntagResourcela Referencia de AWS CLI comandos.

En el siguiente ejemplo de código, se muestra cómo utilizar update-service-level-objective.

AWS CLI

Actualización de un objetivo de nivel de servicio (SLO) existente

En el ejemplo de update-service-level-objective siguiente, se actualiza un objetivo de nivel de servicio (SLO) existente.

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

Contenido 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 } }

Salida:

{ "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 obtener más información, consulta Application Signals en la Guía del CloudWatch usuario de Amazon.