Beispiele für die Verwendung von CloudWatch Synthetics mit AWS CLI - AWS Command Line Interface

Beispiele für die Verwendung von CloudWatch Synthetics mit AWS CLI

Die folgenden Codebeispiele zeigen, wie Sie Aktionen durchführen und gängige Szenarien implementieren, indem Sie die AWS Command Line Interface mit CloudWatch Synthetics 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 associate-resource verwendet wird.

AWS CLI

So ordnen Sie einen Canary einer Gruppe zu

Im folgenden Beispiel für associate-resource wird ein Canary einer Gruppe namens demo_group zugeordnet.

aws synthetics associate-resource \ --group-identifier demo_group \ --resource-arn arn:aws:synthetics:us-east-1:123456789012:canary:demo_canary

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Synthetische Überwachung (Canarys) im Benutzerhandbuch zu Amazon CloudWatch.

Das folgende Codebeispiel zeigt, wie create-canary verwendet wird.

AWS CLI

So erstellen Sie ein Canary

Im folgenden Beispiel für create-canary wird ein Canary mit dem Namen demo_canary erstellt.

aws synthetics create-canary \ --name demo_canary \ --code '{"S3Bucket": "artifacts3bucket", "S3Key":"demo_canary.zip", "Handler": "index.lambda_handler"}' \ --artifact-s3-location s3://amzn-s3-demo-bucket/demo_canary.zip \ --execution-role-arn arn:aws:iam::123456789012:role/demo_canary_role \ --schedule Expression="rate(10 minutes)" \ --runtime-version syn-nodejs-puppeteer-9.1

Ausgabe:

{ "Canary": { "Id": "a1b2c3d4-5678-90ab-cdef-example11111", "Name": "demo_canary", "Code": { "Handler": "index.lambda_handler" }, "ExecutionRoleArn": "arn:aws:iam::123456789012:role/demo_canary_role", "Schedule": { "Expression": "rate(10 minutes)", "DurationInSeconds": 0 }, "RunConfig": { "TimeoutInSeconds": 600, "MemoryInMB": 1000, "ActiveTracing": false }, "SuccessRetentionPeriodInDays": 31, "FailureRetentionPeriodInDays": 31, "Status": { "State": "CREATING", "StateReasonCode": "CREATE_PENDING" }, "Timeline": { "Created": "2024-10-15T19:03:08.826000+05:30", "LastModified": "2024-10-15T19:03:08.826000+05:30" }, "ArtifactS3Location": "amzn-s3-demo-bucket/demo_canary.zip", "RuntimeVersion": "syn-nodejs-puppeteer-9.1", "Tags": {} } }

Weitere Informationen finden Sie unter Synthetische Überwachung (Canarys) im Benutzerhandbuch zu Amazon CloudWatch.

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

Das folgende Codebeispiel zeigt, wie create-group verwendet wird.

AWS CLI

So erstellen Sie eine Gruppe

Im folgenden Beispiel für create-group wird eine Gruppe namens demo_group erstellt.

aws synthetics create-group \ --name demo_group

Ausgabe:

{ "Group": { "Id": "example123", "Name": "demo_group", "Arn": "arn:aws:synthetics:us-east-1:123456789012:group:example123", "Tags": {}, "CreatedTime": "2024-10-15T14:47:23.811000+05:30", "LastModifiedTime": "2024-10-15T14:47:23.811000+05:30" } }

Weitere Informationen finden Sie unter Synthetische Überwachung (Canarys) im Benutzerhandbuch zu Amazon CloudWatch.

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

Das folgende Codebeispiel zeigt, wie delete-canary verwendet wird.

AWS CLI

So löschen Sie einen Canary dauerhaft

Im folgenden Beispiel für delete-canary wird ein Canary namens demo_canary gelöscht.

aws synthetics delete-canary \ --name demo_canary

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Synthetische Überwachung (Canarys) im Benutzerhandbuch zu Amazon CloudWatch.

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

Das folgende Codebeispiel zeigt, wie delete-group verwendet wird.

AWS CLI

So löschen Sie eine Gruppe

Im folgenden Beispiel für delete-group wird eine Gruppe namens demo_group gelöscht.

aws synthetics delete-group \ --group-identifier demo_group

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Synthetische Überwachung (Canarys) im Benutzerhandbuch zu Amazon CloudWatch.

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

