Supervisión de los registros de AWS IoT Greengrass - AWS IoT Greengrass

Supervisión de los registros de AWS IoT Greengrass

AWS IoT Greengrass consta del servicio de nube y el software de AWS IoT Greengrass Core. El software AWS IoT Greengrass Core puede escribir Registros de Amazon CloudWatch y en el sistema de archivos local del dispositivo principal. Los componentes de Greengrass que se ejecutan en el dispositivo principal también pueden escribir registros en los Registros de CloudWatch y en el sistema de archivos local. Puede utilizar registros para monitorizar eventos y solucionar problemas. Todas las entradas de registro de AWS IoT Greengrass incluyen una marca temporal, un nivel de registro e información sobre el evento.

De forma predeterminada, el software AWS IoT Greengrass Core escribe los registros únicamente en el sistema de archivos local. Puede ver los registros del sistema de archivos en tiempo real para poder depurar los componentes de Greengrass que desarrolle e implemente. También puede configurar un dispositivo principal para escribir registros en los Registros de CloudWatch, de modo que pueda solucionar los problemas del dispositivo principal sin acceso al sistema de archivos local. Para obtener más información, consulte Habilitación del registro en los Registros de CloudWatch.

Acceso a los registros del sistema de archivos

El software AWS IoT Greengrass Core almacena los registros en la carpeta /greengrass/v2/logs de un dispositivo principal, donde /greengrass/v2 es la ruta a la carpeta raíz de AWS IoT Greengrass. La carpeta de registros tiene la estructura siguiente.

/greengrass/v2 └── logs ├── greengrass.log ├── greengrass_2021_09_14_15_0.log ├── ComponentName.log ├── ComponentName_2021_09_14_15_0.log └── main.log
  • greengrass.log: el archivo de registro del software AWS IoT Greengrass Core. Utilice este archivo de registro para ver información en tiempo real sobre los componentes y las implementaciones. Este archivo de registro incluye registros del núcleo de Greengrass, que es el núcleo del software AWS IoT Greengrass Core, y componentes del complemento, como el administrador de registros y el administrador de secretos.

  • ComponentName.log: archivos de registro de componentes de Greengrass. Utilice los archivos de registro de componentes para ver información en tiempo real sobre un componente de Greengrass que se ejecuta en el dispositivo principal. Los componentes genéricos y los componentes de Lambda escriben la salida estándar (stdout) y el error estándar (stderr) en estos archivos de registro.

  • main.log: el archivo de registro del servicio main que gestiona los ciclos de vida de los componentes. Este archivo de registro siempre estará vacío.

Para obtener más información acerca de las diferencias entre los componentes de complemento, genéricos y Lambda, consulte Tipos de componentes.

Las siguientes consideraciones se aplican cuando se utilizan los registros del sistema de archivos:

  • Permisos de usuario raíz

    Debe tener permisos de raíz para leer registros de AWS IoT Greengrass en el sistema de archivos.

  • Rotación de archivos de registro

    El software AWS IoT Greengrass Core rota los archivos de registro cada hora o cuando superan un límite de tamaño de archivo. Los archivos de registro rotados contienen una marca temporal en el nombre del archivo. Por ejemplo, un archivo de registro del software AWS IoT Greengrass Core rotado podría tener un nombre greengrass_2021_09_14_15_0.log. El límite de tamaño de archivo predeterminado es de 1024 KB (1 MB). Puede configurar el límite de tamaño de archivo en el componente núcleo de Greengrass.

  • Eliminación del archivo de registro

    El software AWS IoT Greengrass Core borra los archivos de registro anteriores cuando el tamaño de los archivos de registro del software AWS IoT Greengrass Core o los archivos de registro de los componentes de Greengrass, incluidos los archivos de registro rotados, excede un límite de espacio en disco. El límite de espacio en disco predeterminado para el registro del software AWS IoT Greengrass Core y para cada registro de componentes es de 10 240 KB (10 MB). Puede configurar el límite de espacio en disco de registro del software AWS IoT Greengrass Core en el componente núcleo de Greengrass o en el componente administrador de registros. Puede configurar el límite de espacio en disco de registro de cada componente en el componente administrador de registros.

Cómo ver el archivo de registro del software AWS IoT Greengrass Core
  • Ejecute el siguiente comando para ver el archivo de registro en tiempo real. Sustituya /greengrass/v2 por la ruta a la carpeta raíz de AWS IoT Greengrass.

    Linux or Unix
    sudo tail -f /greengrass/v2/logs/greengrass.log
    Windows Command Prompt (CMD)
    type C:\greengrass\v2\logs\com.example.HelloWorld.log

    El comando type escribe el contenido del archivo en la terminal. Ejecute este comando varias veces para observar los cambios en el archivo.

    PowerShell
    gc C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait
Cómo ver el archivo de registro de un componente
  • Ejecute el siguiente comando para ver el archivo de registro en tiempo real. Sustituya /greengrass/v2 o C:\greengrass\v2 por la ruta a la carpeta raíz de AWS IoT Greengrass y sustituya com.example.HelloWorld por el nombre del componente.

    Linux or Unix
    sudo tail -f /greengrass/v2/logs/com.example.HelloWorld.log
    PowerShell
    gc C:\greengrass\v2\logs\com.example.HelloWorld.log -Tail 10 -Wait

También puede usar el comando logs de la CLI de Greengrass para analizar los registros de Greengrass en un dispositivo principal. Para usar el comando logs, debe configurar el núcleo de Greengrass para que genere archivos de registro en formato JSON. Para obtener más información, consulte Interfaz de la línea de comandos de Greengrass y registros.

Acceso a los Registros de CloudWatch

Puede implementar el componente administrador de registros para configurar el dispositivo principal para que escriba en los Registros de CloudWatch. Para obtener más información, consulte Habilitación del registro en los Registros de CloudWatch. Luego, puede ver los registros en la página Registros de la consola de Amazon CloudWatch o mediante la API de Registros de CloudWatch.

Nombre del grupo de registro
/aws/greengrass/componentType/region/componentName

El nombre del grupo de registro utiliza las siguientes variables:

  • componentType: el tipo del componente, que puede ser uno de los siguientes:

    • GreengrassSystemComponent: este grupo de registro incluye los registros de los componentes del núcleo y del complemento, que se ejecutan en la misma JVM que el núcleo de Greengrass. El componente forma parte del núcleo de Greengrass.

    • UserComponent: este grupo de registro incluye registros de componentes genéricos, componentes de Lambda y otras aplicaciones del dispositivo. El componente no forma parte del núcleo de Greengrass.

    Para obtener más información, consulte Tipos de componentes.

  • region: la región de AWS que utiliza el dispositivo principal.

  • componentName: el nombre del componente. En el caso de los registros del sistema, este valor es System.

Nombre del flujo de registro
/date/thing/thingName

El nombre del flujo de registro utiliza las siguientes variables:

  • date: la fecha del registro, por ejemplo, 2020/12/15. El componente administrador de registros usa el formato yyyy/MM/dd.

  • thingName: el nombre del dispositivo principal.

nota

Si el nombre de un objeto contiene dos puntos (:), el administrador de registros los sustituye por un signo más (+).

Las siguientes consideraciones se aplican cuando utilice el administrador de registros para escribir en Registros de CloudWatch:

  • Demoras de registro

    nota

    Le recomendamos que actualice a la versión 2.3.0 del administrador de registros, ya que reduce las demoras en el registro de los archivos de registro activos y rotados. Cuando actualice al administrador de registros 2.3.0, le recomendamos que también actualice al núcleo de Greengrass 2.9.1.

    La versión 2.2.8 (y anteriores) del componente administrador de registros procesa y carga los registros únicamente a partir de archivos de registro rotados. De forma predeterminada, el software AWS IoT Greengrass Core rota los archivos de registro cada hora o después de que ocupen 1024 KB. Como resultado, el componente del administrador de registros carga los registros solo después de que el software AWS IoT Greengrass Core o un componente de Greengrass hayan escrito registros con un valor superior a 1024 KB. Puede configurar un límite de tamaño de archivo de registro inferior para que los archivos de registro roten con mayor frecuencia. Esto hace que el componente del administrador de registros cargue registros en los Registros de CloudWatch con mayor frecuencia.

    La versión 2.3.0 (y posteriores) del componente administrador de registros procesa y carga todos los registros. Cuando escribe un registro nuevo, la versión 2.3.0 (y posteriores) del administrador de registros procesa y carga directamente el archivo de registro activo en lugar de esperar a que se rote. Esto significa que puede ver el nuevo registro en 5 minutos o menos.

    El componente administrador de registros carga nuevos registros periódicamente. De forma predeterminada, el componente del administrador de registros carga nuevos registros cada 5 minutos. Puede configurar un intervalo de carga inferior para que el componente administrador de registros cargue los registros en los Registros de CloudWatch con mayor frecuencia si configura periodicUploadIntervalSec. Para obtener más información acerca de cómo configurar este intervalo periódico, consulte Configuración.

    Los registros se pueden cargar prácticamente en tiempo real desde el mismo sistema de archivos de Greengrass. Si necesita observar los registros en tiempo real, considere usar los registros del sistema de archivos.

    nota

    Si utiliza distintos sistemas de archivos para escribir los registros, el administrador de registros vuelve al comportamiento de las versiones 2.2.8 y anteriores del componente administrador de registros. Para obtener información sobre cómo acceder a los registros del sistema de archivos, consulte Acceder a los registros del sistema de archivos.

  • Desfase del reloj

    El componente administrador de registros utiliza el proceso de firma estándar de la versión 4 de Signature para crear solicitudes de API a los Registros de CloudWatch. Si la hora del sistema del dispositivo principal no está sincronizada en más de 15 minutos, los Registros de CloudWatch rechaza las solicitudes. Para obtener más información, consulte Proceso de firma Signature Version 4 en la Referencia general de AWS.

