Por que meu canário do Amazon CloudWatch parou de funcionar?
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.
Conteúdo relevante
- AWS OFICIALAtualizada há 2 anos
- AWS OFICIALAtualizada há 3 anos