Das folgende Codebeispiel zeigt, wie describe-canaries-last-run verwendet wird.

AWS CLI

So zeigen Sie Informationen aus dem letzten Lauf jedes Canary an

Im folgenden Beispiel für describe-canaries-last-run wird der letzten Lauf jedes Canary zurückgegeben, den Sie erstellt haben.

aws synthetics describe-canaries-last-run

Ausgabe:

{ "CanariesLastRun": [ { "CanaryName": "demo_canary", "LastRun": { "Id": "a1b2c3d4-5678-90ab-cdef-example11111", "Name": "demo_canary", "Status": { "State": "PASSED", "StateReason": "", "StateReasonCode": "" }, "Timeline": { "Started": "2024-10-15T19:20:39.691000+05:30", "Completed": "2024-10-15T19:20:58.211000+05:30" }, "ArtifactS3Location": "cw-syn-results-123456789012-us-east-1/canary/us-east-1/demo_canary-abc-example1234/2024/10/15/13/50-39-690" } } ] }

Weitere Informationen finden Sie unter Synthetische Überwachung (Canarys) im Benutzerhandbuch zu Amazon CloudWatch.

Das folgende Codebeispiel zeigt, wie describe-canaries verwendet wird.

AWS CLI

So listen Sie Canarys in Ihrem Konto auf

Im folgenden Beispiel für describe-canaries werden Details zu den Canarys in Ihrem Konto aufgelistet.

aws synthetics describe-canaries

Ausgabe:

{ "Canaries": [ { "Id": "a1b2c3d4-5678-90ab-cdef-example11111", "Name": "demo_canary", "Code": { "SourceLocationArn": "arn:aws:lambda:us-east-1:123456789012:layer:cwsyn-demo_canary-a1b2c3d4-5678-90ab-cdef-example11111b8:1", "Handler": "pageLoadBlueprint.handler" }, "ExecutionRoleArn": "arn:aws:iam::123456789012:role/service-role/CloudWatchSyntheticsRole-demo_canary-a12-a123bc456789", "Schedule": { "Expression": "rate(5 minutes)", "DurationInSeconds": 0 }, "RunConfig": { "TimeoutInSeconds": 300, "MemoryInMB": 1000, "ActiveTracing": false }, "SuccessRetentionPeriodInDays": 31, "FailureRetentionPeriodInDays": 31, "Status": { "State": "RUNNING" }, "Timeline": { "Created": "2024-10-15T18:55:15.168000+05:30", "LastModified": "2024-10-15T18:55:40.540000+05:30", "LastStarted": "2024-10-15T18:55:40.540000+05:30" }, "ArtifactS3Location": "cw-syn-results-123456789012-us-east-1/canary/us-east-1/demo_canary-a12-a123bc456789", "EngineArn": "arn:aws:lambda:us-east-1:123456789012:function:cwsyn-demo_canary-a1b2c3d4-5678-90ab-cdef-example111118:1", "RuntimeVersion": "syn-nodejs-puppeteer-9.1", "Tags": { "blueprint": "heartbeat" } } ] }

Weitere Informationen finden Sie unter Synthetische Überwachung (Canarys) im Benutzerhandbuch zu Amazon CloudWatch.

Das folgende Codebeispiel zeigt, wie describe-runtime-versions verwendet wird.

AWS CLI

So geben Sie eine Liste der Runtime-Versionen von Synthetics Canary zurück

Im folgenden Beispiel für describe-runtime-versions wird die Liste der Runtime-Versionen von Synthetics Canary zurückgegeben.

aws synthetics describe-runtime-versions

Ausgabe:

{ "RuntimeVersions": [ { "VersionName": "syn-nodejs-puppeteer-9.1", "Description": "Security fixes and bug fix for date range error in har. Dependencies: Node JS 20.x, Puppeteer-core 22.12.1, Chromium 126.0.6478.126", "ReleaseDate": "2024-10-02T05:30:00+05:30" }, { "VersionName": "syn-nodejs-puppeteer-9.0", "Description": "Upgraded Chromium and Puppeteer. Dependencies: Node JS 20.x, Puppeteer-core 22.12.1, Chromium 126.0.6478.126", "ReleaseDate": "2024-07-22T05:30:00+05:30" }, { "VersionName": "syn-nodejs-puppeteer-8.0", "Description": "Upgraded Chromium and Puppeteer. Dependencies: Node JS 20.x, Puppeteer-core 22.10.0, Chromium 125.0.6422.112", "ReleaseDate": "2024-06-21T05:30:00+05:30" }, { "VersionName": "syn-nodejs-puppeteer-7.0", "Description": "Upgraded Chromium and Puppeteer. Dependencies: Node JS 18.x, Puppeteer-core 21.9.0, Chromium 121.0.6167.139", "ReleaseDate": "2024-03-08T05:30:00+05:30" }, { "VersionName": "syn-nodejs-puppeteer-6.2", "Description": "Updated shared libraries for Chromium and added ephemeral storage monitoring. Dependencies: Node JS 18.x, Puppeteer-core 19.7.0, Chromium 111.0.5563.146", "ReleaseDate": "2024-02-02T05:30:00+05:30" }, { "VersionName": "syn-nodejs-puppeteer-6.1", "Description": "Added puppeteer launch retry. Dependencies: Node JS 18.x, Puppeteer-core 19.7.0, Chromium 111.0.5563.146", "ReleaseDate": "2023-11-13T05:30:00+05:30", "DeprecationDate": "2024-03-08T13:30:00+05:30" }, { "VersionName": "syn-nodejs-puppeteer-6.0", "Description": "Reduced X-Ray traces of a canary run, improved duration metric and upgraded to NodeJS 18.x. Dependencies: Node JS 18.x, Puppeteer-core 19.7.0, Chromium 111.0.5563.146", "ReleaseDate": "2023-09-15T05:30:00+05:30", "DeprecationDate": "2024-03-08T13:30:00+05:30" }, { "VersionName": "syn-nodejs-puppeteer-5.2", "Description": "Updated shared libraries for Chromium. Dependencies: Node JS 16.x, Puppeteer-core 19.7.0, Chromium 111.0.5563.146", "ReleaseDate": "2024-02-01T05:30:00+05:30" }, { "VersionName": "syn-nodejs-puppeteer-5.1", "Description": "Fixes a bug about missing request headers in har. Dependencies: Node JS 16.x, Puppeteer-core 19.7.0, Chromium 111.0.5563.146", "ReleaseDate": "2023-08-09T05:30:00+05:30", "DeprecationDate": "2024-03-08T13:30:00+05:30" }, { "VersionName": "syn-nodejs-puppeteer-5.0", "Description": "Upgraded Puppeteer and Chromium. Dependencies: Node JS 16.x, Puppeteer-core 19.7.0, Chromium 111.0.5563.146", "ReleaseDate": "2023-07-21T05:30:00+05:30", "DeprecationDate": "2024-03-08T13:30:00+05:30" }, { "VersionName": "syn-nodejs-puppeteer-4.0", "Description": "Upgraded to NodeJS 16.x. Dependencies: Node JS 16.x, Puppeteer-core 5.5.0, Chromium 92.0.4512.0", "ReleaseDate": "2023-05-01T05:30:00+05:30", "DeprecationDate": "2024-03-08T13:30:00+05:30" } ] }

Weitere Informationen finden Sie unter Synthetische Überwachung (Canarys) im Benutzerhandbuch zu Amazon CloudWatch.

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

AWS CLI

So entfernen Sie einen Canary aus einer Gruppe

Im folgenden Beispiel für disassociate-resource wird ein Canary aus einer Gruppe mit dem Namen demo_group entfernt.

aws synthetics disassociate-resource \ --group-identifier demo_group \ --resource-arn arn:aws:synthetics:us-east-1:123456789012:canary:demo_canary

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Synthetische Überwachung (Canarys) im Benutzerhandbuch zu Amazon CloudWatch.

Das folgende Codebeispiel zeigt, wie get-canary-runs verwendet wird.

AWS CLI

So rufen Sie eine Liste von Läufen für einen bestimmten Canary ab

Im folgenden Beispiel für get-canary-runs wird eine Liste von Läufen für den Canary namens demo_canary abgerufen.

aws synthetics get-canary-runs \ --name demo_canary

Ausgabe:

{ "CanaryRuns": [ { "Id": "a1b2c3d4-5678-90ab-cdef-example11111", "Name": "demo_canary", "Status": { "State": "PASSED", "StateReason": "", "StateReasonCode": "" }, "Timeline": { "Started": "2024-10-16T10:38:57.013000+05:30", "Completed": "2024-10-16T10:39:25.793000+05:30" }, "ArtifactS3Location": "cw-syn-results-123456789012-us-east-1/canary/us-east-1/demo_canary-abc-example1234/2024/10/15/13/50-39-690" } ] }

Weitere Informationen finden Sie unter Synthetische Überwachung (Canarys) im Benutzerhandbuch zu Amazon CloudWatch.

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

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

AWS CLI

So rufen Sie die vollständigen Informationen zu einem einzelnen Canary ab

Im folgenden Beispiel für get-canary werden Informationen zu dem Canary namens demo_canary abgerufen.

aws synthetics get-canary \ --name demo_canary

Ausgabe:

{ "Canary": { "Id": "a1b2c3d4-5678-90ab-cdef-example11111", "Name": "demo_canary", "Code": { "SourceLocationArn": "arn:aws:lambda:us-east-1:123456789012:layer:cwsyn-demo_canary-a1b2c3d4-5678-90ab-cdef-example111118:1", "Handler": "pageLoadBlueprint.handler" }, "ExecutionRoleArn": "arn:aws:iam::123456789012:role/demo_canary_role", "Schedule": { "Expression": "rate(10 minutes)", "DurationInSeconds": 0 }, "RunConfig": { "TimeoutInSeconds": 300, "MemoryInMB": 1000, "ActiveTracing": false }, "SuccessRetentionPeriodInDays": 31, "FailureRetentionPeriodInDays": 31, "Status": { "State": "RUNNING" }, "Timeline": { "Created": "2024-10-15T18:55:15.168000+05:30", "LastModified": "2024-10-15T18:55:40.540000+05:30", "LastStarted": "2024-10-15T18:55:40.540000+05:30" }, "ArtifactS3Location": "cw-syn-results-123456789012-us-east-1/canary/us-east-1/demo_canary-a12-a123bc456789", "EngineArn": "arn:aws:lambda:us-east-1:123456789012:function:cwsyn-demo_canary-a1b2c3d4-5678-90ab-cdef-example111118:1", "RuntimeVersion": "syn-nodejs-puppeteer-9.1", "Tags": { "blueprint": "heartbeat" } } }

Weitere Informationen finden Sie unter Synthetische Überwachung (Canarys) im Benutzerhandbuch zu Amazon CloudWatch.

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

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

AWS CLI

So geben Sie Informationen über eine Gruppe zurück

Im folgenden Beispiel für get-group werden Informationen über die Gruppe namens demo_group zurückgegeben.

aws synthetics get-group \ --group-identifier demo_group

Ausgabe:

{ "Group": { "Id": "example123", "Name": "demo_group", "Arn": "arn:aws:synthetics:us-east-1:123456789012:group:example123", "Tags": {}, "CreatedTime": "2024-10-15T14:47:23.811000+05:30", "LastModifiedTime": "2024-10-15T14:47:23.811000+05:30" } }

Weitere Informationen finden Sie unter Synthetische Überwachung (Canarys) im Benutzerhandbuch zu Amazon CloudWatch.

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

Das folgende Codebeispiel zeigt, wie list-associated-groups verwendet wird.

AWS CLI

So geben Sie eine Liste der Gruppen zurück

Im folgenden Beispiel für list-associated-groups wird eine Liste der Gruppen zurückgegeben, die dem Canary namens demo_canary zugeordnet sind.

aws synthetics list-associated-groups \ --resource-arn arn:aws:synthetics:us-east-1:123456789012:canary:demo_canary

Ausgabe:

{ "Groups": [ { "Id": "example123", "Name": "demo_group", "Arn": "arn:aws:synthetics:us-east-1:123456789012:group:example123" } ] }

Weitere Informationen finden Sie unter Synthetische Überwachung (Canarys) im Benutzerhandbuch zu Amazon CloudWatch.

Das folgende Codebeispiel zeigt, wie list-group-resources verwendet wird.

AWS CLI

So geben Sie eine Liste der ARNs der Canarys zurück, die der angegebenen Gruppe zugeordnet sind

Im folgenden Beispiel für list-group-resources wird eine Liste der ARNs der Canarys zurückgegeben, die der Gruppe namens demo_group zugeordnet sind.

aws synthetics list-group-resources \ --group-identifier demo_group

Ausgabe:

{ "Resources": [ "arn:aws:synthetics:us-east-1:123456789012:canary:demo_canary" ] }

