Configuración de una alarma para crear investigaciones
Después de configurar un grupo de investigación en su cuenta, podrá configurar las alarmas de CloudWatch existentes para que creen investigaciones automáticamente cuando pasen al estado ALARM. De este modo, se elimina la necesidad de iniciar las investigaciones manualmente y garantiza una respuesta coherente a los problemas operativos. Puede configurar las alarmas mediante la Consola de administración de AWS, la AWS CLI, CloudFormation o los AWS SDK.
- Console
-
-
Abra la consola de CloudWatch en https://console.aws.amazon.com/cloudwatch/
. -
En el panel de navegación, elija Alarmas y seleccione una alarma existente.
-
Seleccione Acciones, Editar.
-
En la sección Acciones de alarma, elija Agregar acción de alarma.
-
En la sección Configurar acciones, Acción de investigación, elija el ARN del grupo de investigación.
-
(Opcional) Agregue una cadena de deduplicación para agrupar alarmas relacionadas.
-
Elija Update alarm (Actualizar alarma).
-
- CLI
-
Este comando requiere que especifique un ARN para el parámetro
alarm-actions. Para obtener más información acerca de cómo crear el ARN, consulte Formato y parámetros del ARN.Configuración de una alarma de CloudWatch con la acción InvestigationGroup (AWS CLI)
-
Si aún no lo ha hecho, instale y configure AWS CLI. Para obtener más información, consulte Instalación o actualización de la última versión de AWS CLI.
-
Ejecute el siguiente comando a fin de recopilar información sobre la alarma que desea configurar.
aws cloudwatch describe-alarms --alarm-names "alarm name" -
Ejecute el siguiente comando para actualizar una alarma. Reemplace cada
example resource placeholdercon su propia información.aws cloudwatch put-metric-alarm --alarm-name name \ --alarm-description "description" \ --metric-name name --namespace namespace \ --statistic statistic --period value --threshold value \ --comparison-operator value \ --dimensions "dimensions" --evaluation-periods value \ --alarm-actions "arn:aws:aiops:region:{account-id}:investigation-group/{investigationGroupIdentifier}#DEDUPE_STRING={my-dedupe-string}"A continuación se muestra un ejemplo.
//Without deduplication string aws cloudwatch put-metric-alarm --alarm-name cpu-mon \ --alarm-description "Alarm when CPU exceeds 70 percent" \ --metric-name CPUUtilization --namespace AWS/EC2 \ --statistic Average --period 300 --threshold 70 \ --comparison-operator GreaterThanThreshold \ --dimensions "Name=InstanceId,Value=i-12345678" --evaluation-periods 2 \ --alarm-actions arn:aws:aiops:us-east-1:123456789012:investigation-group/sMwwg1IogXdvL7UZ \ --unit Percent //With deduplication string aws cloudwatch put-metric-alarm --alarm-name cpu-mon \ --alarm-description "Alarm when CPU exceeds 70 percent" \ --metric-name CPUUtilization --namespace AWS/EC2 \ --statistic Average --period 300 --threshold 70 \ --comparison-operator GreaterThanThreshold \ --dimensions "Name=InstanceId,Value=i-12345678" --evaluation-periods 2 \ --alarm-actions arn:aws:aiops:us-east-1:123456789012:investigation-group/sMwwg1IogXdvL7UZ#DEDUPE_STRING=performance \ --unit Percent
-
- CloudFormation
-
En esta sección, se incluyen plantillas de CloudFormation que puede utilizar para configurar alarmas de CloudWatch a fin de crear o actualizar investigaciones de manera automática. Cada plantilla requiere que especifique un ARN para el parámetro
AlarmActions. Para obtener más información acerca de cómo crear el ARN, consulte Formato y parámetros del ARN.//Without deduplication string Resources: MyAlarm: Type: AWS::CloudWatch::Alarm Properties: AlarmActions: - !Sub "arn:aws:aiops:${AWS::Region}:${AWS::AccountId}:investigation-group/{investigationGroupIdentifier}" //With deduplication string Resources: MyAlarm: Type: AWS::CloudWatch::Alarm Properties: AlarmActions: - !Sub "arn:aws:aiops:${AWS::Region}:${AWS::AccountId}:investigation-group/{investigationGroupIdentifier}#DEDUPE_STRING={my-dedupe-string}" - SDK
-
En esta sección, se incluyen fragmentos de código Java que puede usar para configurar alarmas de CloudWatch a fin de crear o actualizar investigaciones de manera automática. Cada fragmento requiere que especifique un ARN para el parámetro
investigationGroupArn. Para obtener más información acerca de cómo crear el ARN, consulte Formato y parámetros del ARN.import com.amazonaws.services.cloudwatch.AmazonCloudWatch; import com.amazonaws.services.cloudwatch.AmazonCloudWatchClientBuilder; import com.amazonaws.services.cloudwatch.model.ComparisonOperator; import com.amazonaws.services.cloudwatch.model.Dimension; import com.amazonaws.services.cloudwatch.model.PutMetricAlarmRequest; import com.amazonaws.services.cloudwatch.model.PutMetricAlarmResult; import com.amazonaws.services.cloudwatch.model.StandardUnit; import com.amazonaws.services.cloudwatch.model.Statistic; //Without deduplication string private void putMetricAlarmWithCloudWatchInvestigationAction() { final AmazonCloudWatch cloudWatchClient = AmazonCloudWatchClientBuilder.defaultClient(); Dimension dimension = new Dimension() .withName("InstanceId") .withValue("i-12345678"); String investigationGroupArn = "arn:aws:aiops:us-east-1:123456789012:investigation-group/sMwwg1IogXdvL7UZ"; PutMetricAlarmRequest request = new PutMetricAlarmRequest() .withAlarmName("cpu-mon") .withComparisonOperator( ComparisonOperator.GreaterThanThreshold) .withEvaluationPeriods(2) .withMetricName("CPUUtilization") .withNamespace("AWS/EC2") .withPeriod(300) .withStatistic(Statistic.Average) .withThreshold(70.0) .withActionsEnabled(true) .withAlarmDescription("Alarm when CPU exceeds 70 percent") .withUnit(StandardUnit.Percent) .withDimensions(dimension) .withAlarmActions(investigationGroupArn); PutMetricAlarmResult response = cloudWatchClient.putMetricAlarm(request); } //With deduplication string private void putMetricAlarmWithCloudWatchInvestigationActionWithDedupeString() { final AmazonCloudWatch cloudWatchClient = AmazonCloudWatchClientBuilder.defaultClient(); Dimension dimension = new Dimension() .withName("InstanceId") .withValue("i-12345678"); String investigationGroupArn = "arn:aws:aiops:us-east-1:123456789012:investigation-group/sMwwg1IogXdvL7UZ#DEDUPE_STRING=performance"; PutMetricAlarmRequest request = new PutMetricAlarmRequest() .withAlarmName("cpu-mon") .withComparisonOperator( ComparisonOperator.GreaterThanThreshold) .withEvaluationPeriods(2) .withMetricName("CPUUtilization") .withNamespace("AWS/EC2") .withPeriod(300) .withStatistic(Statistic.Average) .withThreshold(70.0) .withActionsEnabled(true) .withAlarmDescription("Alarm when CPU exceeds 70 percent") .withUnit(StandardUnit.Percent) .withDimensions(dimension) .withAlarmActions(investigationGroupArn); PutMetricAlarmResult response = cloudWatchClient.putMetricAlarm(request); }