Por que meu canário do Amazon CloudWatch parou de funcionar?

2 minuto de leitura
0

Eu criei um canário no Amazon CloudWatch usando o AWS CloudFormation ou a AWS Command Line Interface (AWS CLI). O canário parou de funcionar automaticamente após um período de tempo. Como posso solucionar este problema?

Resolução

Observação: se você receber erros ao executar comandos da AWS CLI, verifique se está usando a versão mais recente da AWS CLI.

Se o canário do Amazon CloudWatch parar de funcionar, verifique o valor "DurationInSeconds" definido durante a criação do canário. Esse valor especifica por quanto tempo (em segundos) o canário continua fazendo execuções regulares de acordo com o cronograma no valor "Expression". Se você especificar 0, o canário continuará fazendo execuções até ser interrompido. Se você omitir esse campo, o padrão de 0 será usado.

Verifique o valor do parâmetro "DurationInSeconds" do canário executando a API GetCanary do Amazon CloudWatch Synthetics:

aws synthetics  get-canary --name [canary_name]

Na saída, verifique o valor "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": {}
    }
}

Observação: na resposta, "DurationInSeconds" não é igual a 0.

Se o valor "DurationInSeconds" não corresponde à duração pretendida, execute a API UpdateCanary do Amazon CloudWatch Synthetics:

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

Observação: para que o canário seja executado continuamente, escreva a expressão de agendamento com "DurationInSeconds" definido como 0.

Verifique suas alterações executando o comando get-canary do Amazon CloudWatch Synthetics usando a AWS CLI:

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

Na saída, confirme se o valor "DurationInSeconds" é 0.


AWS OFICIAL
AWS OFICIALAtualizada há 2 anos