Uso de Amazon CloudWatch Logs con AWS OpsWorks Stacks - AWS: OpsWorks

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.

Uso de Amazon CloudWatch Logs con AWS OpsWorks Stacks

Para simplificar el proceso de monitorización de registros en varias instancias, AWS OpsWorks Stacks es compatible con Amazon CloudWatch Logs. CloudWatch Logs se activa en el nivel de capa en AWS OpsWorks Stacks. La integración de CloudWatch Logs funciona con pilas de Chef 11.10 y Chef 12 basadas en Linux. Si habilita CloudWatch Logs, podría incurrir en cargos adicionales, por lo que le recomendamos revisar los precios de Amazon CloudWatch antes de empezar.

CloudWatch Logs monitorea los registros seleccionados en busca de un patrón especificado por el usuario. Por ejemplo, puede monitorear los registros en busca de un término literal, por ejemplo, NullReferenceException, o contar el número de veces que este aparece. Una vez que haya habilitado CloudWatch Logs en AWS OpsWorks Stacks, el agente de AWS OpsWorks Stacks envía los registros a CloudWatch Logs. Si necesita más información sobre CloudWatch Logs, consulte Getting Started with CloudWatch Logs (Introducción a ACD).

Requisitos previos

Antes de habilitar CloudWatch Logs, compruebe que las instancias se ejecutan en la versión 3444 o posterior del agente de AWS OpsWorks Stacks en pilas de Chef 11.10 y 4023 o posterior en pilas de Chef 12. También debe utilizar un perfil de instancia compatible en cualquier instancia que esté monitoreando con CloudWatch Logs. Cuando abre la pestaña CloudWatch Logs en la página Layer (Capa), AWS OpsWorks Stacks le pregunta si desea actualizar la versión del agente y el perfil de instancia.

Si utiliza un perfil de instancia personalizado (uno que AWS OpsWorks Stacks no proporcionó cuando se creó la pila), AWS OpsWorks Stacks no puede actualizar el perfil de instancia automáticamente. Debe utilizar IAM para adjuntar manualmente la política AWSOpsWorksCloudWatchLogs al perfil. Para obtener más información, consulte Adjuntar políticas administradas en la Guía del usuario de IAM.

La siguiente captura de pantalla muestra la solicitud de actualización.


                Pestaña CloudWatch Logs de la página Layer

La actualización del agente en todas las instancias de una capa puede tardar un tiempo. Si intenta habilitar CloudWatch Logs en una capa antes de que se haya completado la actualización del agente, verá un mensaje similar al siguiente.


                Pestaña CloudWatch Logs de la página Layer

Habilitación de CloudWatch Logs

  1. Una vez que el proceso de actualización de cualquier agente y perfil de instancia se haya completado, podrá habilitar CloudWatch Logs. Para ello, establezca el control deslizante en la pestaña CloudWatch Logs en On (Activado).

    
                        Control deslizante de CloudWatch Logs
  2. Para transmitir los registros de comandos, establezca el control deslizante Stream command registros (Transmitir registros de comandos) en On (Activado). Esto envía los registros de las actividades y comandos de Chef iniciados por el usuario en las instancias de la capa a CloudWatch Logs.

    Los datos incluidos en estos registros son muy parecidos a los resultados de una operación DescribeCommands, al abrir el destino de la URL del registro. Incluye datos sobre setup, configure, deploy, undeploy, start, stop y comandos de ejecución de recetas.

  3. Para transmitir los registros de actividades almacenados en una ubicación personalizada de las instancias de la capa, por ejemplo, /var/log/apache/myapp/mylog*, introduzca la ubicación personalizada en el cuadro de cadena Stream custom registros (Transmitir registros personalizados) y, a continuación, elija Add (Añadir) (+).

  4. Seleccione Save. En unos minutos, las secuencias de registro de AWS OpsWorks Stacks deberían aparecer en la consola de CloudWatch Logs.

    
                        CloudWatch Logs está habilitado

Desactivación de CloudWatch Logs

Para desactivar CloudWatch Logs, edite la configuración de la capa.

  1. En la página de propiedades de la capa, elija Edit (Editar).

    
                        Botón de edición de la página de propiedades de la capa
  2. En la página de edición, elija la pestaña CloudWatch Logs (Registros de CloudWatch).

  3. En el área CloudWatch Logs (Registros de CloudWatch), desactive Stream command registros (Transmitir registros de comandos). Elija X en los registros personalizados para eliminarlos de las secuencias de registro si fuera necesario.

  4. Seleccione Save.

Eliminación de registros transmitidos desde CloudWatch Logs

Aunque haya desactivado el streaming de CloudWatch Logs desde AWS OpsWorks Stacks, los registros existentes siguen estando disponibles en la consola de administración de CloudWatch Logs. Se le seguirá cobrando por los registros almacenados, a menos que los exporte a Amazon S3 o los elimine. Para obtener más información sobre la exportación de registros a S3, consulte Exportación de datos de registro a Amazon S3.

Puede eliminar las secuencias de registros y los grupos de registros en la consola de administración de CloudWatch Logs o ejecutando los comandos de la AWS CLI delete-log-stream y delete-log-group. Para obtener más información sobre cómo cambiar los períodos de retención de los registros, consulte Cambiar la retención de datos de registro en CloudWatch Logs.

Gestión de registros en CloudWatch Logs

Los registros que está transmitiendo se administran en la consola de CloudWatch Logs.


                Consola de CloudWatch Logs

De forma automática, AWS OpsWorks crea grupos y secuencias de registro predeterminados. Los grupos de registros de AWS OpsWorks Stacks tienen nombres que coinciden con el siguiente patrón:

stack_name/layer_name/chef_log_name

Los registros personalizados tienen nombres que coinciden con el siguiente patrón:

/stack_name/layer_short_name/file_path_name. El nombre de la ruta se lee mejor si se eliminan los caracteres especiales, como los asteriscos (*).

Cuando haya encontrado los registros en CloudWatch Logs, puede organizar los registros en grupos, buscar y filtrar los registros mediante la creación de filtros de métricas y crear alarmas personalizadas.

Configuración de capas de Windows en Chef 12.2 para utilizar registros de CloudWatch

La integración automática de CloudWatch Logs no es compatible con instancias basadas en Windows. La pestaña CloudWatch Logs (Registros de CloudWatch) no está disponible en las capas de las pilas en Chef 12.2. Para habilitar manualmente el streaming a CloudWatch Logs de instancias basadas en Windows, haga lo siguiente.

  • Actualice el perfil de instancia en el caso de las instancias basadas en Windows para que el agente de CloudWatch Logs tenga los permisos adecuados. La declaración de la política AWSOpsWorksCloudWatchLogs muestra qué permisos se necesitan.

    Normalmente, solo tendrá que hacer esto una vez. A continuación, puede usar el perfil de instancia actualizado en todas las instancias de Windows de una capa.

  • Edite el siguiente archivo de configuración JSON en cada instancia. Este archivo incluye las preferencias de secuencia de registro, como qué registros se van a monitorear.

    %PROGRAMFILES%\Amazon\Ec2ConfigService\Settings\AWS.EC2.Windows.CloudWatch.json

Para automatizar las dos tareas anteriores, puede crear recetas personalizadas que gestionen las tareas necesarias y las asignen a los eventos Setup (Configurar) de la capa en Chef 12.2. Cada vez que inicie una nueva instancia en estas capas, AWS OpsWorks Stacks ejecutará automáticamente las recetas una vez que la instancia haya terminado de arrancar, lo que habilita CloudWatch Logs. Para obtener más información sobre cómo configurar manualmente las secuencias de CloudWatch Logs en instancias basadas en Windows, consulte lo siguiente.

Para desactivar CloudWatch Logs en las instancias basadas en Windows, invierta el proceso. Si desactiva la casilla de verificación Enable CloudWatch Logs integration (Activar integración de CloudWatch Logs) del cuadro de diálogo EC2 Service Properties (Propiedades de servicio de EC2), se eliminan las preferencias de transmisión de registros del archivo AWS.EC2.Windows.CloudWatch.json y se detiene la ejecución de cualquier receta de Chef que asigne automáticamente permisos de CloudWatch Logs a las instancias nuevas de las capas en Chef 12.2.