Cómo administrar AWS Cloudwatch usando aws-cli

Obtener llamada identidad

En este artículo, le mostraré los comandos aws-cli para administrar Cloudwatch desde la terminal. Esta guía lo ayudará a comenzar a usar aws-cli para crear y administrar alarmas de Cloudwatch. Veremos comandos para crear, administrar, eliminar una alarma de monitoreo de CPU EC2. Se supone que ya está familiarizado con AWS EC2, los servicios de Cloudwatch.

Los siguientes son los comandos aws-cli para Cloudwatch que veremos en este artículo.

  1. métrica de listas: este comando enumera las métricas especificadas.
  2. poner-metrica-alarma: puede crear y actualizar una alarma con este comando.
  3. describir-alarmas: Obtener detalles de la alarma especificada.
  4. establecer estado de alarma: cambie el estado de la alarma temporalmente con fines de prueba usando este comando.
  5. describir-historial-de-alarmas: Verifique el historial de la alarma especificada usando este comando.
  6. eliminar-alarmas: use este comando para eliminar una alarma en particular.

Visita la documentación oficial aquí para saber qué comandos están disponibles para administrar Cloudwatch.

requisitos previos

  1. Cuenta AWS (Crear si no tienes uno).
  2. Comprensión básica de la instancia EC2 (Haga clic aquí para aprender a crear una instancia EC2).
  3. Comprensión básica de Cloudwatch (haga clic aquí para aprender a crear alarmas para una instancia EC2 desde la consola de AWS).
  4. Usuario de AWS IAM con AdministradorAcceso política adjunta y sus claves secretas y de acceso (Haga clic aquí para obtener información sobre cómo crear un usuario de IAM).
  5. AWS CLI instalado en su m√°quina local.
  6. Tema de SNS (Haga clic aquí para aprender a crear un tema de SNS usando Cloudformation).

¬ŅQue haremos?

  1. Verifique aws cli y exporte la clave secreta y de acceso de AWS en su m√°quina local.
  2. Administre Cloudwatch mediante aws-cli

Verifique aws cli y exporte la clave secreta y de acceso de AWS en su m√°quina local.

Antes de continuar, aseg√ļrese de tener aws-cli instalado en su m√°quina local.

aws --verson #aws-cli/2.0.0 Python/3.8.2 Darwin/19.2.0 botocore/2.0.0dev7

Obtenga sus claves secretas y de acceso de usuario de AWS IAM y expórtelas a su terminal.

export AWS_ACCESS_KEY_ID=<your-iam-user-access-key-here>
export AWS_SECRET_ACCESS_KEY=<your-iam-user-secret-key-here>

Verifique la identidad de las claves que exportó.

aws sts get-caller-identity

Obtener llamada identidad

Ver√° mis claves en la captura de pantalla anterior, no podr√° usarlas porque ya no est√°n activas. Adem√°s, tome nota de que nunca comparte sus llaves con nadie.

Administre Cloudwatch mediante aws-cli

De nada sirve crear una alarma si no nos llegan las notificaciones cuando salta la alarma. Para enviar alertas, necesitamos un tema de SNS con una suscripción. Ya tengo algunos temas de SNS con una suscripción por correo electrónico a uno de ellos. Lo usaré para fines de demostración. Si no tiene un tema de SNS, créelo antes de continuar.

Obtenga una lista de los temas de SNS existentes en su cuenta.

aws sns list-topics

Obtenga ID de las instancias para crear una alarma para cualquiera de ellas.

aws ec2 describe-instances --query "Reservations[].Instances[].InstanceId"

Enumerar temas de SNS e ID de instancia EC2

Conserve el ID de instancia y el ARN de SNS. Verifique las métricas disponibles para las instancias EC2.

aws cloudwatch list-metrics --namespace "AWS/EC2"

Ahora, creemos una alarma denominada ¬ęcpu-mon¬Ľ que se activar√° cuando la utilizaci√≥n de la CPU supere el ¬ę70 por ciento¬Ľ durante ¬ę300 segundos¬Ľ para la instancia especificada. Cuando se activa la alarma, se enviar√° una notificaci√≥n al SNS especificado.

aws cloudwatch put-metric-alarm --alarm-name cpu-mon --alarm-description "Test 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=<instance-id>" --evaluation-periods 2 --alarm-actions <sns-arn> --unit Percent

Verifique la alarma en Cloudwatch Dashboard

Describa la alarma que acabamos de crear y vea sus detalles.

aws cloudwatch describe-alarms --alarm-names cpu-mon

Puede cambiar el estado de la alarma. Para activarlo con fines de prueba, cambiemos el estado a ¬ęALARMA¬Ľ. Esto cambiar√° el estado de alarma a ¬ęALARMA¬Ľ y se enviar√° una notificaci√≥n al tema SNS.

aws cloudwatch set-alarm-state --alarm-name "cpu-mon" --state-value ALARM --state-reason "testing purposes"

Consultar el historial de estados de alarma.

aws cloudwatch describe-alarm-history --alarm-name "cpu-mon" --history-item-type StateUpdate

Establecer estado de alarma

Cuando ya no necesite la alarma que creó, puede eliminarla con el siguiente comando.

aws cloudwatch delete-alarms --alarm-names cpu-mon

Verifique si la alarma ha sido eliminada.

aws cloudwatch describe-alarms

Eliminar la alarma

Conclusión

En este artículo vimos los comandos para crear y administrar alarmas desde la terminal usando aws-cli. Creamos una alarma para la instancia EC2 para monitorear la utilización de la CPU. Vimos cómo cambiar el estado de la alarma manualmente para probar la alarma que creamos. También vimos el comando para eliminar la alarma que creamos. Esta guía puede ayudarlo a comenzar con AWS Cloudwatch, puede probar diferentes comandos y opciones disponibles para administrar Cloudwatch usando aws-cli.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *