REL06-BP02 Definición y cálculo de métricas (agregación)
Recopile métricas y registros de los componentes de su carga de trabajo y calcule las métricas agregadas relevantes a partir de ellos. Estas métricas proporcionan una observabilidad amplia y profunda de su carga de trabajo y pueden mejorar significativamente su posición de resiliencia.
La observabilidad es algo más que recopilar métricas de los componentes de la carga de trabajo a fin de poder verlas y alertar sobre ellas. Se trata de obtener una visión de conjunto de cómo se comporta la carga de trabajo. Esta información de comportamiento proviene de todos los componentes de sus cargas de trabajo, que incluyen los servicios en la nube de los que dependen, los registros bien elaborados y las métricas. Estos datos le permiten supervisar el comportamiento de la carga de trabajo en su conjunto, así como comprender la interacción de cada componente con cada unidad de trabajo con un nivel de detalle preciso.
Resultado deseado:
-
Recopila registros de los componentes de su carga de trabajo y las dependencias de los servicios de AWS y los publica en una ubicación central donde se puede acceder a ellos y procesarlos fácilmente.
-
Sus registros contienen marcas de tiempo precisas y de alta fidelidad.
-
Sus registros contienen información relevante sobre el contexto de procesamiento, como un identificador de rastreo, un identificador de usuario o de cuenta y una dirección IP remota.
-
Crea métricas agregadas a partir de sus registros, que representan el comportamiento de su carga de trabajo desde una perspectiva de alto nivel.
-
Puede consultar sus registros agregados para obtener información detallada y relevante sobre su carga de trabajo e identificar problemas reales y potenciales.
Patrones comunes de uso no recomendados:
-
No recopila registros ni métricas relevantes de las instancias de computación en las que se ejecutan sus cargas de trabajo ni de los servicios en la nube que utilizan.
-
Pasa por alto la recopilación de registros y métricas relacionados con los indicadores clave de rendimiento (KPI) de su empresa.
-
Analiza la telemetría relacionada con la carga de trabajo de forma aislada, sin agregación ni correlación.
-
Permite que las métricas y los registros caduquen demasiado rápido, lo que dificulta el análisis de tendencias y la identificación de problemas recurrentes.
Ventajas de establecer estas prácticas recomendadas: puede detectar más anomalías y correlacionar eventos y métricas entre los distintos componentes de su carga de trabajo. Puede crear información estratégica a partir de los componentes de su carga de trabajo en función de la información contenida en los registros que, por lo general, no está disponible únicamente en las métricas. Puede determinar las causas de los errores con mayor rapidez consultando sus registros a escala.
Nivel de exposición al riesgo si no se establecen estas prácticas recomendadas: alto
Guía para la implementación
Identifique las fuentes de datos de telemetría que son relevantes para sus cargas de trabajo y sus componentes. Estos datos provienen no solo de los componentes que publican métricas, como el sistema operativo (SO), y los tiempos de ejecución de las aplicaciones, como Java, sino también de los registros de aplicaciones y servicios en la nube. Por ejemplo, los servidores web suelen registrar cada solicitud con información detallada, como la marca de tiempo, la latencia del procesamiento, el ID de usuario, la dirección IP remota, la ruta y la cadena de consulta. El nivel de detalle de estos registros lo ayuda a realizar consultas detalladas y a generar métricas que de otro modo no estarían disponibles.
Recopile las métricas y los registros mediante las herramientas y los procesos adecuados. Un agente, como el Agente de Amazon CloudWatch, puede recopilar los registros generados por las aplicaciones que se ejecutan en una instancia de Amazon EC2 y publicarlos en un servicio de almacenamiento central, como Registros de Amazon CloudWatch. Los servicios de cómputo gestionados por AWS, como AWS Lambda
Mejore sus datos de telemetría con dimensiones que lo ayuden a ver los patrones de comportamiento con mayor claridad y a aislar los problemas correlacionados en grupos de componentes relacionados. Una vez agregados, puede observar el comportamiento de los componentes con un nivel de detalle más preciso, detectar los fallos correlacionados y tomar las medidas correctivas adecuadas. Algunos ejemplos de dimensiones útiles son la zona de disponibilidad, el ID de instancia de EC2 y la tarea de contenedor o ID de pod.
Una vez recopiladas las métricas y los registros, puede escribir consultas y generar métricas agregadas a partir de ellas que proporcionen información útil sobre el comportamiento normal y anómalo. Por ejemplo, puede utilizar Información de registros de Amazon CloudWatch para obtener métricas personalizadas de los registros de las aplicaciones, Información de métricas de Amazon CloudWatch para consultar las métricas a escala, Información de contenedores de Amazon CloudWatch para recopilar, agregar y resumir las métricas y los registros de sus aplicaciones y microservicios en contenedores, o Lambda Insights de Amazon CloudWatch si utiliza funciones de AWS Lambda. Para crear una métrica de tasa de error agregada, puede sumar un contador cada vez que encuentre una respuesta o mensaje de error en los registros de sus componentes, o bien calcular el valor agregado de una métrica de tasa de error existente. Puede utilizar estos datos para generar histogramas que muestren el comportamiento final, como las solicitudes o los procesos con peor rendimiento. También puede escanear estos datos en tiempo real para detectar patrones anómalos mediante soluciones como la detección de anomalías de CloudWatch Logs. Esta información estratégica se puede colocar en los paneles de control para mantenerlos organizados de acuerdo con sus necesidades y preferencias.
La consulta de los registros puede ayudarlo a comprender cómo gestionaron las solicitudes específicas los componentes de la carga de trabajo y a revelar los patrones de las solicitudes u otro contexto que repercuta en la resiliencia de la carga de trabajo. Puede resultar útil investigar y preparar las consultas con antelación, en función de sus conocimientos sobre el comportamiento de sus aplicaciones y otros componentes, de forma que pueda ejecutarlas más fácilmente según sea necesario. Por ejemplo, con Información de registros de CloudWatch, puede buscar y analizar de forma interactiva los datos de registro almacenados en Registros de Amazon CloudWatch. También puede usar Amazon Athena
Al definir una política de retención de registros, tenga en cuenta el valor de los registros históricos. Los registros históricos pueden ayudar a identificar los patrones de uso y comportamiento a largo plazo, las regresiones y las mejoras en el rendimiento de la carga de trabajo. Los registros eliminados permanentemente no se pueden analizar más adelante. Sin embargo, el valor de los registros históricos tiende a disminuir durante largos periodos de tiempo. Elija una política que equilibre sus necesidades según corresponda y que cumpla con todos los requisitos legales o contractuales a los que pueda estar sujeto.
Pasos para la implementación
-
Elija mecanismos de recopilación, almacenamiento, análisis y visualización para sus datos de observabilidad.
-
Instale y configure los recopiladores de métricas y registros en los componentes correspondientes de su carga de trabajo (por ejemplo, en las instancias de Amazon EC2 y en los contenedores sidecar
). Configure estos recopiladores para que se reinicien automáticamente si se detienen inesperadamente. Habilite el almacenamiento en búfer de disco o memoria para los recopiladores para que los errores de publicación temporales no afecten a sus aplicaciones ni provoquen la pérdida de datos. -
Habilite el inicio de sesión en los servicios de AWS que utiliza como parte de sus cargas de trabajo y, si es necesario, reenvíe esos registros al servicio de almacenamiento que haya seleccionado. Consulte las guías de usuario o desarrollador de los servicios correspondientes para obtener instrucciones detalladas.
-
Defina las métricas operativas relevantes para sus cargas de trabajo en función de sus datos de telemetría. Podrían basarse en métricas directas emitidas por los componentes de la carga de trabajo, que pueden incluir métricas relacionadas con los KPI empresariales, o en los resultados de cálculos agregados, como sumas, tasas, percentiles o histogramas. Calcule estas métricas con su analizador de registros y colóquelas en los paneles según corresponda.
-
Prepare las consultas de registro adecuadas para analizar los componentes de la carga de trabajo, las solicitudes o el comportamiento de las transacciones, según sea necesario.
-
Defina y habilite una política de retención de registros para los registros de sus componentes. Elimine periódicamente los registros cuando sean más antiguos de lo que permite la política.
Recursos
Prácticas recomendadas relacionadas:
-
REL06-BP01 Supervisión de todos los componentes de la carga de trabajo (generación)
-
REL06-BP03 Envío de notificaciones (procesamiento y alarmas en tiempo real)
-
REL06-BP04 Automatización de las respuestas (procesamiento y alarmas en tiempo real)
-
REL06-BP07 Supervisión del seguimiento de las solicitudes de principio a fin en todo el sistema
Documentación relacionada:
Talleres relacionados:
Herramientas relacionadas: