Buscar (Don't Edit)

sábado, 9 de mayo de 2020

AWS Cloud Watch


Es un servicio que permite monitorear nuestros recursos de AWS así como nuestras aplicaciones en tiempo real. La forma en que trabaja esta basada en la definición de métricas, básicamente existen métricas para cualquier servicio de AWS. Si bien podemos revisarlas en cualquier momento la idea es automatizar el monitoreo creando alarmas y enviando notificaciones basadas en las alarmas. 

Hablando un poco más sobre las métricas estas pertenecen a un namespace y tienen un timestamp asociado a ellas. Ademas las métricas cuentan con atributos específicos llamados dimensiones, cada métrica puede tener hasta 10 dimensiones. También podemos crear nuestras propias métricas para monitorear nuestro servicios como lo puede ser información especifica del sistema operativo. Los datos de nuestras métricas son conservados por 2 semanas y en caso de que quisiéramos conservarlos por más tiempo podemos exportarlos a S3.

Las ofertas de monitoreo son basic y detailed. El monitoreo básico envía datos a CloudWatch cada 5 minutos para un limitado número de métricas previamente seleccionadas sin cargo. Esta opción es la que se usa por default. El monitoreo detallado envía datos cada minuto y permite agregar más datos por un costo adicional. Usando esta opción podemos tener mejores tiempos de respuesta frente a algunas eventualidades que puedan presentar nuestros servicios.

Adicionalmente los CloudWatch Dashboards nos permite visualizar de manera simple y práctica nuestras métricas. Estos Dashboards son globales y permiten personalizar valores como husos horarios o periodos de tiempo de visualización. Es la forma más rápida de ver comportamientos de nuestras métricas.

Amazon CloudWatch Logs

Nuestras aplicaciones, instancias u otros servicios pueden enviar logs a CloudWatch usando el SDK, pero los más comunes son los siguientes:
  • Elastic Beanstalk
  • EC2
  • AWS Lambda
  • VPC Flow Logs
  • API Gateway
  • CloudTrail
  • CloudWatch Log agents
  • Route 53

Los logs generalmente son exportados a S3 para archivarlos o enviados a clusters de ElasticSearch para ser analizados.

Existen la posibilidad de definir filtros para nuestros logs usando filter expressions, así como el uso de consultas definidas para exploraciones más concretas usando Insights.

CloudWatch usa log streams para almacenar lo log events de una sola fuente. Y estos son agrupados en log groups.Todo log stream debe estar asociado a un grupo y el periodo de retención de los log groups determina el tipo que se conservaran esos streams. Es posible eliminar log streams, pero no entradas individuales.

Es importante otorgar los permisos pertinentes para el IAM que utilizaremos para el correcto envió de logs a CloudWatch Logs.

Para nuestras instancias es posible instalar un agente que se encargue de enviar los datos directamente a CloudWatch Logs. Usando Amazon Linux es muy simple solo hay que acceder a nuestra instancia usando ssh y con una cuenta con los permisos suficientes instalar awslogs, posteriormente habrá que revisar que la información sobre la región de nuestra instancia es correcta revisando el archivo “/etc/awslogs/awscli.conf”. Una vez instalado y revisado que la configuración es correcta es necesario iniciar el servicio awslogsd.

AWS CloudWatch Alarms

Son usadas para provocar notificaciones en base a nuestras métricas definidas. Generalmente los receptores de estas notificaciones son ASC, EC2 Actions o SNS.

Existen tres tipos de alarmas: OK, INSUFFICIENT_DATA y ALARM.

AWS CloudWatch Events

Crea JSON con información relevante sobre los cambios ocurridos. Hay 2 tipos de Eventos:

  • Scehdule
  • Event pattern







viernes, 8 de mayo de 2020

AWS Cloud Trail

Registra todas las llamadas que se realizan a las API de AWS en tu cuenta ya sea desde la consola, SDK,CLI u otros servicios AWS. Por default esta habilitado.



El registro de las llamadas varia pero según la documentación oficial el periodo de registro oscila los 15 minutos después de realizarse la llamada. En verdad que es útil ver el el historial de llamadas y la información que registran los eventos es muy amplia. Este es el servicio que nos permite de la manera más sencilla saber cuando se modifico una función lambda o cuando se elimino algún recurso.

Los logs que genera CloudTrail puede ser puestos en CloudWatch Logs y por default se cifran usando Amason S3 SSE. Es importante decir que CloudTrail no transmite eventos superiores a 256 KB de tamaño.

Un trail es una configuración que nos permite enviar logs de actividad de las llamadas a las API de AWS. Existe 2 tipos de trail para todas las regiones (default) o para una sola región. La recomendación es tenerlos siempre habilitados y asociados a todas las regiones. Aunque la configuración default registra eventos para todas las regiones, solo se pueden ver los eventos para la región particular en la que estamos en ese momento.