Configuración de registros de AWS IoT - AWS IoT Core

Configuración de registros de AWS IoT

Debe habilitar el registro mediante la consola de AWS IoT, la CLI o la API antes de poder monitorear y registrar la actividad de AWS IoT.

Puede habilitar el registro para todo AWS IoT o solo para grupos de objetos específicos. Puede configurar el registro de AWS IoT mediante la consola de AWS IoT, la CLI o la API; sin embargo, debe usar la CLI o la API para configurar el registro para grupos de objetos específicos.

Al considerar cómo configurar el registro de AWS IoT, la configuración predeterminada de registro determina cómo se registrará la actividad de AWS IoT a menos que se especifique lo contrario. Para empezar, es posible que desee obtener registros detallados con un nivel de registro predeterminado de INFO o DEBUG. Después de revisar los registros iniciales, puede cambiar el nivel de registro predeterminado a un nivel menos detallado, como WARN o ERROR y establecer un nivel de registro específico de recursos más detallado en los recursos que puedan necesitar más atención. Los niveles de registro se pueden cambiar cuando lo desee.

En este tema se describe el inicio de sesión en AWS IoT del lado de la nube. Para obtener información sobre el registro y la monitorización del lado del dispositivo, consulte Carga de registros del lado del dispositivo a CloudWatch.

Para obtener información sobre el registro y la monitorización de AWS IoT Greengrass, consulte Registro y supervisión en AWS IoT Greengrass. A partir del 30 de junio de 2023, el software AWS IoT Greengrass Core migró a AWS IoT Greengrass Version 2.

Configuración del rol y la política de registro

Antes de habilitar el inicio de sesión en AWS IoT, debe crear un rol de IAM y una política que conceda a AWS permiso para monitorear la actividad de AWS IoT en su nombre. También puede generar un rol de IAM con las políticas necesarias en la sección Registros de la consola de AWS IoT.

nota

Antes de habilitar el registro de AWS IoT, asegúrese de comprender bien los permisos de acceso a CloudWatch Logs. Los usuarios con acceso a los registros de CloudWatch podrán consultar la información de depuración desde sus dispositivos. Para obtener más información, consulte Autenticación y control de acceso de Amazon CloudWatch Logs.

Si espera que se registren patrones de tráfico elevados en AWS IoT Core debido a las pruebas de carga, considere la opción de desactivar el registro de IoT para evitar limitaciones. Si se detecta mucho tráfico, es posible que nuestro servicio deshabilite el inicio de sesión en su cuenta.

A continuación, se muestra cómo crear un rol y una política de registro para los recursos de AWS IoT Core.

Creación de un rol de registro

Para crear un rol de registro, abra la página Centro de roles de la consola de IAM y elija Crear rol.

  1. En Seleccionar tipo de entidad de confianza, elija Servicio de AWS. A continuación, seleccione IoT en Caso de uso. Si no ve IoT, ingrese y busque IoT en el menú desplegable Casos de uso para otros servicios de AWS:. Seleccione Siguiente.

  2. En la página Añadir permisos, verá las políticas que se asocian automáticamente al rol de servicio. Elija Siguiente.

  3. En la página Nombrar, revisar y crear, introduzca un Nombre de rol y Descripción de rol para el rol y, a continuación, elija Crear rol.

  4. En la lista de Roles, busque el rol que creó, ábralo y copie el ARN del rol (<logging-role-arn>) para utilizarlo cuando Configure el registro predeterminado en AWS IoT (consola).

Política de rol de registro

Los documentos siguientes proporcionan la política de confianza y la política de roles que permiten a AWS IoT enviar entradas de registro a CloudWatch en su nombre. Si también has permitido a AWS IoT Core para LoRaWAN que envíe entradas de registro, verá que se ha creado un documento de política en el que se registran ambas actividades.

nota

Estos documentos se crearon para usted cuando creó el rol de registro. Los documentos tienen variables, ${partition}, ${region} y ${accountId}, que debe reemplazar por sus valores.

Política de roles:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:PutMetricFilter", "logs:PutRetentionPolicy", "iot:GetLoggingOptions", "iot:SetLoggingOptions", "iot:SetV2LoggingOptions", "iot:GetV2LoggingOptions", "iot:SetV2LoggingLevel", "iot:ListV2LoggingLevels", "iot:DeleteV2LoggingLevel" ], "Resource": [ "arn:${partition}:logs:${region}:${accountId}:log-group:AWSIotLogsV2:*" ] } ] }

