Supervise la actividad de las aplicaciones mediante CloudWatch Logs Insights - Recomendaciones de AWS

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Supervise la actividad de las aplicaciones mediante CloudWatch Logs Insights

Creado por Ram Kandaswamy (AWS)

Resumen

Este patrón proporciona una solución para detectar y alertar automáticamente sobre las excepciones de las aplicaciones mediante Amazon CloudWatch Logs Insights. Al implementar alertas y análisis de registros automatizados, puede identificar y responder rápidamente a los problemas de las aplicaciones en su entorno de producción.

Los registros desempeñan un papel crucial a la hora de supervisar el comportamiento del sistema, identificar los problemas y garantizar un rendimiento óptimo. Durante un proceso de migración, los archivos de registro tienen un valor incalculable para validar el funcionamiento del sistema en el nuevo entorno, detectar problemas de compatibilidad e identificar cualquier comportamiento inesperado. Los problemas pueden estar relacionados con las operaciones o la seguridad. En el caso de las cuestiones relacionadas con la seguridad, permitir la detección temprana de intentos de acceso no autorizado o actividades sospechosas es esencial para mantener la seguridad y el cumplimiento de las normas. Esta capacidad es especialmente importante cuando se trata de datos confidenciales o sistemas críticos.

Este patrón es particularmente valioso para los equipos que necesitan mantener una alta disponibilidad de las aplicaciones y responder rápidamente a los problemas de producción. Es relevante en varios sectores y casos de uso. Por ejemplo, en el sector de las telecomunicaciones, permite identificar rápidamente los errores de configuración o las interrupciones de la red y detectar rutas de enrutamiento subóptimas para detectar posibles congestiones. En el dominio de Internet de las cosas (IoT), los componentes de Greengrass pueden publicar registros CloudWatch, lo que permite a esta técnica extraer los detalles de registro relevantes y presentarlos en un panel de control completo.

Requisitos previos y limitaciones

Requisitos previos 

  • Una aplicación de producción implementada en modo activo Cuenta de AWS

  • Comprensión básica del formato de registro y los patrones de excepción de la aplicación de producción

  • Registros de aplicaciones configurados para transmitirse a Amazon CloudWatch Logs

Limitaciones

Arquitectura

El siguiente diagrama muestra cómo CloudWatch Logs Insights evalúa los registros de recursos y envía una visualización de datos relevante a un panel de control. CloudWatch

CloudWatch Logs Insights evalúa los registros de recursos y envía la visualización de datos al panel de control.

En el diagrama, se muestra el siguiente flujo de trabajo:

  1. Los recursos publican registros en CloudWatch Logs. Los recursos pueden incluir AWS recursos como instancias de Amazon Elastic Compute Cloud (Amazon EC2) o depósitos de Amazon Simple Storage Service (Amazon S3). Otro ejemplo incluye sistemas locales con un CloudWatch agente instalado en los que se pueden publicar registros. CloudWatch

  2. CloudWatch Logs Insights filtra la cadena de patrones correspondiente. Algunos ejemplos de cadenas de patrones de búsqueda son «error», «excepción» o una expresión regular específica.

  3. Normalmente, el equipo de soporte de producción o los desarrolladores añaden la visualización de patrones al CloudWatch panel de control.

Automatizar y escalar

Los desarrolladores pueden automatizar la solución de este patrón mediante el uso de AWS Cloud Development Kit (AWS CDK) AWS CloudFormation,, o AWS SDKs gestionar varios patrones de cadenas. Los equipos pueden incorporar esta automatización en sus procesos de integración e implementación continuas (CI/CD). DevOps

Herramientas

Servicios de AWS

Prácticas recomendadas

Epics

TareaDescripciónHabilidades requeridas

Configurar los permisos de IAM.

Para configurar los permisos de IAM, haga lo siguiente:

  1. Identifique las funciones de IAM utilizadas por su aplicación para escribir registros y por los usuarios o servicios que crearán paneles, consultas y alarmas.

  2. Para el rol de la aplicación, añada las siguientes acciones y recursos de la API a una política:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:*:*:*" ] } ] }
  3. Para administrar CloudWatch los recursos, agrega lo siguiente a una política:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudwatch:PutDashboard", "cloudwatch:GetDashboard", "logs:StartQuery", "logs:StopQuery", "logs:GetQueryResults", "cloudwatch:PutMetricAlarm" ], "Resource": "*" } ] }

