Beispiele für die Verwendung der AWS CLI mit Application Signals - AWS Command Line Interface

Beispiele für die Verwendung der AWS CLI mit Application Signals

Die folgenden Codebeispiele zeigen, wie Sie Aktionen durchführen und gängige Szenarien implementieren, indem Sie die AWS Command Line Interface mit Application Signals nutzen.

Aktionen sind Codeauszüge aus größeren Programmen und müssen im Kontext ausgeführt werden. Während Aktionen Ihnen zeigen, wie Sie einzelne Service-Funktionen aufrufen, können Sie Aktionen im Kontext der zugehörigen Szenarien anzeigen.

Jedes Beispiel enthält einen Link zum vollständigen Quellcode, wo Sie Anleitungen zum Einrichten und Ausführen des Codes im Kontext finden.

Themen

Aktionen

Das folgende Codebeispiel zeigt, wie batch-get-service-level-objective-budget-report verwendet wird.

AWS CLI

So rufen Sie einen oder mehrere SLO-Budgetberichte (Service Level Objective) ab.

Im folgenden Beispiel für batch-get-service-level-objective-budget-report werden einzelne oder mehrere SLO-Budgetberichte (Service Level Objective) abgerufen.

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"

Ausgabe:

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

Weitere Informationen finden Sie unter Application Signals im Benutzerhandbuch zu Amazon CloudWatch.

Das folgende Codebeispiel zeigt, wie create-service-level-objective verwendet wird.

AWS CLI

So erstellen Sie ein Service Level Objective (SLO)

Im folgenden Beispiel für create-service-level-objective wird ein Service Level Objective (SLO) erstellt, mit dem Sie sicherstellen können, dass Ihre kritischen Geschäftsabläufe den Kundenerwartungen entsprechen.

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

Inhalt von 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" }

Ausgabe:

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

Weitere Informationen finden Sie unter Application Signals im Benutzerhandbuch zu Amazon CloudWatch.

Das folgende Codebeispiel zeigt, wie delete-service-level-objective verwendet wird.

AWS CLI

So löschen Sie das angegebene Service Level Objective

Im folgenden Beispiel für delete-service-level-objective wird das angegebene Service Level Objective gelöscht.

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Application Signals im Benutzerhandbuch zu Amazon CloudWatch.

Das folgende Codebeispiel zeigt, wie get-service-level-objective verwendet wird.

AWS CLI

So geben Sie Informationen über ein im Konto erstelltes SLO zurück

Im folgenden Beispiel für get-service-level-objective werden Informationen über ein im Konto erstelltes SLO zurückgegeben.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Application Signals im Benutzerhandbuch zu Amazon CloudWatch.

Das folgende Codebeispiel zeigt, wie get-service verwendet wird.

AWS CLI

So geben Sie Informationen über einen von Application Signals erkannten Service zurück

Im folgenden Beispiel für get-service werden Informationen über einen von Application Signals erkannten Service zurückgegeben.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Application Signals im Benutzerhandbuch zu Amazon CloudWatch.

  • API-Details finden Sie unter GetService in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie list-service-dependencies verwendet wird.

AWS CLI

So geben Sie eine Liste der Serviceabhängigkeiten des von Ihnen angegebenen Service zurück

Im folgenden Beispiel für list-service-dependencies wird eine Liste der Serviceabhängigkeiten des von Ihnen angegebenen Service zurückgegeben.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Application Signals im Benutzerhandbuch zu Amazon CloudWatch.

Das folgende Codebeispiel zeigt, wie list-service-dependents verwendet wird.

AWS CLI

So geben Sie die Liste der abhängigen Objekte zurück, die den angegebenen Service während des angegebenen Zeitraums aufgerufen haben

Im folgenden Beispiel für list-service-dependents wird die Liste der abhängigen Objekte zurückgegeben, die den angegebenen Service während des angegebenen Zeitraums aufgerufen haben.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Application Signals im Benutzerhandbuch zu Amazon CloudWatch.

Das folgende Codebeispiel zeigt, wie list-service-level-objectives verwendet wird.

AWS CLI

So geben Sie eine Liste der in diesem Konto erstellten SLOs zurück

Im folgenden Beispiel für list-service-level-objectives wird eine Liste von SLOs zurückgegeben, die in diesem Konto erstellt wurden.

aws application-signals list-service-level-objectives

Ausgabe:

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

Weitere Informationen finden Sie unter Application Signals im Benutzerhandbuch zu Amazon CloudWatch.

Das folgende Codebeispiel zeigt, wie list-service-operations verwendet wird.

AWS CLI

So geben Sie eine Liste der Operationen dieses Service zurück, die von Application Signals erkannt wurden

Im folgenden Beispiel für list-service-operations wird eine Liste der Operationen dieses Service zurückgegeben, die von Application Signals erkannt wurden.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Application Signals im Benutzerhandbuch zu Amazon CloudWatch.

Das folgende Codebeispiel zeigt, wie list-services verwendet wird.

AWS CLI

So geben Sie eine Liste der Services zurück, die von Application Signals erkannt wurden

Im folgenden Beispiel für list-services wird eine Liste der Services zurückgegeben, die von Application Signals erkannt wurden.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Application Signals im Benutzerhandbuch zu Amazon CloudWatch.

  • API-Details finden Sie unter ListServices in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie list-tags-for-resource verwendet wird.

AWS CLI

So zeigen Sie die Tags an, die einer CloudWatch-Ressource zugeordnet sind

Im folgenden Beispiel für list-tags-for-resource werden die Tags angezeigt, die einer CloudWatch-Ressource zugeordnet sind.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Application Signals im Benutzerhandbuch zu Amazon CloudWatch.

Das folgende Codebeispiel zeigt, wie start-discovery verwendet wird.

AWS CLI

So aktivieren Sie dieses Konto in Amazon Web Services für die Nutzung von CloudWatch Application Signals

Im folgenden Beispiel für start-discovery wird dieses Konto in Amazon Web Services für die Nutzung von CloudWatch Application Signals aktiviert, indem die serviceverknüpfte Rolle AWSServiceRoleForCloudWatchApplicationSignals erstellt wird.

aws application-signals start-discovery

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Application Signals im Benutzerhandbuch zu Amazon CloudWatch.

  • API-Details finden Sie unter StartDiscovery in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie tag-resource verwendet wird.

AWS CLI

So weisen Sie der angegebenen CloudWatch-Ressource wie einem Service Level Objective einzelne oder mehrere Tags (Schlüssel-Wert-Paare) zu

Im folgenden Beispiel für tag-resource werden der angegebenen CloudWatch-Ressource wie einem Service Level Objective einzelne oder mehrere Tags (Schlüssel-Wert-Paare) zugewiesen.

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Application Signals im Benutzerhandbuch zu Amazon CloudWatch.

  • API-Details finden Sie unter TagResource in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie untag-resource verwendet wird.

AWS CLI

So entfernen Sie einzelne oder mehrere Tags aus der angegebenen Ressource

Im folgenden Beispiel für untag-resource werden einzelne oder mehrere Tags von der angegebenen Ressource entfernt.

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Application Signals im Benutzerhandbuch zu Amazon CloudWatch.

  • API-Details finden Sie unter UntagResource in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie update-service-level-objective verwendet wird.

AWS CLI

So aktualisieren Sie ein vorhandenes Service Level Objective (SLO)

Im folgenden Beispiel für update-service-level-objective wird ein vorhandenes Service Level Objective (SLO) aktualisiert.

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

Inhalt von 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 } }

Ausgabe:

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

Weitere Informationen finden Sie unter Application Signals im Benutzerhandbuch zu Amazon CloudWatch.