Weitere Informationen finden Sie unter Synthetische Überwachung (Canarys) im Benutzerhandbuch zu Amazon CloudWatch.

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

AWS CLI

So geben Sie eine Liste aller Gruppen im Konto zurück

Im folgenden Beispiel für list-groups wird eine Liste aller Gruppen im Konto zurückgegeben.

aws synthetics list-groups

Ausgabe:

{ "Groups": [ { "Id": "example123", "Name": "demo_group", "Arn": "arn:aws:synthetics:us-east-1:123456789012:group:example123" } ] }

Weitere Informationen finden Sie unter Synthetische Überwachung (Canarys) im Benutzerhandbuch zu Amazon CloudWatch.

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

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

AWS CLI

Beispiel 1: So zeigen Sie die Tags an, die einem Canary zugeordnet sind

Im folgenden Beispiel für list-tags-for-resource werden die Tags zurückgegeben, die einem Canary namens demo_canary zugeordnet sind.

aws synthetics list-tags-for-resource \ --resource-arn arn:aws:synthetics:us-east-1:123456789012:canary:demo_canary

Ausgabe:

{ "Tags": { "blueprint": "heartbeat" } }

Beispiel 2: So zeigen Sie die mit einer Gruppe verknüpften Tags an

Im folgenden Beispiel für list-tags-for-resource werden die Tags zurückgegeben, die einer Gruppe namens demo_group zugeordnet sind.

aws synthetics list-tags-for-resource \ --resource-arn arn:aws:synthetics:us-east-1:123456789012:group:example123

Ausgabe:

{ "Tags": { "team": "Devops" } }

Weitere Informationen finden Sie unter Synthetische Überwachung (Canarys) im Benutzerhandbuch zu Amazon CloudWatch.

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

AWS CLI

So führen Sie einen Canary aus

Im folgenden Beispiel für start-canary wird ein Canary namens demo_canary ausgeführt.

aws synthetics start-canary \ --name demo_canary

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Synthetische Überwachung (Canarys) im Benutzerhandbuch zu Amazon CloudWatch.

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

Das folgende Codebeispiel zeigt, wie stop-canary verwendet wird.

AWS CLI

So stoppen Sie einen Canary

Im folgenden Beispiel für stop-canary wird der Canary namens demo_canary gestoppt.

aws synthetics stop-canary \ --name demo_canary

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Synthetische Überwachung (Canarys) im Benutzerhandbuch zu Amazon CloudWatch.

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

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

AWS CLI

Beispiel 1: So weisen Sie dem Canary einen Tag zu

Im folgenden Beispiel für tag-resource wird dem Canary namens demo_canary ein Tag zugewiesen.

aws synthetics tag-resource \ --resource-arn arn:aws:synthetics:us-east-1:123456789012:canary:demo_canary \ --tags blueprint=heartbeat

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Beispiel 2: So weisen Sie der Gruppe ein Tag zu

Im folgenden Beispiel für tag-resource wird der Gruppe namens demo_group ein Tag zugewiesen.

aws synthetics tag-resource \ --resource-arn arn:aws:synthetics:us-east-1:123456789012:group:example123 \ --tags team=Devops

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Synthetische Überwachung (Canarys) 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

Beispiel 1: So entfernen Sie einen Tag vom Canary

Im folgenden Beispiel für untag-resource wird ein Tag von einem Canary namens demo_canary entfernt.

aws synthetics untag-resource \ --resource-arn arn:aws:synthetics:us-east-1:123456789012:canary:demo_canary \ --tag-keys blueprint

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Beispiel 2: So entfernen Sie einen Tag von der Gruppe

Im folgenden Beispiel für untag-resource wird der Gruppe namens demo_group ein Tag zugewiesen.

aws synthetics untag-resource \ --resource-arn arn:aws:synthetics:us-east-1:123456789012:group:example123 \ --tag-keys team

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Synthetische Überwachung (Canarys) im Benutzerhandbuch zu Amazon CloudWatch.

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

Das folgende Codebeispiel zeigt, wie update-canary verwendet wird.

AWS CLI

So aktualisieren Sie einen Canary

Im folgenden Beispiel für update-canary wird die Konfiguration eines Canary namens demo_canary aktualisiert.

aws synthetics update-canary \ --name demo_canary \ --schedule Expression="rate(15 minutes)"

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Synthetische Überwachung (Canarys) im Benutzerhandbuch zu Amazon CloudWatch.

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