Configure el AWS IoT registro - AWS IoT Core

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.

Configure el AWS IoT registro

Debe habilitar el registro mediante la AWS IoT consola, la CLI o la API antes de poder supervisar y registrar AWS IoT la actividad. Puede configurar el registro AWS IoT en tres niveles: nivel de cuenta, nivel de evento o nivel específico de recursos. El registro a nivel de eventos y de recursos específicos está disponible exclusivamente con el registro V2. Los clientes que utilizan el registro de la versión 1 deben realizar una migración a la versión 2 para acceder a estas funciones. Consulte los detalles.

Al considerar cómo configurar el AWS IoT registro, la configuración del registro a nivel de cuenta determina cómo se registrará la AWS IoT actividad, 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. Tras revisar los registros iniciales, puede cambiar el nivel de registro predeterminado a un nivel menos detallado, como WARN o ERROR, a nivel de cuenta o evento, y establecer un nivel de registro más detallado y específico para los recursos que puedan necesitar más atención. Los niveles de registro se pueden cambiar cuando lo desee.

Este tema trata sobre el inicio de sesión en la nube. AWS IoT Para obtener información sobre el registro y la supervisión del lado del dispositivo, consulte Cargar registros del lado del dispositivo a. CloudWatch

Para obtener información sobre el registro y la supervisión AWS IoT Greengrass, consulte Registro y supervisión. AWS IoT Greengrass

Configurar el inicio de sesión en V2 AWS IoT

Determinar la versión de registro

La LoggingOptions API GetV2 devuelve un valor NotConfiguredException si el registro de V2 no está habilitado. Este error se produce cuando se utiliza el registro de la V1 o no se ha configurado ningún registro.

Comprender las funciones de registro de la versión 2

El registro V2 ofrece dos capacidades clave: el registro a nivel de eventos y el registro de recursos específicos. El registro a nivel de eventos permite una configuración de registro específica con niveles de registro y destinos de grupos de registros personalizables. CloudWatch El registro de recursos específicos permite filtrar los registros por grupo de cosas, IP de origen, ID de cliente o ID principal. En conjunto, estas características proporcionan un control granular y una visibilidad completa de las operaciones de IoT, lo que mejora la capacidad de búsqueda de registros y reduce los costos al eliminar la actividad de registro innecesaria.

Migración de V1 a V2

Puede migrar al registro de V2 mediante la LoggingOptions API de SetV2 mediante la AWS CLI o el SDK. Tras la migración, enruta AWS IoT automáticamente todos los registros al grupo de CloudWatch registros «AWSIotLogsV2». Importante: Si sus aplicaciones o recursos posteriores consumen información de los «AWSIotregistros», actualícelos para que utilicen la ruta del grupo de registros correspondiente.

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

Antes de habilitar el inicio de sesión AWS IoT, debe crear un rol de IAM y una política que permita escribir actividades AWS IoT de AWS IoT registro en grupos de registros en su CloudWatch nombre. También puedes generar un rol de IAM con las políticas necesarias en la sección Registros de la AWS IoT consola.

nota

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

Si espera que se produzcan patrones de tráfico elevados AWS IoT Core debido a las pruebas de carga, considere la posibilidad de deshabilitar el registro de IoT para evitar la limitación. 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 una función y una política de registro para los recursos. 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, introduzca 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.

Política de rol de registro

Los siguientes documentos de política proporcionan la política de roles y la política de confianza que AWS IoT permiten enviar entradas de registro CloudWatch en su nombre. Si configura el registro a nivel de eventos con un grupo de CloudWatch registros personalizado, debe actualizar la política de roles para incluir el ARN del recurso personalizado.

Si también se te permite AWS IoT Core para LoRaWAN enviar entradas de registro, verás un documento de política creado para ti en el que se registran ambas actividades.

