Exemples d’utilisation de l’AWS CLI avec la vigie applicative
Les exemples de code suivants montrent comment réaliser des actions et mettre en œuvre des scénarios courants en utilisant l’AWS Command Line Interface avec la vigie applicative.
Les actions sont des extraits de code de programmes plus larges et doivent être exécutées dans leur contexte. Alors que les actions vous indiquent comment appeler des fonctions de service individuelles, vous pouvez les voir en contexte dans leurs scénarios associés.
Chaque exemple inclut un lien vers le code source complet, où vous trouverez des instructions sur la configuration et l’exécution du code en contexte.
Rubriques
Actions
L’exemple de code suivant montre comment utiliser batch-get-service-level-objective-budget-report.
- AWS CLI
-
Pour récupérer un ou plusieurs rapports budgétaires sur les objectifs de niveau de service (SLO)
L’exemple
batch-get-service-level-objective-budget-reportsuivant récupère un ou plusieurs rapports budgétaires sur les objectifs de niveau de service (SLO).aws application-signals batch-get-service-level-objective-budget-report \ --timestamp1735059869\ --slo-ids"arn:aws:application-signals:us-east-1:123456789101:slo/SLOName1""arn:aws:application-signals:us-east-1:123456789101:slo/SLOName2"Sortie :
{ "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": [] }Pour plus d’informations, consultez Vigie applicative dans le Guide de l’utilisateur Amazon CloudWatch.
-
Pour plus de détails sur l’API, consultez BatchGetServiceLevelObjectiveBudgetReport
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser create-service-level-objective.
- AWS CLI
-
Pour créer un objectif de niveau de service (SLO)
L’exemple
create-service-level-objectivesuivant crée un objectif de niveau de service (SLO), qui peut vous aider à garantir que vos opérations métier critiques répondent aux attentes des clients.aws application-signals create-service-level-objective \ --name"SLOName"\ --description"Description of your SLO"\ --sli-configfile://sli-config.jsonContenu 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" }Sortie :
{ "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 } } }Pour plus d’informations, consultez Vigie applicative dans le Guide de l’utilisateur Amazon CloudWatch.
-
Pour plus de détails sur l’API, consultez CreateServiceLevelObjective
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser delete-service-level-objective.
- AWS CLI
-
Pour supprimer l’objectif de niveau de service spécifié.
L’exemple
delete-service-level-objectivesuivant supprime l’objectif de niveau de service spécifié.aws application-signals delete-service-level-objective \ --id"arn:aws:application-signals:us-east-1:123456789101:slo/SLOName"Cette commande ne produit aucune sortie.
Pour plus d’informations, consultez Vigie applicative dans le Guide de l’utilisateur Amazon CloudWatch.
-
Pour plus de détails sur l’API, consultez DeleteServiceLevelObjective
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser get-service-level-objective.
- AWS CLI
-
Pour renvoyer les informations sur un SLO créé dans le compte
L’exemple
get-service-level-objectivesuivant renvoie les informations sur un SLO créé dans le compte.aws application-signals get-service-level-objective \ --id"arn:aws:application-signals:us-east-1:123456789101:slo/SLOName"Sortie :
{ "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 } } }Pour plus d’informations, consultez Vigie applicative dans le Guide de l’utilisateur Amazon CloudWatch.
-
Pour plus de détails sur l’API, consultez GetServiceLevelObjective
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser get-service.
- AWS CLI
-
Pour renvoyer les informations sur un service découvert par la vigie applicative
L’exemple
get-servicesuivant renvoie les informations sur un service découvert par la vigie applicative.aws application-signals get-service \ --start-time1732704000\ --end-time1732714500\ --key-attributesEnvironment=lambda:default,Name=hello-world-python,Type=ServiceSortie :
{ "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" }] }Pour plus d’informations, consultez Vigie applicative dans le Guide de l’utilisateur Amazon CloudWatch.
-
Pour plus de détails sur l’API, consultez GetService
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser list-service-dependencies.
- AWS CLI
-
Pour renvoyer une liste des dépendances du service que vous spécifiez
L’exemple
list-service-dependenciessuivant renvoie une liste des dépendances du service que vous spécifiez.aws application-signals list-service-dependencies \ --start-time1732021200\ --end-time1732107600\ --key-attributesEnvironment=api-gateway:prod,Name=PetAdoptionStatusUpdater,Type=ServiceSortie :
{ "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" }Pour plus d’informations, consultez Vigie applicative dans le Guide de l’utilisateur Amazon CloudWatch.
-
Pour plus de détails sur l’API, consultez ListServiceDependencies
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser list-service-dependents.
- AWS CLI
-
Pour renvoyer la liste des dépendances qui ont invoqué le service spécifié pendant la période spécifiée
L’exemple
list-service-dependentssuivant renvoie la liste des dépendances qui ont invoqué le service spécifié pendant la période spécifiée.aws application-signals list-service-dependents \ --start-time1732021200\ --end-time1732107600\ --key-attributesEnvironment=generic:default,Name=PetSite,Type=ServiceSortie :
{ "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" }Pour plus d’informations, consultez Vigie applicative dans le Guide de l’utilisateur Amazon CloudWatch.
-
Pour plus de détails sur l’API, consultez ListServiceDependents
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser list-service-level-objectives.
- AWS CLI
-
Pour renvoyer une liste des SLO créés dans ce compte
L’exemple
list-service-level-objectivessuivant renvoie une liste des SLO créés dans ce compte.aws application-signals list-service-level-objectivesSortie :
{ "SloSummaries": [{ "Arn": "arn:aws:application-signals:us-east-1:123456789101:slo/test", "Name": "test", "CreatedTime": "2024-12-24T22:01:21.116000+05:30" }] }Pour plus d’informations, consultez Vigie applicative dans le Guide de l’utilisateur Amazon CloudWatch.
-
Pour plus de détails sur l’API, consultez ListServiceLevelObjectives
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser list-service-operations.
- AWS CLI
-
Pour renvoyer une liste des opérations de ce service qui ont été découvertes par la vigie applicative
L’exemple
list-service-operationssuivant renvoie une liste des opérations de ce service qui ont été découvertes par la vigie applicative.aws application-signals list-service-operations \ --start-time1735017423\ --end-time1735103823\ --key-attributesEnvironment=generic:default,Name=payforadoption,Type=ServiceSortie :
{ "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" }Pour plus d’informations, consultez Vigie applicative dans le Guide de l’utilisateur Amazon CloudWatch.
-
Pour plus de détails sur l’API, consultez ListServiceOperations
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser list-services.
- AWS CLI
-
Pour renvoyer une liste des services découverts par la vigie applicative
L’exemple
list-servicessuivant renvoie une liste des services découverts par la vigie applicative.aws application-signals list-services \ --start-time1734918791\ --end-time1734965591Sortie :
{ "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" }Pour plus d’informations, consultez Vigie applicative dans le Guide de l’utilisateur Amazon CloudWatch.
-
Pour plus de détails sur l’API, consultez ListServices
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser list-tags-for-resource.
- AWS CLI
-
Pour afficher les balises associées à une ressource CloudWatch
L’exemple
list-tags-for-resourcesuivant affiche les balises associées à une ressource CloudWatch.aws application-signals list-tags-for-resource \ --resource-arn"arn:aws:application-signals:us-east-1:123456789101:slo/SLOName"Sortie :
{ "Tags": [{ "Key": "test", "Value": "value" }] }Pour plus d’informations, consultez Vigie applicative dans le Guide de l’utilisateur Amazon CloudWatch.
-
Pour plus de détails sur l’API, consultez ListTagsForResource
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser start-discovery.
- AWS CLI
-
Pour permettre à ce compte Amazon Web Services d’utiliser la vigie applicative CloudWatch
L’exemple
start-discoverysuivant permet à ce compte Amazon Web Services d’utiliser la vigie applicative CloudWatch en créant le rôle AWSServiceRoleForCloudWatchApplicationSignals lié à un service.aws application-signals start-discoveryCette commande ne produit aucune sortie.
Pour plus d’informations, consultez Vigie applicative dans le Guide de l’utilisateur Amazon CloudWatch.
-
Pour plus de détails sur l’API, consultez StartDiscovery
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser tag-resource.
- AWS CLI
-
Pour attribuer une ou plusieurs balises (paires clé-valeur) à la ressource CloudWatch spécifiée, comme un objectif de niveau de service
L’exemple
tag-resourcesuivant attribue une ou plusieurs balises (paires clé-valeur) à la ressource CloudWatch spécifiée, comme un objectif de niveau de service.aws application-signals tag-resource \ --resource-arn"arn:aws:application-signals:us-east-1:123456789101:slo/SLOName"\ --tags '{"Key":"test","Value":"value"}'Cette commande ne produit aucune sortie.
Pour plus d’informations, consultez Vigie applicative dans le Guide de l’utilisateur Amazon CloudWatch.
-
Pour plus de détails sur l’API, consultez TagResource
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser untag-resource.
- AWS CLI
-
Pour supprimer une ou plusieurs balises de la ressource spécifiée
L’exemple
untag-resourcesuivant supprime une ou plusieurs balises de la ressource spécifiée.aws application-signals untag-resource \ --resource-arn"arn:aws:application-signals:us-east-1:123456789101:slo/SLOName"\ --tag-keys"test"Cette commande ne produit aucune sortie.
Pour plus d’informations, consultez Vigie applicative dans le Guide de l’utilisateur Amazon CloudWatch.
-
Pour plus de détails sur l’API, consultez UntagResource
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser update-service-level-objective.
- AWS CLI
-
Pour mettre à jour un objectif de niveau de service (SLO)
L’exemple
update-service-level-objectivesuivant met à jour un objectif de niveau de service (SLO).aws application-signals update-service-level-objective \ --cli-input-jsonfile://update-slo.jsonContenu 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 } }Sortie :
{ "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 } } }Pour plus d’informations, consultez Vigie applicative dans le Guide de l’utilisateur Amazon CloudWatch.
-
Pour plus de détails sur l’API, consultez UpdateServiceLevelObjective
dans la Référence des commandes de l’AWS CLI.
-