/
Amazon CloudWatch - Monitoreo de registros

Amazon CloudWatch - Monitoreo de registros

Introducción

 

CloudWatch es una herramienta nativa de AWS para monitorear métricas de performance, análisis de estado y detección de errores.

Todos los servicios que corren en AWS escriben en logs sus conexiones, tiempos de respuesta y excepciones. Estos registros de interpretan y convierten en paneles de control y alarmas.

Descripción

 

El monitoreo consta de dos partes: un set de paneles de control con métricas e información relevante en tiempo real y un set de alarmas para algunas de estas métricas. Si bien los umbrales se configuran en base a los estándares de monitoreo de Spin y las pruebas en entorno de QA, el mantenimiento queda a cargo del equipo de soporte y debe ser ajustado de manera de generar eventos solo cuando sea requerido. Un monitoreo pasivo puede significar un riesgo, pero un monitoreo agresivo termina por generar acostumbramiento a las alarmas.

A continuación, se detallan los registros de servicios:

·      /giftcard-service

·      /mobile-giftcard-service

·      /incomm-gateway-service

Objetivo

 

El propósito de la implementación de los monitores que se detallan en este documento es el de dotar al equipo de soporte con las herramientas necesarias para garantizar la disponibilidad del servicio y, en caso de ser necesario, agilizar la solución de problemas.

 

Paneles de control

 

Tiempo de respuesta

Lista de transacciones

Códigos de retorno

Tasa de transacciones por hora

Volúmen de transacciones por marca

fields @timestamp, @message | filter log like 'provider' and log like 'name' | parse log '"provider":{*}' as purchase | parse purchase '"name":*,' as brand | filter ispresent(brand) | display brand, purchase | stats count(purchase) by brand fields @timestamp, @message | filter log like 'provider' and log like 'name' | parse log '"provider":{*}' as purchase | parse purchase '"name":*,' as brand | filter ispresent(brand) | display brand, purchase | stats count(purchase) by brand

Detalle de transacciones

fields @timestamp, @message | filter log like 'status' and log like 'SpinRetrofitHttpLoggingInterceptor' | parse log '*{*,*,*,*{*},*{*},*,*,*}' as a,b,user,d,e,product,h,provider,stat,tID,created | parse user '"userId":"*"' as userId | parse product '"name":"*",' as productName | parse provider '"name":"*",' as providerName | parse product '"amount":*,' as amount | parse stat '"status":"*"' as status | parse tID '"traceId":"*"' as traceId | parse created '"createdAt":"*"' as createdAt | filter ispresent(status) | display createdAt,userId,providerName,productName,amount,status,traceId

 

Errores mobile-giftcard-service

Transacciones incompletas

fields @timestamp, @message | filter log like 'status' and log like 'SpinRetrofitHttpLoggingInterceptor' | parse log '*{*,*,*,"args":[{*}],*}' as header,msg,code,description,args,stat | parse msg '"message":"*"' as summary | parse code '"code":"*"' as error | parse stat '"status":"*"' as status | parse args '"arg":"*"' as argument | parse args '"value":"*"' as value | filter ispresent(summary) | display @timestamp,error,summary,argument,value,status

Transmisiones en la última hora 

Conexiones a MongoDB

Alarmas

 

Las alarmas requeridas quedan cubiertas por las ya implementadas por Spin para el monitoreo de los componentes de infraestructura (jobs, streamers, queues,etc).

Se implementaron dos alarmas complementarias que cubren puntos débiles: una para medir el tiempo de respuesta de Incomm y una para medir el flujo de consultas total.

Tiempo de respuesta

Nombre:

incomm-response-time

Tipo Alarma:

métrica

Límite:

value > 1 para 1 puntos de datos dentro de 15 minutos

Espacio de nombres:

incomm-response-time

Nombre de la métrica:

value

Estadística:

Suma

Período:

15 minutos

Puntos de datos para la alarma:

1 de 1

Tratamiento de datos faltantes:

Tratar los datos que faltan como faltantes

Percentiles con pocas muestras:

evaluate

ARN:

arn:aws:cloudwatch:us-east-1:549923646310:alarm:incomm-response-time

 

Flujo Entrante

Nombre:

incomingBytes-mobile-giftcard-service

Tipo:

Alarma métrica

Límite:

IncomingBytes <= 0 para 1 puntos de datos dentro de 30 minutos

Espacio de nombres:

AWS/Logs

Nombre de la métrica:

IncomingBytes

LogGroupName:

/aws/eks/qa-eks-master-cluster/mobile-giftcard-service

Estadística:

Suma

Período:

1800

Puntos de datos para la alarma:

1 de 1

Tratamiento de datos faltantes:

Tratar los datos que faltan como faltantes

Percentiles con pocas muestras:

evaluate

ARN:

arn:aws:cloudwatch:us-east-1:549923646310:alarm:incomingBytes-mobile-giftcard-service

 

Nombre:

incomingBytes-giftcard-service

Tipo:

Alarma métrica

Límite:

IncomingBytes <= 0 para 1 puntos de datos dentro de 30 minutos

Espacio de nombres:

AWS/Logs

Nombre de la métrica:

IncomingBytes

LogGroupName:

/aws/eks/qa-eks-master-cluster/giftcard-service

Estadística:

Suma

Período:

1800

Puntos de datos para la alarma:

1 de 1

Tratamiento de datos faltantes:

Tratar los datos que faltan como faltantes

Percentiles con pocas muestras:

evaluate

ARN:

arn:aws:cloudwatch:us-east-1:549923646310:alarm:incomingBytes-giftcard-service

Related content