nota

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

  • Sustituya la partición por la partición de la región.

  • Sustituya la AWS región por la región que utilice. Asegúrese de usar la misma AWS región que usó para configurar la AWS CLI en su dispositivo.

  • Sustituya account-id por su ID de AWS cuenta.

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:aws:logs:us-east-1:123456789012:log-group:AWSIotLogsV2:*" ] } ] }

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

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

AWS IoT Es posible que el registro no pueda publicar el registro en CloudWatch Logs debido a que los permisos de rol de IAM son insuficientes. Cuando esto ocurra, compruebe las métricas de CloudWatch registro para investigar y solucionar los errores.

Configure el registro en la AWS IoT (consola)

En esta sección se describe cómo configurar el AWS IoT registro mediante la AWS IoT consola. Puede configurar el registro a nivel de cuenta, de eventos y de recursos específicos.

AWS IoT Para configurar el registro:
  1. Inicie sesión en la AWS IoT consola. Para obtener más información, consulte Abre la AWS IoT consola.

  2. En el panel de navegación izquierdo, selecciona Registros (anteriormente, una sección en Configuración).

  3. Configura el registro a nivel de cuenta: el registro a nivel de cuenta se aplica a toda tu AWS IoT flota (dispositivos o terminales), a menos que lo anule la configuración a nivel de evento o de recursos específicos.

    1. En Registro a nivel de cuenta, selecciona Administrar el registro a nivel de cuenta para realizar actualizaciones.

    2. Selecciona la casilla de verificación «Habilitar el registro» para empezar a enviar los registros. CloudWatch Si la opción «Activar registro» está desactivada, no AWS IoT se enviará ningún CloudWatch registro a los grupos de registros, independientemente de las configuraciones de registro a nivel de eventos o recursos.

    3. En Función de registro de IAM, selecciona una función existente de la lista desplegable. Puede ver los detalles del rol para inspeccionar los permisos del rol. También puede seleccionar Crear un nuevo rol para configurar un nuevo rol de IAM. La función de registro proporciona políticas que permiten AWS IoT enviar entradas de registro CloudWatch en su nombre. Si configura el registro a nivel de eventos con un grupo de CloudWatch registros personalizado, debe actualizar la política de roles para incluir el ARN de este grupo de registros.

    4. Elija el nivel de registro predeterminado que corresponda al nivel de detalle de las entradas de registro que desea que aparezcan en los registros. CloudWatch Nota: El nivel de registro «DEBUG» es el que proporciona más detalles, pero aumenta CloudWatch los costes. CloudWatch Los destinos de los grupos de registros no se pueden configurar a nivel de cuenta. Sin embargo, puede especificar grupos de registros personalizados para tipos de eventos individuales, tal y como se describe en la siguiente sección.

    5. Seleccione Actualizar registro para guardar los cambios.

  4. El registro a nivel de eventos le permite capturar de forma selectiva los registros de los eventos relevantes y dirigirlos a grupos de registros específicos CloudWatch . Esto le brinda la flexibilidad de organizar los registros por casos de uso para una mejor visibilidad, compartirlos con diferentes audiencias y reducir los CloudWatch costos al habilitar los registros y establecer los niveles de registro en función de la gravedad de los eventos.

    Configure el registro a nivel de eventos: el registro a nivel de eventos captura AWS IoT eventos específicos, como los intentos de autenticación del cliente. Estos ajustes anulan el registro a nivel de cuenta.

    1. En la sección Registro a nivel de eventos, selecciona Administrar el registro a nivel de eventos para realizar actualizaciones.

    2. De forma predeterminada, los tipos de eventos heredan la configuración de registro a nivel de cuenta. Nota: Cuando se configura el registro específico de un recurso, anula la configuración a nivel de cuenta y evento.

    3. Para modificar la configuración de eventos individuales, haga clic en el valor de la fila de eventos correspondiente. Puede ajustar tanto el nivel de registro como el destino del grupo de CloudWatch registros. Al especificar un destino de grupo de CloudWatch registros personalizado, debe comprobar que la política de roles de IAM incluya los permisos para el nuevo grupo de registros. Si no se actualiza la política de roles, se AWS IoT impedirá escribir registros en el grupo de registros personalizado. Tras realizar la selección, haga clic en la marca de verificación para confirmarla. La columna «Está modificado» mostrará «Sí» para indicar los cambios pendientes.

    4. Haga clic en Actualizar registro para aplicar los cambios o seleccione Cancelar para descartarlos.

  5. Configurar anulaciones específicas de un recurso: las anulaciones específicas de un recurso aplican una configuración de registro a los recursos seleccionados. Un recurso puede ser un grupo de cosas, una IP de origen, un ID de cliente o un ID principal. La configuración de registro específica del recurso anula la configuración a nivel de cuenta y a nivel de evento. Cuando está habilitada, genera registros para todos los tipos de eventos en el nivel de registro configurado para los recursos especificados. Por ejemplo, puede configurar el registro a nivel de depuración para una cosa específica y, al mismo tiempo, mantener el registro a nivel de información para todas las demás cosas.

    1. Selecciona Añadir anulaciones específicas de un recurso en la sección Anulaciones específicas de un recurso.

    2. Elija un destino de registro: grupo de cosas, IP de origen, ID de cliente o ID principal.

    3. Introduzca el valor objetivo de registro correspondiente al tipo de objetivo seleccionado.

    4. Seleccione el nivel de registro deseado en el menú desplegable de la sección Nivel de registro específico del recurso.

    5. Haga clic en Enviar para añadir la modificación o en Cancelar para descartar los cambios.

    6. Para modificar una anulación específica de un recurso existente, seleccione la casilla de verificación situada junto al recurso y haga clic en «Eliminar» para eliminar la anulación o en «Editar» para modificarla.

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