Política de confianza para registrar únicamente la actividad de AWS IoT Core:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "iot.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Configure el registro predeterminado en AWS IoT (consola)

En esta sección se describe cómo utilizar la consola de AWS IoT para configurar el registro para todo AWS IoT. Para configurar el registro solo para grupos de objetos específicos, debe usar la CLI o la API. Para obtener información sobre cómo configurar el registro para grupos de objetos específicos, consulte Configurar el inicio de sesión específico de recursos en AWS IoT (CLI).

Para usar la consola de AWS IoT para configurar el registro predeterminado para todo AWS IoT
  1. Inicie sesión en la consola de AWS IoT. Para obtener más información, consulte Abra la consola de AWS IoT.

  2. En el panel de navegación izquierdo, elija Configuración. En la sección Registros de la página Configuración, elija Administrar registros.

    La página Registros muestra el rol de registro y el nivel de detalle utilizado por todo AWS IoT.

    La página Registros muestra el rol de registro y el nivel de detalle.
  3. En la página Registros, elija Seleccionar rol para especificar un rol que creó en Creación de un rol de registro o Crear rol para crear un nuevo rol para utilizarlo para el registro.

    La página Registros que muestra el rol de registro y el nivel de registro.
  4. Elija el Nivel de registro que describa el nivel de detalle de las entradas de registro que quiere que aparezcan en los registros de CloudWatch.

  5. Elija Actualizar para guardar los cambios.

Después de habilitar el registro, visite Visualización de los registros de AWS IoT en la consola de CloudWatch para obtener más información sobre cómo ver las entradas del registro.

Configurar el registro predeterminado en AWS IoT (CLI)

En esta sección se describe cómo configurar el registro global para AWS IoT mediante la CLI.

nota

Necesita el nombre de recurso de Amazon (ARN) del rol que desea utilizar. Si necesita crear un rol para usar en el registro, consulte Creación de un rol de registro antes de continuar.

La entidad principal que se utiliza para realizar la llamada a la API debe tener Transmisión de los permisos de rol para el rol de registro.

También puede realizar este procedimiento con la API utilizando los métodos de la API de AWS que corresponden a los comandos CLI que se muestran aquí.

Para usar la CLI para configurar el registro predeterminado para AWS IoT
  1. Utilice el comando set-v2-logging-options para establecer las opciones de registro para su cuenta.

    aws iot set-v2-logging-options \ --role-arn logging-role-arn \ --default-log-level log-level

    donde:

    --role-arn

    El ARN de rol que concede permiso a AWS IoT para escribir en los registros de CloudWatch.

    --default-log-level

    El nivel de registro que se debe usar. Los valores válidos son: ERROR, WARN, INFO, DEBUG o DISABLED

    --no-disable-all-logs

    Un parámetro opcional que habilita todo el registro de AWS IoT. Utilice este parámetro para habilitar el registro cuando esté deshabilitado actualmente.

    --disable-all-logs

    Un parámetro opcional que deshabilita todo el registro de AWS IoT. Utilice este parámetro para deshabilitar el registro cuando esté habilitado actualmente.

  2. Utilice el comando get-v2-logging-options para obtener las opciones de registro actuales.

    aws iot get-v2-logging-options

Después de habilitar el registro, visite Visualización de los registros de AWS IoT en la consola de CloudWatch para obtener más información sobre cómo ver las entradas del registro.

nota

AWS IoT sigue siendo compatible con los comandos más antiguos (set-logging-options y get-logging-options) para establecer y obtener el registro global en su cuenta. Tenga en cuenta que, cuando se utilizan estos comandos, los registros resultantes contienen texto sin formato, en lugar de cargas JSON y que la latencia de registro normalmente es mayor. No se realizarán mejoras en la implementación de estos comandos más antiguos. Le recomendamos que utilice las versiones "v2" para configurar las opciones de registro y, cuando sea posible, que modifique las aplicaciones heredadas que utilizan las versiones más antiguas.

Configurar el inicio de sesión específico de recursos en AWS IoT (CLI)

En esta sección se describe cómo configurar el registro específico de recursos para AWS IoT mediante la CLI. El registro específico de recursos le permite especificar un nivel de registro para un grupo de objetos específico.

