Perché il mio CloudWatch Canary ha smesso di funzionare?

2 minuti di lettura
0

Ho creato un canary in Amazon CloudWatch utilizzando AWS CloudFormation o l'interfaccia della di comando di AWS (AWS CLI). Il canary ha smesso automaticamente di funzionare dopo un certo periodo di tempo. Come posso risolvere questo problema?

Risoluzione

Nota: se ricevi errori durante l'esecuzione dei comandi dell'interfaccia a riga di comando di AWS, assicurati di utilizzare la versione più recente dell'interfaccia a riga di comando di AWS.

Se CloudWatch Canary smette di funzionare, controlla il valore "DurationInSeconds" che hai impostato quando hai creato il tuo canary. Questo valore specifica il periodo di tempo (in secondi) in cui il canary continua a eseguire regolarmente secondo la pianificazione nel valore "Expression". Se specifichi 0, il canary continua a eseguire finché non lo interrompi. Se si omette questo campo, viene utilizzato il valore predefinito 0.

Per verificare il valore del parametro "DurationInSeconds" del tuo canary, esegui l'API GetCanary di Amazon CloudWatch Synthetics:

aws synthetics  get-canary --name [canary_name]

Nell'output, controlla il valore "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": {}
    }
}

Nota: nella risposta, "DurationInSeconds" non è uguale a 0.

Se il valore "DurationInSeconds" non corrisponde alla durata desiderata, esegui l'API UpdateCanary di CloudWatch Synthetics:

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

Nota: affinché il canary funzioni continuamente, è necessario scrivere l'espressione di pianificazione con "DurationInSeconds" impostato su 0.

Per verificare le modifiche, esegui il comando get-canary di CloudWatch Synthetics utilizzando l'interfaccia a riga di comando di AWS:

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

Nell'output, conferma che il valore "DurationInSeconds" sia 0.


AWS UFFICIALE
AWS UFFICIALEAggiornata 2 anni fa