#100DíasdeAWS | Día 6 | CloudWatch

#100DíasdeAWS | Día 6 | CloudWatch

Hola de nuevo y bienvenido a la serie de publicaciones de blog sobre #100DaysofAWS en las que hablamos sobre los servicios más interesantes y emocionantes que AWS tiene para ofrecer.

¡CloudWatch está en la agenda de hoy!

CloudWatch es el principal servicio de observabilidad y monitoreo en tiempo real de AWS, y está diseñado para facilitar mucho la vida de DevOps, SysOps y administradores de TI al comprender exactamente lo que sucede en su infraestructura de AWS.

¿Entonces, cómo funciona?

CloudWatch se integra con toda la flota de servicios de AWS para brindarle datos procesables y confiables a fin de obtener una vista de todo el sistema de los cambios de rendimiento, la utilización de recursos y el estado operativo de su aplicación.

La forma más eficiente de entender cómo funciona CloudWatch es considerarlo como una colección de múltiples servicios:

  1. Registros de CloudWatch

  2. Métricas de CloudWatch

  3. Amazon EventBridge (anteriormente CloudWatch Events)

  4. Alarmas de CloudWatch

  5. Tableros de CloudWatch

Analicemos estos servicios y echemos un vistazo primero a CloudWatch Logs.

Los registros de CloudWatch son la parte fundamental de CloudWatch en la que se basan todos los demás servicios. En pocas palabras, CloudWatch Logs se usa para monitorear, almacenar y acceder a los archivos de registro de su aplicación.

Es importante saber que los registros deben pertenecer a un grupo de registros, que es un grupo de archivos de registro. Un inicio de sesión en un grupo se denomina flujo de registro y, curiosamente, todos los archivos de registro de forma predeterminada nunca caducan. De esta manera, nunca tendrá que preocuparse por perder los registros o perder el acceso a ellos, y puede asegurarse de que está siendo extremadamente diligente en la supervisión de su servicio.

Si bien los registros de CloudWatch se integran automáticamente con la mayoría de los servicios de AWS, es útil saber que hay algunos casos en los que debe utilizar permisos de IAM para integrar los registros con el servicio.

Con CloudWatch Logs, puede utilizar una potente función conocida como CloudWatch Logs Insights para obtener una comprensión más profunda de sus operaciones. Los conocimientos se pueden utilizar para buscar a través de sus datos de registros de forma interactiva y comprender cómo se utilizan sus servicios. Insights en realidad tiene su propio lenguaje de consulta en el que puede ejecutar comandos para que pueda responder de manera más eficiente y efectiva a cualquier problema operativo en tiempo real.

¡No te preocupes!

No tiene que aprender a escribir estas consultas usted mismo, ya que AWS lo ayuda con el autocompletado de consultas y le brinda acceso a una gran cantidad de consultas de muestra para que pueda comenzar a ejecutarlas de inmediato en sus registros.

El siguiente aspecto de CloudWatch en el que nos sumergiremos es CloudWatch Metrics.

CloudWatch Metrics se basa en CloudWatch Logs y es un conjunto de puntos de datos ordenados por tiempo. Dentro de los registros existen los datos que luego se extraen de CloudWatch Metrics y luego se representan en un gráfico para su uso. Por defecto, la mayoría de los servicios incluyen métricas totalmente gratuitas.

También puede crear sus propias métricas personalizadas mediante CLI/SDK en las que puede configurar cualquier tipo de datos que desee y publicarlos en CloudWatch Metrics. Si desea que sus datos dibujen una imagen en una resolución extremadamente alta (seguimiento de métricas de menos de 1 minuto), entonces las Métricas personalizadas pueden ayudarlo a obtener informes de métricas tan bajos como cada segundo. Esto puede ser muy valioso si tiene un flujo de trabajo extremadamente rápido que necesita observar muy de cerca.

Si está interesado, aquí hay una lista de todos los servicios que publican datos en CloudWatch Metrics.

La siguiente etapa en nuestra comprensión de CloudWatch es familiarizarnos con Amazon EventBridge.

Amazon EventBridge es un bus de eventos sin servidor que contiene datos de eventos y le permite definir reglas para reaccionar ante eventos que, a su vez, son consumidos por los objetivos.

Analicemos esto un poco más

EventBridge puede conectar aplicaciones juntas usando estos eventos. En este caso, un evento es un notificador de que el estado de un sistema ha cambiado, emitido por un productor. En realidad, hay tres tipos de autobuses de eventos que debe conocer:

  1. Bus de eventos predeterminado: Cada cuenta de AWS tiene un bus de eventos predeterminado configurado automáticamente.

  2. Bus de eventos personalizado: Este bus de eventos está diseñado para albergar eventos de varias cuentas de AWS, utilizando organizaciones.

  3. SaaS Event Bus: está diseñado para integrarse con proveedores de SaaS de terceros.

Cuando hablamos de un productor, normalmente nos referimos a algún tipo de servicio de AWS que emite eventos, y cuando hablamos de eventos, nos referimos a objetos JSON que se mueven a través de un bus uniforme, viajando en lo que se denomina flujo.

Las fuentes de socios se refieren a aplicaciones de terceros que también pueden emitir eventos a un bus de eventos, utilizado en el bus de eventos SaaS, por ejemplo, Autenticación0, DataDog, etc.

Las reglas que mencionamos anteriormente también se refieren a la directiva definida sobre qué eventos en particular capturar y pasar a los objetivos. Puede tener un máximo de 100 reglas por bus para ayudar a administrar sus datos de la manera más perspicaz posible.

Los objetivos son servicios AWS que, a su vez, consumen eventos, y vale la pena saber que puede tener un máximo de 5 por regla.

El siguiente diagrama desglosa este proceso de manera muy simple:

Diagrama de un productor de eventos que envía un evento al bus de eventos de EventBridge y, luego, la regla lo dirige para que lo consuman los servicios de AWS de destino (Lambda, Kinesis Data Firehose y SNS).

A continuación, hablemos de las alarmas de CloudWatch.

Las alarmas de CloudWatch están diseñadas para alertar al usuario cuando se supera algún tipo de umbral. Se activa una notificación en función de algunas métricas específicas que defina dentro de su caso de uso.

Hay tres estados en los que puede estar una alarma y eso es;

OK

Alarma OK significa que no se ha alcanzado el umbral.

ALARM

Alarma significa que se ha alcanzado el umbral.

INSUFFICIENT_DATA

Si faltan los datos necesarios para tomar la decisión o están incompletos, el monitor pasa a este estado.

El primer ejemplo de alarmas de CloudWatch con el que puede toparse cuando se atasca en su cuenta de AWS es a través de las alarmas de facturación. Estas alarmas altamente configurables pueden ayudarlo a mitigar desastres, ahorrar dinero y optimizar su aplicación en AWS para que funcione de la mejor manera posible.

Puede utilizar las alarmas de dos maneras principales para recibir notificaciones de eventos importantes dentro de su cuenta:

  1. Alarmas de umbral estático: Con las alarmas de umbral estático, la alarma pasa al estado de ALARMA cuando la métrica supera el umbral que ha definido. Un ejemplo de esto puede ser si un volumen de EBS recibe demasiadas IOPS o si una base de datos de RDS recibe demasiadas lecturas y escrituras.

  2. Alarmas de detección de anomalías: La detección de anomalías es interesante ya que aprende la forma más típica en que se ejecuta su servicio al revisar los datos históricos. Cuando detecta algo fuera de lo común, la alarma pasa al estado de ALARM

Otra forma interesante de usar CloudWatch Alarms es a través de Composite Alarms. Estas alarmas están diseñadas para observar el estado de alarma de otras alarmas y solo activan un estado de ALARM si se cumplen una serie de condiciones. Por ejemplo, una alarma para activar un grupo de Auto Scaling solo puede activarse si una alarma para un cierto número de IOPS en un volumen de EBS pasa al estado de ALARMA al mismo tiempo que las lecturas y las escrituras son demasiado altas en una base de datos. Este control detallado de alarmas le brinda un fantástico alto grado de control sobre cómo se aprovisiona su servicio.

Por último hablaremos de CloudWatch DashBoards.

Los paneles de CloudWatch le permiten elegir entre paneles predeterminados o elegir sus propios paneles de CloudWatch personalizados basados ​​en las métricas de CloudWatch. A continuación se muestra un vistazo visual de cómo se ve un Tablero:

Visual de CloudWatch DashBoards con múltiples widgets

Este servicio también le permite ver exactamente lo que sucede con las métricas clave en su cuenta, y puede usar tablas, gráficos y números y porcentajes para visualizar sus métricas de una manera fácil de digerir. Puede limitar el acceso a los usuarios de la cuenta de AWS o compartir con terceros que puedan tener interés en los datos.

Eso nos lleva al final de nuestra charla sobre CloudWatch. ¡Avísanos si tienes alguna pregunta y, como siempre, sigue construyendo!

Post Original Jack Lavelle