Para obtener información sobre cómo crear políticas de IAM o añadir permisos a las políticas existentes, consulte Definir permisos de IAM personalizados con políticas administradas por el cliente y Editar políticas de IAM en la Guía del usuario de IAM. Para obtener más información, consulte la referencia sobre gestión de identidad y acceso para Amazon CloudWatch Logs y permisos de CloudWatch Logs en la Guía del usuario de Amazon CloudWatch Logs.

Administrador de AWS DevOps, administrador de sistemas de AWS, administrador de nube, arquitecto de nube, DevOps ingeniero

Cree un grupo de registros.

Para crear un grupo de registros, utilice cualquiera de las siguientes opciones:

  • Cree o abra un archivo CloudFormation de plantilla (formato YAML o JSON) con la .json extensión .yaml o. (El código siguiente usa el formato YAML). Agrega la siguiente definición de recurso a la sección Recursos de tu plantilla:

    MyLogGroup: Type: AWS::Logs::LogGroup Properties: LogGroupName: my-log-group

    Para obtener más información, consulta Quick Start: Use AWS CloudFormation to get start with CloudWatch Logs en la Guía del usuario de Amazon CloudWatch Logs.

Administrador de AWS DevOps, administrador de sistemas de AWS, administrador de nube, arquitecto de nube, DevOps ingeniero

Genere una consulta CloudWatch de Logs Insights.

Para crear y guardar una consulta de CloudWatch Logs Insights:

  1. Abre la CloudWatch consola.

  2. Navegue hasta Logs Insights.

  3. Cree su consulta mediante uno de los siguientes métodos:

    • Comience con un ejemplo de consulta de la sección Consultas.

    • Escribe una consulta personalizada.

    • Modifique la siguiente consulta de ejemplo:

      fields @timestamp, @message | filter @message like /(?i)exception/|stats count() by bin(30s)

      Esta consulta comprueba el archivo de registro, extrae la marca de tiempo y el contenido del mensaje, filtra la palabra «excepción» (no distingue mayúsculas de minúsculas) y cuenta las apariciones en intervalos de 30 segundos.

Administrador de AWS DevOps, administrador de sistemas de AWS, administrador de nube, arquitecto de nube, DevOps ingeniero

Cree una visualización en un CloudWatch panel de control.

Para usar un CloudWatch panel para crear una visualización, haga lo siguiente:

  1. Abra la CloudWatch consola y cree un CloudWatch panel (si aún no tiene uno) o abra un panel existente.

  2. Añada su visualización de monitoreo de excepciones. Hay disponibles gráficos de barras, líneas y circulares, según las necesidades de su empresa. Para obtener más información, consulte Uso de widgets en los CloudWatch paneles en la Guía del usuario de Amazon CloudWatch Logs. Para ver los datos en tiempo real, puede personalizar un widget para que se ajuste a sus necesidades.

Para obtener más información sobre las opciones y capacidades de los paneles, consulte Uso de CloudWatch paneles de Amazon y Creación de CloudWatch paneles flexibles con variables de panel en la Guía del usuario de Amazon CloudWatch Logs.

Administrador de AWS DevOps, administrador de sistemas de AWS, administrador de nube, arquitecto de nube, DevOps ingeniero

Solución de problemas

ProblemaSolución

No se pueden ver los resultados de la consulta o la consulta parece estar rota

Comience con una consulta funcional que se haya modificado a partir de una consulta de ejemplo. Realice pequeños cambios incrementales en partes de la consulta (como un filtro o un campo) y aproveche la función del generador de consultas de CloudWatch registros.

Los grupos de registros no crean flujos de registros

En la política de IAM, asegúrese de que el recurso para las operaciones CreateLogStreamy las CreateLogGroupoperaciones tenga un valor de carácter (*) comodín. La create operación no se realizará correctamente sin este permiso de comodín.

Recursos relacionados