CloudWatch: Monitoreo y análisis de recursos

CloudWatch: Monitoreo y análisis de recursos

¿Qué es Amazon CloudWatch?

Es un servicio que se puede utilizar para monitorear los recursos de AWS y aplicaciones en tiempo real. Es posible recolectar y monitorear métricas, crear alarmas y enviar notificaciones, y hace sencillo que los recursos sean monitoreados en base a las reglas que se definan.

¿Cómo puedo usar CloudWatch para mantener mis instancias de EC2?

Es posible por ejemplo monitorear el uso de CPU para agregar o remover instancias de EC2 en el nivel de la aplicación, o si es necesario se puede enviar mediante PUT una petición para agregar la métrica a CloudWatch.

¿Cómo puedo monitorear los servicios de Amazon AWS con CloudWatch?

Es posible agregar parámetros de una métrica sobre un periodo de tiempo para definir alarmas y tomar acciones automáticas cuando el umbral es alcanzado. CloudWatch soporta múltiples tipos de acciones para enviar una notificación a Amazon Simple Notification Service (SNS) o ejecutar una autoscaling policy.

CloudWatch ofrece monitoreo basic (básico) o detailed (detallado) para los productos que lo soportan. La opción básica genera reportes cada 5 minutos con un numero de métricas preseleccionadas y sin costo. La opción detallada envía data points a Amazon CloudWatch cada minuto y permite la segregación de datos, con un costo adicional.

¿Qué servicios de Amazon AWS pueden ser monitoreados mediante CloudWatch?

CloudWatch soporta monitoreo y métricas específicas para la mayoría de los servicios, entre los que se encuentran: Auto Scaling, CloudFront, CloudSearch, DynamoDB, EC2, ECS, ElastiCache, Elastic Block Store (EBS), Elastic Load Balancing, Elastic Map Reduce (EMR), Elasticsearch Service, Kinesis Streams, Kinesis Firehorse, AWS Lambda, Amazon Machine Learning, OpWorks, RedShift, RDS, Route53, SNS, SQS, S3, SWF, Amazon Storage Gateway, WAF, Amazon WorkSpaces.

¿Cómo leer los logs de CloudWatch?

La métricas de ClowdWatch pueden ser leídas mediante peticiones GET. Cuando se usa el monitoreo detallado, también es posible unir métricas a través de un periodo de tiempo. CloudWatch no agrupa métricas a través de diferentes regiones, pero puede puede hacerlo a través de diferentes AZ dentro de una región.

AWS provee un grupo significativo de métricas con cada servicio, pero también se pueden definir métricas a monitorear en recursos y eventos de AWS que no tengan dicha visibilidad, como el uso de la memoria y del disco que son visibles para el sistema operativo. CloudWatch soporta API que permite a los programas y scripts enviar métricas mediante PUT como un conjunto de nombre/valor que pueden ser usadas después para crear eventos y disparar alarmas en la misma forma que las métricas nativas.

¿En donde se almacenan los logs de CloudWatch?

Los logs de CloudWatch pueden ser usados para monitorear, almacenar y accesar los archivos de logs de diferentes instancias, CloudTrail y otros recursos. También es posible almacenar estos logs en Amazon S3 o Glacier. Los logs pueden ser mantenidos indefinidamente o de acuerdo a una política de envejecimiento que borre logs conforme ya no se necesiten.

¿Qué tipo de instancias EC2 soportan CloudWatch?

Un Agente de logs de CloudWatch esta disponible para proveer una forma automatizada de enviar datos logs a CloudWatch para las instancias de EC2 que usen Linux o Ubuntu. Se puede usar el instalador del agente de logs de CloudWatch en una instancia de EC2 para instalar y configurar CloudWatch Logs agent. Después de la instalación, el agente confirmara que ha iniciado y se mantendrá operando hasta que lo deshabilite.

¿Cuál es modelo de pricing y los límites de CloudWatch?

CloudWatch tiene algunos limites que debe tener en cuenta cuando utilice los servicios. Cada cuenta de AWS es limitada a 4000 alarmas por cuenta de AWS, y los datos de las métricas son retenidos por 2 semanas por default. Si se desea mantener los datos por mas tiempo, hay que mover los logs a un almacenamiento persistente como S3 o Glacier.