Open milo19980525 opened 11 months ago
Canaries:
Las "Canaries" en AWS X-Ray son una forma de realizar pruebas de integración y detección temprana de problemas en tus aplicaciones y servicios. En el contexto de X-Ray, una "Canary" es una pequeña carga de trabajo o traza simulada que se envía a través de tu sistema para verificar la salud, el rendimiento y la detección de problemas. Estas pruebas pueden ayudarte a garantizar que tu sistema esté funcionando correctamente y a identificar cualquier problema antes de que afecte a los usuarios reales.
Actualizar Mapa de Servicios de AWS X-Ray de forma automatizada:
Se realiza optimización de la implementación de AWS X-Ray en las APIs para mostrar el código de respuesta final en el segmento principal de la traza:
Se implementan diferentes funciones que permiten inicializar los segmentos de cada traza con la inicialización de XRAY, y finalizarlos dependiendo de si hay una respuesta correcta de la petición o si ha ocurrido algún error. Además, se actualiza el estado del segmento desde el archivo "utilidades" de cada API:
Con estos ajustes, se realiza un seguimiento mas detallado del estado en el cual se finalizan las peticiones entrantes a cada API.
Actualización:
Se realiza la instrumentación de código en APIs, para actualización automática del estado de las solicitudes entrantes y salientes.
En el archivo "utils_oas/xray/xray.go" se implementan las siguientes funciones de control y actualización del estado de los segmentos que se envían a AWS-XRay:
De esta forma se controla el cambio de estado en cada situación que se presente.
En Las APIs MID, fue necesario ajustar el archivo "utilidades" de la siguiente forma:
Después de realizar la solicitud de información a otras APIs, se actualiza el estado del segmento dependiendo de la respuesta obtenida, que puede ser un error o una consulta satisfactoria.
También se modifica la función "ErrorController", presente en todos los controladores:
En este caso, se actualiza el estado del segmento, según el estado de la solicitud y se realiza el cierre del segmento con error.
Observaciones:
La implementación de Alarmas se señala en: https://github.com/udistrital/autenticacion_mid/issues/76
Para la implementación de Canaries se debe tener en cuenta lo siguiente:
Al crear un canary, se crean los siguientes recursos para el mismo:
Un rol de IAM con el nombre CloudWatchSyntheticsRole-canary-name-uuid (si usa la CloudWatch consola para crear el canario y especifica que se cree un nuevo rol para el canario)
Una política de IAM con el nombre CloudWatchSyntheticsPolicy-canary-name-uuid.
Un bucket de S3 con el nombre cw-syn-results-accountID-region.
Alarmas con el nombre Synthetics-Alarm-MyCanaryName, si desea que se creen alarmas para el canary.
Por tal razón se debe tener permisos para su creación. Los canarios ejecutan una serie de acciones sobre determinados enlaces, pueden servir para:
Estos proyecto se encuentran predeterminados y pueden ser seleccionados, sin embargo, se pueden codificar otro tipo de canarios para tareas especificas, mediante scripts.
Se requiere revisar la documentación acerca de servicios o funcionalidades ofrecidas por X-Ray.
Especificaciones técnicas
Sub Tareas
Criterios de aceptación
Requerimientos
Dependencias
Definition of Ready - DoR
Definition of Done - DoD - Desarrollo