As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Usando ações de alarme em CloudWatch
Usando ações de CloudWatch alarme, você pode criar alarmes que executam ações como parar, encerrar, reiniciar ou recuperar automaticamente instâncias da Amazon. EC2
As ações de alarme podem ser adicionadas a um alarme usando a SetAlarmActions
função PutMetricAlarmRequest's ao criar um alarme.
Pré-requisitos
Antes de começar, recomendamos que você leia Introdução ao uso do AWS SDK para C++.
Baixe o código de exemplo e crie a solução conforme descrito emIntrodução aos exemplos de código.
Para executar os exemplos, o perfil de usuário que seu código usa para fazer as solicitações deve ter as permissões adequadas AWS (para o serviço e a ação). Para obter mais informações, consulte Fornecimento de AWS credenciais.
Habilitar ações de alarme
Para habilitar ações de CloudWatch alarme para um alarme, chame o CloudWatchClient s EnableAlarmActionsRequestcontendo um ou mais nomes de alarmes cujas ações você deseja ativar. EnableAlarmActions
Inclui
#include <aws/core/Aws.h> #include <aws/monitoring/CloudWatchClient.h> #include <aws/monitoring/model/EnableAlarmActionsRequest.h> #include <aws/monitoring/model/PutMetricAlarmRequest.h> #include <iostream>
Código
Aws::CloudWatch::CloudWatchClient cw; Aws::CloudWatch::Model::PutMetricAlarmRequest request; request.SetAlarmName(alarm_name); request.SetComparisonOperator( Aws::CloudWatch::Model::ComparisonOperator::GreaterThanThreshold); request.SetEvaluationPeriods(1); request.SetMetricName("CPUUtilization"); request.SetNamespace("AWS/EC2"); request.SetPeriod(60); request.SetStatistic(Aws::CloudWatch::Model::Statistic::Average); request.SetThreshold(70.0); request.SetActionsEnabled(false); request.SetAlarmDescription("Alarm when server CPU exceeds 70%"); request.SetUnit(Aws::CloudWatch::Model::StandardUnit::Seconds); request.AddAlarmActions(actionArn); Aws::CloudWatch::Model::Dimension dimension; dimension.SetName("InstanceId"); dimension.SetValue(instanceId); request.AddDimensions(dimension); auto outcome = cw.PutMetricAlarm(request); if (!outcome.IsSuccess()) { std::cout << "Failed to create CloudWatch alarm:" << outcome.GetError().GetMessage() << std::endl; return; } Aws::CloudWatch::Model::EnableAlarmActionsRequest enable_request; enable_request.AddAlarmNames(alarm_name); auto enable_outcome = cw.EnableAlarmActions(enable_request); if (!enable_outcome.IsSuccess()) { std::cout << "Failed to enable alarm actions:" << enable_outcome.GetError().GetMessage() << std::endl; return; } std::cout << "Successfully created alarm " << alarm_name << " and enabled actions on it." << std::endl;
Consulte o exemplo completo
Desabilitar ações de alarme
Para desativar as ações de CloudWatch alarme de um alarme, chame o CloudWatchClient s DisableAlarmActionsRequestcontendo um ou mais nomes de alarmes cujas ações você deseja desativar. DisableAlarmActions
Inclui
#include <aws/core/Aws.h> #include <aws/monitoring/CloudWatchClient.h> #include <aws/monitoring/model/DisableAlarmActionsRequest.h> #include <iostream>
Código
Aws::CloudWatch::CloudWatchClient cw; Aws::CloudWatch::Model::DisableAlarmActionsRequest disableAlarmActionsRequest; disableAlarmActionsRequest.AddAlarmNames(alarm_name); auto disableAlarmActionsOutcome = cw.DisableAlarmActions(disableAlarmActionsRequest); if (!disableAlarmActionsOutcome.IsSuccess()) { std::cout << "Failed to disable actions for alarm " << alarm_name << ": " << disableAlarmActionsOutcome.GetError().GetMessage() << std::endl; } else { std::cout << "Successfully disabled actions for alarm " << alarm_name << std::endl; }
Consulte o exemplo completo
Mais informações
-
Crie alarmes para parar, encerrar, reinicializar ou recuperar uma instância no Guia do usuário da Amazon CloudWatch
-
PutMetricAlarmna Amazon CloudWatch API Reference
-
EnableAlarmActionsna Amazon CloudWatch API Reference
-
DisableAlarmActionsna Amazon CloudWatch API Reference