Configurar el inicio de sesión a nivel de cuenta y evento ( AWS IoT CLI)

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

Si lo desea, puede configurar el registro a nivel de eventos. El registro a nivel de eventos captura la información de registro a nivel de evento, como los eventos de autenticación y autorización o de creación de certificados. Puede personalizar tanto el nivel de registro como los destinos de los grupos de CloudWatch registros a nivel de evento. El registro a nivel de eventos funciona a un nivel más específico en comparación con el registro a nivel de cuenta y, por lo tanto, anula la configuración del registro a nivel de cuenta. Este enfoque jerárquico le permite mantener diferentes estrategias de registro para diferentes tipos de eventos en función de su importancia operativa y consideraciones de costo.

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. Al especificar un grupo de CloudWatch registros personalizado para cualquier tipo de evento, asegúrese de que su función de registro tenga los permisos necesarios para el grupo de registros de destino.

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 mediante los métodos de la AWS API 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 \ --event-configurations event-configuration-list \ --role-arn logging-role-arn \ --default-log-level log-level

    donde:

    --role-arn

    El ARN del rol que otorga AWS IoT permiso para escribir en tus registros en CloudWatch Logs. Para la configuración inicial, es necesaria la configuración del Role-ARN.

    --default-log-level

    El nivel de registro que se debe usar. Los valores válidos son:ERROR,, WARNINFO, DEBUG o. DISABLED Default-log-levella configuración es necesaria para la configuración inicial.

    --no-disable-all-logs

    Un parámetro opcional que permite todos los AWS IoT registros. Utilice este parámetro para habilitar el registro cuando esté deshabilitado actualmente.

    --disable-all-logs

    Parámetro opcional que desactiva todos los AWS IoT registros. Utilice este parámetro para deshabilitar el registro cuando esté habilitado actualmente.

    --event-configurations

    Este parámetro es opcional y le permite personalizar la configuración de registro para tipos de eventos individuales:

    • EventType: el tipo de evento que anula la configuración a nivel de cuenta

    • LogLevel: anula la configuración a nivel de cuenta con DEBUG, INFO, ERROR, WARN o DISABLED

    • LogDestination: especifique un grupo de registros personalizado para la entrega de registros CloudWatch

    Puede configurar el nivel de registro y el destino del registro de forma independiente para cada tipo de evento. Si no se especifica, los eventos heredarán la configuración a nivel de cuenta

    aws iot set-v2-logging-options \ --event-configurations "[{\"eventType\":\"Publish-In\",\"logLevel\":\"INFO\",\"logDestination\":\"examplePublishInLogGroup\"}]"
  2. Utilice el comando get-v2-logging-options para obtener las opciones de registro actuales.

    aws iot get-v2-logging-options \ --verbose

    donde:

    --verbose

    Parámetro opcional que permite recuperar todos los tipos de eventos y sus configuraciones.

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

