Ejemplos de señales de aplicación que utilizan AWS CLI - AWS Command Line Interface

Esta documentación es para la versión 1 de AWS CLI. Para obtener documentación relacionada con la versión 2 de AWS CLI, consulte la Guía del usuario de la versión 2.

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

En los ejemplos de código siguientes, se muestra cómo realizar acciones e implementar situaciones comunes mediante la AWS Command Line Interface con señales de aplicaciones.

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, consulte Señales de aplicaciones en la Guía del usuario de Amazon CloudWatch.

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, consulte Señales de aplicaciones en la Guía del usuario de Amazon CloudWatch.

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, consulte Señales de aplicaciones en la Guía del usuario de Amazon CloudWatch.

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, consulte Señales de aplicaciones en la Guía del usuario de Amazon CloudWatch.

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, consulte Señales de aplicaciones en la Guía del usuario de Amazon CloudWatch.

  • Para obtener información sobre la API, consulte GetService en la Referencia de comandos de la AWS CLI.

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, consulte Señales de aplicaciones en la Guía del usuario de Amazon CloudWatch.

  • Para obtener información sobre la API, consulte ListServiceDependencies en la Referencia de comandos de la AWS CLI.

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, consulte Señales de aplicaciones en la Guía del usuario de Amazon CloudWatch.

  • Para obtener información sobre la API, consulte ListServiceDependents en la Referencia de comandos de la AWS CLI.

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

AWS CLI

Para devolver una lista de los SLO creados en esta cuenta.

En el ejemplo de list-service-level-objectives siguiente, se devuelve una lista de los SLO creada 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, consulte Señales de aplicaciones en la Guía del usuario de Amazon CloudWatch.

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, consulte Señales de aplicaciones en la Guía del usuario de Amazon CloudWatch.

  • Para obtener información sobre la API, consulte ListServiceOperations en la Referencia de comandos de la AWS CLI.

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, consulte Señales de aplicaciones en la Guía del usuario de Amazon CloudWatch.

  • Para obtener información sobre la API, consulte ListServices en la Referencia de comandos de la AWS CLI.

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

AWS CLI

Muestra de las etiquetas asociadas a un recurso de CloudWatch

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

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, consulte Señales de aplicaciones en la Guía del usuario de Amazon CloudWatch.

  • Para ver los detalles de la API, consulte ListTagsForResource en la Referencia de comandos de la AWS CLI.

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

AWS CLI

Permiso para que esta cuenta de Amazon Web Services pueda utilizar señales de aplicaciones de CloudWatch

En el ejemplo de start-discovery siguiente, se permite que esta cuenta de Amazon Web Services pueda utilizar señales de aplicaciones de CloudWatch mediante la creación del rol vinculado al servicio AWSServiceRoleForCloudWatchApplicationSignals.

aws application-signals start-discovery

Este comando no genera ninguna salida.

Para obtener más información, consulte Señales de aplicaciones en la Guía del usuario de Amazon CloudWatch.

  • Para obtener información sobre la API, consulte StartDiscovery en la Referencia de comandos de la AWS CLI.

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

AWS CLI

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

En el ejemplo de tag-resource siguiente, se asignan una o más etiquetas (pares clave-valor) al recurso de CloudWatch 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, consulte Señales de aplicaciones en la Guía del usuario de Amazon CloudWatch.

  • Para ver los detalles de la API, consulte TagResource en la Referencia de comandos de la AWS CLI.

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, consulte Señales de aplicaciones en la Guía del usuario de Amazon CloudWatch.

  • Para ver los detalles de la API, consulte UntagResource en la Referencia de comandos de la AWS CLI.

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, consulte Señales de aplicaciones en la Guía del usuario de Amazon CloudWatch.