Los grupos de objetos pueden contener otros grupos de objetos para crear una relación jerárquica. Este procedimiento describe cómo configurar el registro de un solo grupo de objetos. Puede aplicar este procedimiento al grupo de objetos principal de una jerarquía para configurar el registro de todos los grupos de objetos de la jerarquía. También puede aplicar este procedimiento a un grupo de objetos secundario para anular la configuración de registro de su principal.

Además de los grupos de objetos, también puede registrar los destinos, como el ID de cliente, la IP de origen y el ID de entidad principal de un dispositivo.

nota

Necesita el nombre de recurso de Amazon (ARN) del rol que desea utilizar. Si necesita crear un rol para usar en el registro, consulte Creación de un rol de registro antes de continuar.

La entidad principal que se utiliza para realizar la llamada a la API debe tener Transmisión de los permisos de rol para el rol de registro.

También puede realizar este procedimiento con la API utilizando los métodos de la API de AWS que corresponden a los comandos CLI que se muestran aquí.

Para usar la CLI para configurar el registro específico de recursos para AWS IoT
  1. Utilice el comando set-v2-logging-options para establecer las opciones de registro para su cuenta.

    aws iot set-v2-logging-options \ --role-arn logging-role-arn \ --default-log-level log-level

    donde:

    --role-arn

    El ARN de rol que concede permiso a AWS IoT para escribir en los registros de CloudWatch.

    --default-log-level

    El nivel de registro que se debe usar. Los valores válidos son: ERROR, WARN, INFO, DEBUG o DISABLED

    --no-disable-all-logs

    Un parámetro opcional que habilita todo el registro de AWS IoT. Utilice este parámetro para habilitar el registro cuando esté deshabilitado actualmente.

    --disable-all-logs

    Un parámetro opcional que deshabilita todo el registro de AWS IoT. Utilice este parámetro para deshabilitar el registro cuando esté habilitado actualmente.

  2. Utilice el comando set-v2-logging-level para configurar el registro específico de recursos para un grupo de objetos.

    aws iot set-v2-logging-level \ --log-target targetType=THING_GROUP,targetName=thing_group_name \ --log-level log_level
    --log-target

    El tipo y nombre del recurso para el que está configurando el registro. El valor target_type debe ser uno de los siguientes: THING_GROUP | CLIENT_ID | SOURCE_IP | PRINCIPAL_ID. El valor del parámetro log-target puede ser texto, como se muestra en el ejemplo de comando anterior, o una cadena JSON, como en el ejemplo siguiente.

    aws iot set-v2-logging-level \ --log-target '{"targetType": "THING_GROUP","targetName": "thing_group_name"}' \ --log-level log_level
    --log-level

    El nivel de registro utilizado cuando se generan registros para el recurso especificado. Los valores válidos son: DEBUG, INFO, ERROR, WARN y DISABLED.

    aws iot set-v2-logging-level \ --log-target targetType=CLIENT_ID,targetName=ClientId1 \ --log-level DEBUG
  3. Utilice el comando list-v2-logging-levels para enumerar los niveles de registro configurados actualmente.

    aws iot list-v2-logging-levels
  4. Utilice el comando delete-v2-logging-level para eliminar un nivel de registro específico de recursos, como en los ejemplos siguientes.

    aws iot delete-v2-logging-level \ --target-type "THING_GROUP" \ --target-name "thing_group_name"
    aws iot delete-v2-logging-level \ --target-type=CLIENT_ID --target-name=ClientId1
    --targetType

    El valor target_type debe ser uno de los siguientes: THING_GROUP | CLIENT_ID | SOURCE_IP | PRINCIPAL_ID.

    --targetName

    El nombre del grupo de objetos para el que se va a quitar el nivel de registro.

Después de habilitar el registro, visite Visualización de los registros de AWS IoT en la consola de CloudWatch para obtener más información sobre cómo ver las entradas del registro.

Niveles de registro

Estos niveles de registro determinan los eventos que se registran y se aplican a los niveles de registro predeterminados y específicos de recursos.

ERROR

Cualquier error que provoque el fracaso de una operación.

Los registros solo incluirán información de ERROR.

WARN

Todo lo que pueda llegar a producir incoherencias en el sistema, aunque no el fracaso de la operación.

Los registros incluirán información de ERROR y WARN.

INFO

Información general acerca del flujo de objetos.

Los registros incluirán información de INFO, ERROR y WARN.

DEBUG

Información que puede ser útil para depurar un problema.

Los registros incluirán información de DEBUG, INFO, ERROR y WARN.

DISABLED

Todos los registros están desactivados.