nota

AWS IoT sigue admitiendo comandos antiguos (set-logging-optionsyget-logging-options) para configurar 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 cambie las aplicaciones antiguas que utilizan las versiones anteriores.

Configurar anulaciones específicas de recursos en (CLI) AWS IoT

En esta sección se describe cómo configurar las anulaciones de recursos específicos AWS IoT mediante la CLI. Las anulaciones específicas de un recurso permiten especificar un nivel de registro para un recurso específico identificado por grupo de cosas, ID de cliente, IP de origen o ID principal. Cuando el registro específico de un recurso está habilitado, anula la configuración a nivel de cuenta y a nivel de evento. Todos los tipos de eventos generarán registros para el recurso especificado en el nivel de registro configurado, incluso si esos eventos están deshabilitados en las configuraciones a nivel de evento.

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.

Un objeto puede ser miembro de un grupo de objetos. Esta pertenencia permite al objeto heredar las configuraciones, las políticas y la configuración aplicadas al grupo de objetos. Los grupos de objetos se utilizan para administrar y aplicar la configuración a varios objetos de forma colectiva, en lugar de tratar cada uno de ellos de forma individual. Cuando su ID de cliente coincida con el nombre de la cosa, AWS IoT Core asociará automáticamente la sesión del cliente con el recurso de la cosa correspondiente. Esto permite que la sesión del cliente herede las configuraciones y los ajustes aplicados a los grupos de objetos a los que pertenece el objeto, incluidos los niveles de registro. Si el ID del cliente no coincide con el nombre del objeto, puede habilitar la asociación de objeto exclusiva para establecer dicha asociación. Para obtener más información, consulte Asociar cualquier AWS IoT cosa a una conexión de cliente MQTT .

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 mediante los métodos de la AWS API que corresponden a los comandos CLI que se muestran aquí.

Para usar la CLI para configurar anulaciones específicas de recursos para AWS IoT
  1. Habilite el registro a nivel de cuenta antes de configurar el registro específico de un recurso mediante el siguiente comando: aws iot set-v2-logging-options

  2. Utilice el set-v2-logging-levelcomando para configurar las anulaciones específicas de un recurso. Consulte el siguiente ejemplo para ver la configuración de grupos de cosas:

    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 targetType 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.

  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
    --target-type

    El valor target-type debe ser uno de los siguientes: THING_GROUP | CLIENT_ID | SOURCE_IP | PRINCIPAL_ID.

    --target-name

    El nombre del grupo de objetos para el que se va a quitar el nivel de 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.

Ejemplo: no se pudo autenticar el dispositivo debido a que el certificado expiró.

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.

Ejemplo: aproximarse al límite de velocidad de mensajes.

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

INFO

Información general acerca del flujo de objetos.

Ejemplo: un cliente se ha suscrito correctamente a un tema de MQTT.

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

DEBUG

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

Ejemplo: IoT Rules Engine detectó un mensaje publicado en el tema de reglas «rule/test» y comenzó a ejecutarse correctamente. La regla se configura con. RepublishAction

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

DISABLED

Todos los registros están desactivados.