Warum läuft mein CloudWatch-Canary nicht mehr?

Lesedauer: 2 Minute
0

Ich habe in Amazon CloudWatch mithilfe von AWS CloudFormation oder der AWS Command Line Interface (AWS CLI) einen Canary erstellt. Der Canary hat nach einer gewissen Zeit automatisch aufgehört zu laufen. Wie kann ich das Problem beheben?

Lösung

Hinweis: Wenn Sie beim Ausführen von AWS-CLI-Befehlen Fehler erhalten, stellen Sie sicher, dass Sie die neueste Version der AWS-CLI verwenden.

Wenn Ihr CloudWatch-Canary nicht mehr läuft, überprüfen Sie den Wert „DurationInSeconds“, den Sie bei der Erstellung Ihres Canary festgelegt haben. Dieser Wert gibt an, wie lange (in Sekunden) der Canary weiterhin regelmäßige Durchläufe gemäß dem im Wert „Expression“ angegebenen Zeitplan durchführt. Wenn Sie 0 angeben, läuft der Canary weiter, bis Sie ihn beenden. Wenn Sie dieses Feld weglassen, wird der Standardwert 0 verwendet.

Um den Wert des Parameters „DurationInSeconds“ Ihres Canary zu überprüfen, führen Sie die Amazon CloudWatch Synthetics GetCanary-API aus:

aws synthetics  get-canary --name [canary_name]

Überprüfen Sie in der Ausgabe den Wert „DurationInSeconds“:

{
    "Canary": {
        "Id": "a1495b85-1c60-4f29-92c1-540f62fa34e3",
        "Name": "canary_name",
        "Code": {
            "SourceLocationArn": "arn:aws:lambda:eu-west-1:YourAccount:layer:cwsyn-canary_name-a1495b85-1c60-4f29-92c1-540f62fa34e3:1",
            "Handler": "CanaryFunction.handler"
        },
        "ExecutionRoleArn": "arn:aws:iam::YourAccount:role/CanaryRoleName",
        "Schedule": {
            "Expression": "rate(2 minutes)",
            "DurationInSeconds": 360
        },
        "RunConfig": {
            "TimeoutInSeconds": 120
        },
        "SuccessRetentionPeriodInDays": 31,
        "FailureRetentionPeriodInDays": 31,
        "Status": {
            "State": "READY"
        },
        "Timeline": {
            "Created": 1594481063.96,
            "LastModified": 1594481063.96
        },
        "ArtifactS3Location": "S3_Bucket_for_artifacts",
        "EngineArn": "arn:aws:lambda:eu-west-1:YourAccount:function:cwsyn-canary_name-a1495b85-1c60-4f29-92c1-540f62fa34e3:1",
        "RuntimeVersion": "syn-1.0",
        "Tags": {}
    }
}

Hinweis: In der Antwort ist „DurationInSeconds“ nicht gleich 0.

Wenn der Wert „DurationInSeconds“ nicht Ihrer geplanten Dauer entspricht, führen Sie die CloudWatch Synthetics UpdateCanary-API aus:

aws synthetics  update-canary --name canary_cli --schedule Expression="rate(2 minutes)",DurationInSeconds=0

Hinweis: Damit der Canary kontinuierlich ausgeführt werden kann, müssen Sie den Zeitplanausdruck mit „DurationInSeconds“ auf 0 festgelegt schreiben.

Um Ihre Änderungen zu überprüfen, führen Sie den CloudWatch Synthetics-Befehl get-canary mithilfe der AWS-CLI aus:

aws synthetics  get-canary --name [canary_name]


{
    "Canary": {
        "Id": "a1495b85-1c60-4f29-92c1-540f62fa34e3",
        "Name": "canary_name",
        "Code": {
            "SourceLocationArn": "arn:aws:lambda:eu-west-1:YourAccount:layer:cwsyn-canary_name-a1495b85-1c60-4f29-92c1-540f62fa34e3:1",
            "Handler": "CanaryFunction.handler"
        },
        "ExecutionRoleArn": "arn:aws:iam::YourAccount:role/CanaryRoleName",
        "Schedule": {
            "Expression": "rate(2 minutes)",
            "DurationInSeconds": 0
        },
        "RunConfig": {
            "TimeoutInSeconds": 120
        },
        "SuccessRetentionPeriodInDays": 31,
        "FailureRetentionPeriodInDays": 31,
        "Status": {
            "State": "READY"
        },
        "Timeline": {
            "Created": 1594481063.96,
            "LastModified": 1594481063.96
        },
        "ArtifactS3Location": "S3_Bucket_for_artifacts",
        "EngineArn": "arn:aws:lambda:eu-west-1:YourAccount:function:cwsyn-canary_name-a1495b85-1c60-4f29-92c1-540f62fa34e3:1",
        "RuntimeVersion": "syn-1.0",
        "Tags": {}
    }
}

Vergewissern Sie sich in der Ausgabe, dass der Wert für „DurationInSeconds“ 0 ist.


AWS OFFICIAL
AWS OFFICIALAktualisiert vor 2 Jahren