Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Uso de acciones de alarma en CloudWatch
Mediante las acciones de alarma de CloudWatch, puede crear alarmas que realicen acciones como detener, terminar, reiniciar, o recuperar automáticamente instancias de Amazon EC2.
Las acciones de alarma se pueden añadir a una alarma mediante la función SetAlarmActions de PutMetricAlarmRequest al crear una alarma.
Requisitos previos
Antes de comenzar, le recomendamos que lea Primeros pasos con el AWS SDK para C++.
Descargue el código de ejemplo y compile la solución tal y como se describe en Introducción a los ejemplos de código.
Para ejecutar los ejemplos, el perfil de usuario que su código utilice para realizar las solicitudes debe tener los permisos adecuados en AWS (para el servicio y la acción). Para obtener más información, consulte Proporcionar credenciales de AWS.
Habilitar acciones de alarma
Para habilitar acciones de alarma para una alarma de CloudWatch, llame a la función EnableAlarmActions de CloudWatchClient con un objeto EnableAlarmActionsRequest que contenga uno o varios nombres de alarma cuyas acciones desee habilitar.
Incluye
#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 de
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 el ejemplo completo
Deshabilitar acciones de alarma
Para deshabilitar acciones de alarma para una alarma de CloudWatch, llame a la función DisableAlarmActions de CloudWatchClient con un objeto DisableAlarmActionsRequest que contenga uno o varios nombres de alarma cuyas acciones desee deshabilitar.
Incluye
#include <aws/core/Aws.h> #include <aws/monitoring/CloudWatchClient.h> #include <aws/monitoring/model/DisableAlarmActionsRequest.h> #include <iostream>
Código de
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 el ejemplo completo
Más información
-
Creación de alarmas para parar, terminar, reiniciar o recuperar una instancia en la Guía del usuario de Amazon CloudWatch.
-
PutMetricalArm en la Referencia de la API de Amazon CloudWatch
-
EnableAlarmActions en la Referencia de la API de Amazon CloudWatch
-
DisableAlarmActions en la Referencia de la API de Amazon CloudWatch