Acceso a los registros de servicios del sistema

Si configura el software AWS IoT Greengrass Core como un servicio del sistema, puede ver los registros de servicio del sistema para solucionar problemas, como el hecho de que el software no se inicie.

Cómo ver los registros de servicio del sistema (CLI)
  1. Ejecute el siguiente comando para ver registros de servicio del sistema de software AWS IoT Greengrass Core.

    Linux or Unix (systemd)
    sudo journalctl -u greengrass.service
    Windows Command Prompt (CMD)
    type C:\greengrass\v2\logs\greengrass.wrapper.log
    PowerShell
    gc C:\greengrass\v2\logs\greengrass.wrapper.log
  2. En los dispositivos Windows, el software AWS IoT Greengrass Core crea un archivo de registro independiente para los errores del servicio del sistema. Ejecute el siguiente comando para ver los registros de errores del servicio del sistema.

    Windows Command Prompt (CMD)
    type C:\greengrass\v2\logs\greengrass.err.log
    PowerShell
    gc C:\greengrass\v2\logs\greengrass.err.log

En los dispositivos Windows, también puede utilizar la aplicación Event Viewer para ver los registros de servicio del sistema.

Cómo ver los registros de servicio de Windows (Event Viewer)
  1. Abra la aplicación Event Viewer.

  2. Seleccione Registros de Windows para expandirlo.

  3. Elija Aplicación para ver los registros de servicio de la aplicación.

  4. Busque y abra los registros de eventos cuyo Origen sea greengrass.

Habilitación del registro en los Registros de CloudWatch

Puede implementar el componente administrador de registros para configurar el dispositivo principal para que escriba registros en los Registros de CloudWatch. Puede habilitar los Registros de CloudWatch para los registros del software AWS IoT Greengrass Core y puede habilitar los Registros de CloudWatch para componentes específicos de Greengrass.

nota

El rol de intercambio de token del dispositivo principal de Greengrass debe permitir que el dispositivo principal escriba en los Registros de CloudWatch, como se muestra en el siguiente ejemplo de política de IAM. Si instaló el software AWS IoT Greengrass Core con el aprovisionamiento automático de recursos, su dispositivo principal tiene estos permisos.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogStreams" ], "Effect": "Allow", "Resource": "arn:aws:logs:*:*:*" } ] }

Para configurar un dispositivo principal para escribir registros del software AWS IoT Greengrass Core en los Registros de CloudWatch, cree una implementación que especifique una actualización de configuración que establezca uploadToCloudWatch en true para el componente aws.greengrass.LogManager. AWS IoT Greengrass Los registros del software Core incluyen los registros del núcleo de Greengrass y los componentes del complemento.

{ "logsUploaderConfiguration": { "systemLogsConfiguration": { "uploadToCloudWatch": "true" } } }

Para configurar un dispositivo principal para escribir los registros de un componente de Greengrass en los Registros de CloudWatch, cree una implementación que especifique una actualización de configuración que agregue el componente a la lista de configuraciones de registro de componentes. Al agregar un componente a esta lista, el componente administrador de registros escribe registros en los Registros de CloudWatch. Los registros de componentes incluyen registros de componentes genéricos y componentes de Lambda.

{ "logsUploaderConfiguration": { "componentLogsConfigurationMap": { "com.example.HelloWorld": { } } } }

Al implementar el componente administrador de registros, también puede configurar los límites de espacio en disco y si el dispositivo principal eliminará los archivos de registro después de escribirlos en los Registros de CloudWatch. Para obtener más información, consulte Configuración de registro en AWS IoT Greengrass.

Configuración de registro en AWS IoT Greengrass

Puede configurar las siguientes opciones para personalizar el registro de los dispositivos principales de Greengrass. Para configurar estas opciones, cree una implementación que especifique una actualización de configuración para los componentes del núcleo de Greengrass o del administrador de registros.

  • Escritura de registros en los Registros de CloudWatch

    Para solucionar problemas de dispositivos principales de forma remota, puede configurarlos para que escriban registros de componentes y del software AWS IoT Greengrass Core en los Registros de CloudWatch. Para ello, implemente y configure el componente administrador de registros. Para obtener más información, consulte Habilitación del registro en los Registros de CloudWatch.

  • Eliminación de los archivos de registro cargados

    Para reducir el uso del espacio en disco, puede configurar los dispositivos principales para que eliminen los archivos de registro después de escribirlos en los Registros de CloudWatch. Para obtener más información, consulte el parámetro deleteLogFileAfterCloudUpload del componente administrador de registros, que puede especificar para los registros del software AWS IoT Greengrass Core y los registros de los componentes.

  • Límites de espacio en disco de registro

    Para limitar el uso del espacio en disco, puede configurar el espacio máximo en disco para cada registro, incluidos sus archivos de registro rotados, en un dispositivo principal. Por ejemplo, puede configurar el espacio máximo combinado en disco para greengrass.log y los archivos rotados greengrass.log. Para obtener más información, consulte el parámetro logging.totalLogsSizeKB del componente núcleo de Greengrass y el parámetro diskSpaceLimit del componente administrador de registros, que puede especificar para los registros del software AWS IoT Greengrass Core y registros de componente.

  • Límite de tamaño de los archivos de registro

    Puede configurar el tamaño máximo de archivo para cada archivo de registro. Cuando un archivo de registro supera este límite de tamaño de archivo, el software AWS IoT Greengrass Core crea un nuevo archivo de registro. El componente administrador de registros versión 2.28 (y anteriores) solo escribe archivos de registro rotados en los Registros de CloudWatch, por lo que puede especificar un límite de tamaño de archivo inferior para escribir registros en los Registros de CloudWatch con mayor frecuencia. La versión 2.3.0 (y posteriores) del componente administrador de registros procesa y carga todos los registros en lugar de esperar a que se roten. Para obtener más información, consulte el parámetro de límite de tamaño de archivo de registro del componente de núcleo de Greengrass (logging.fileSizeKB).

  • Niveles mínimos de registro

    Puede configurar el nivel de registro mínimo que el componente núcleo de Greengrass escribe en los registros del sistema de archivos. Por ejemplo, puede especificar los registros de DEBUG para facilitar la solución de problemas, o puede especificar los registros de ERROR para reducir la cantidad de registros que crea un dispositivo principal. Para obtener más información, consulte el parámetro de límite de registro del componente núcleo de Greengrass (logging.level).

    También puede configurar el nivel de registro mínimo que el componente del administrador de registros escribe en los Registros de CloudWatch. Por ejemplo, puede especificar un nivel de registro superior para reducir los costos de registro. Para obtener más información, consulte el parámetro minimumLogLevel del componente administrador de registros, que puede especificar para los registros del software AWS IoT Greengrass Core y los registros de los componentes.

  • Intervalo para comprobar los registros que se van a escribir en los Registros de CloudWatch

    Para aumentar o reducir la frecuencia con la que el componente administrador de registros escribe registros en los Registros de CloudWatch, puede configurar el intervalo en el que comprueba si hay nuevos archivos de registro que escribir. Por ejemplo, puede especificar un intervalo inferior para ver los registros en los Registros de CloudWatch antes de lo que lo haría con el intervalo predeterminado de 5 minutos. Puede especificar un intervalo mayor para reducir los costos, ya que el componente administrador de registros agrupa los archivos de registro en menos solicitudes. Para obtener más información, consulte el parámetro de intervalo de carga (periodicUploadIntervalSec) del componente administrador de registros.

  • Formato de registro

    Puede elegir si el software AWS IoT Greengrass Core escribe registros en formato de texto o JSON. Elija el formato de texto si lee los registros o el formato JSON si utiliza una aplicación para leer o analizar los registros. Para obtener más información, consulte el parámetro de formato de registro (logging.format) del componente núcleo de Greengrass.

  • Carpeta de registros del sistema de archivos local

    Puede cambiar la carpeta de registros /greengrass/v2/logs por otra carpeta del dispositivo principal. Para obtener más información, consulte el parámetro del directorio de salida (logging.outputDirectory) del componente núcleo de Greengrass.

Registros de AWS CloudTrail

AWS IoT Greengrass se integra con AWS CloudTrail, un servicio que proporciona un registro de las acciones realizadas por un usuario, un rol o Servicio de AWS en AWS IoT Greengrass. Para obtener más información, consulte Registro de llamadas a la API de AWS IoT Greengrass V2 con AWS CloudTrail.