Configuración del registro de recursos de AWS IoT Wireless - AWS IoT Wireless

Configuración del registro de recursos de AWS IoT Wireless

Para configurar el registro de recursos de AWS IoT Wireless, puede usar la API o la CLI. Al comenzar a monitorizar los recursos de AWS IoT Wireless, puede usar la configuración predeterminada. Para ello, puede omitir este tema y continuar con Monitorización de AWS IoT Wireless con CloudWatch Logs para monitorizar los registros.

Después de comenzar a monitorizar los registros, puede usar la CLI para cambiar los niveles de registro a una opción más detallada, como proporcionar información de INFO y ERROR, y habilitar el registro para más recursos.

Recursos y niveles de registro de AWS IoT Wireless

Antes de usar la API o la CLI, utilice la siguiente tabla para obtener información sobre los diferentes niveles de registro y los recursos para los que puede configurar el registro. En la tabla se muestran los parámetros que se ven en los registros de CloudWatch cuando se monitorizan los recursos. La forma en que configure el registro de sus recursos determinará los registros que verá en la consola.

Para saber qué aspecto tiene un ejemplo de registros de CloudWatch y cómo puede utilizar estos parámetros para registrar información útil sobre los recursos de AWS IoT Wireless, consulte Ver las entradas de registro de AWS IoT Wireless de CloudWatch.

Recursos y niveles de registro
Nombre Valores posibles Descripción
logLevel

INFO, ERROR o DISABLED

  • ERROR: muestra cualquier error que provoque el fracaso de una operación. Los registros incluyen solo información de ERROR.

  • INFO: proporciona información de alto nivel acerca del flujo de objetos. Los registros incluyen información de INFO y ERROR.

  • DISABLED: desactiva todos los registros.

resource

WirelessGateway o WirelessDevice

El tipo del recurso, que puede ser WirelessGateway o WirelessDevice.

wirelessGatewayType LoRaWAN El tipo de la puerta de enlace inalámbrica, cuando resource es WirelessGateway, que siempre es LoRaWAN.
wirelessDeviceType LoRaWAN o Sidewalk El tipo de dispositivo inalámbrico, cuando resource es WirelessDevice, que puede ser LoRaWAN o Sidewalk.
wirelessGatewayId - El identificador de la puerta de enlace inalámbrica, cuando resource es WirelessGateway.
wirelessDeviceId - El identificador del dispositivo inalámbrico, cuando resource es WirelessDevice.
event Join, Rejoin, Registration, Uplink_data, Downlink_data, CUPS_Request y Certificate El tipo de evento que se registra, que depende de si el recurso que está registrando es un dispositivo inalámbrico o una puerta de enlace inalámbrica. Para obtener más información, consulte Ver las entradas de registro de AWS IoT Wireless de CloudWatch.

API de registro de AWS IoT Wireless

Puede utilizar las siguientes acciones de la API para configurar el registro de recursos. En la tabla también se muestra un ejemplo de política de IAM que debe crear para utilizar las acciones de la API. En la siguiente sección se describe cómo usar las API para configurar niveles de registro de los recursos.

Acciones de API de registro
Nombre de API Descripción Ejemplo de política de IAM

GetLogLevelsByResourceTypes

Devuelve los niveles de registro predeterminados actuales o los niveles de registro por tipos de recursos, que pueden incluir opciones de registro para dispositivos inalámbricos o puertas de enlace inalámbricas.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iotwireless:GetLogLevelsByResourceTypes" ], "Resource": [ "*" ] } ] }

GetResourceLogLevel

Devuelve la anulación a nivel de registro de un identificador de recurso y un tipo de recurso determinados. El recurso puede ser un dispositivo inalámbrico o una puerta de enlace inalámbrica.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iotwireless:GetResourceLogLevel" ], "Resource": [ "arn:aws:iotwireless:us-east-1:123456789012:WirelessDevice/012bc537-ab12-cd3a-d00e-1f0e20c1204a", ] } ] }

PutResourceLogLevel

Devuelve la anulación a nivel de registro de un identificador de recurso y un tipo de recurso determinados. El recurso puede ser una puerta de enlace inalámbrica o un dispositivo inalámbrico.

nota

Esta API tiene un límite de 200 anulaciones a nivel de registro por cuenta.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iotwireless:PutResourceLogLevel" ], "Resource": [ "arn:aws:iotwireless:us-east-1:123456789012:WirelessDevice/012bc537-ab12-cd3a-d00e-1f0e20c1204a", ] } ] }

ResetAllResourceLogLevels

Elimina las anulaciones a nivel de registro de todos los recursos, lo que incluye tanto las puertas de enlace inalámbricas como los dispositivos inalámbricos.

nota

Esta API no afecta a los niveles de registro que se establecen mediante la API UpdateLogLevelsByResourceTypes.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iotwireless:ResetAllResourceLogLevels" ], "Resource": [ "arn:aws:iotwireless:us-east-1:123456789012:WirelessDevice/*", "arn:aws:iotwireless:us-east-1:123456789012:WirelessGateway/* ] } ] }

ResetResourceLogLevel

Elimina la anulación a nivel de registro de un identificador de recurso y un tipo de recurso determinados. El recurso puede ser una puerta de enlace inalámbrica o un dispositivo inalámbrico.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iotwireless:ResetResourceLogLevel" ], "Resource": [ "arn:aws:iotwireless:us-east-1:123456789012:WirelessDevice/012bc537-ab12-cd3a-d00e-1f0e20c1204a", ] } ] }

UpdateLogLevelsByResourceTypes

Establece niveles de registro predeterminados o niveles de registro por tipos de recursos. Puede usar esta API para las opciones de registro de dispositivos inalámbricos o puertas de enlace inalámbricas y controlar los mensajes de registro que se mostrarán en CloudWatch.

nota

Los eventos son opcionales y el tipo de evento está vinculado al tipo de recurso. Para obtener más información, consulte Eventos y tipos de recursos.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iotwireless:UpdateLogLevelsByResourceTypes" ], "Resource": [ "*" ] } ] }

Configuración de los niveles de registro de los recursos mediante la CLI

Esta sección describe cómo configurar los niveles de registro para los recursos de AWS IoT Wireless mediante la API o la AWS CLI.

Antes de usar la CLI:
Por qué usar la AWS CLI

De forma predeterminada, si crea el rol de IAM, IoTWirelessLogsRole, tal y como se describe en Creación de una función y una política de registro para AWS IoT Wireless, verá los registros de CloudWatch en la AWS Management Console que tienen un nivel de registro predeterminado de ERROR. Para cambiar el nivel de registro predeterminado de todos sus recursos o de recursos específicos, utilice la API de registro de AWS IoT Wireless o la CLI.

Cómo utilizar la AWS CLI

Las acciones de la API se pueden clasificar en los siguientes tipos en función de si desea configurar los niveles de registro para todos los recursos o para recursos específicos:

  • Las acciones de la API GetLogLevelsByResourceTypes y UpdateLogLevelsByResourceTypes pueden recuperar y actualizar los niveles de registro de todos los recursos de su cuenta que sean de un tipo específico, como una puerta de enlace inalámbrica o un dispositivo LoRaWAN o Sidewalk.

  • Las acciones de la API GetResourceLogLevel, PutResourceLogLevel y ResetResourceLogLevel pueden recuperar, actualizar y restablecer los niveles de registro de los recursos individuales que especifique mediante un identificador de recursos.

  • La acción de la API ResetAllResourceLogLevels restablece la anulación a nivel de registro a null para todos los recursos para los que especificó una anulación a nivel de registro mediante la API PutResourceLogLevel.

Para usar la CLI para configurar el registro específico de recursos para AWS IoT
nota

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

  1. De forma predeterminada, todos los recursos tienen el nivel de registro establecido en ERROR. Para establecer los niveles de registro predeterminados o los niveles de registro por tipo de recurso para todos los recursos de su cuenta, utilice el comando update-log-levels-by-resource-types. El siguiente ejemplo muestra cómo se puede crear un archivo JSON, Input.json, y proporcionarlo como entrada al comando de la CLI. Puede usar este comando para deshabilitar el registro de forma selectiva o anular el nivel de registro predeterminado para tipos específicos de recursos y eventos.

    { "DefaultLogLevel": "INFO", "WirelessDeviceLogOptions": [ { "Type": "Sidewalk", "LogLevel": "INFO", "Events": [ { "Event": "Registration", "LogLevel": "DISABLED" } ] }, { "Type": "LoRaWAN", "LogLevel": "INFO", "Events": [ { "Event": "Join", "LogLevel": "DISABLED" }, { "Event": "Rejoin", "LogLevel": "ERROR" } ] } ] "WirelessGatewayLogOptions": [ { "Type": "LoRaWAN", "LogLevel": "INFO", "Events": [ { "Event": "CUPS_Request", "LogLevel": "DISABLED" }, { "Event": "Certificate", "LogLevel": "ERROR" } ] } ] }

    donde:

    WirelessDeviceLogOptions

    La lista de opciones de registro de un dispositivo inalámbrico. Cada opción de registro incluye el tipo de dispositivo inalámbrico (Sidewalk o LoRaWAN) y una lista de opciones de registro de eventos del dispositivo inalámbrico. Cada opción de registro de eventos de un dispositivo inalámbrico puede incluir opcionalmente el tipo de evento y su nivel de registro.

    WirelessGatewayLogOptions

    La lista de opciones de registro de una puerta de enlace inalámbrica. Cada opción de registro incluye el tipo de puerta de enlace inalámbrica (LoRaWAN) y una lista de opciones de registro de eventos de la puerta de enlace inalámbrica. Cada opción de registro de eventos de una puerta de enlace inalámbrica puede incluir opcionalmente el tipo de evento y su nivel de registro.

    DefaultLogLevel

    El nivel de registro que se usará para todos los recursos. Los valores válidos son ERROR, INFO y DISABLED. El valor predeterminado es INFO.

    LogLevel

    El nivel de registro que desea usar para eventos y tipos de recursos individuales. Estos niveles de registro anulan el nivel de registro predeterminado, como el nivel de registro INFO de la puerta de enlace LoRaWAN, y los niveles de registro DISABLED y ERROR de los dos tipos de eventos.

    Ejecute el siguiente comando para proporcionar el archivo Input.json como entrada al comando. Este comando no proporciona ninguna salida.

    aws iotwireless update-log-levels-by-resource-types \ --cli-input-json Input.json

    Si desea eliminar las opciones de registro tanto para los dispositivos inalámbricos como para las puertas de enlace inalámbricas, ejecute el siguiente comando.

    { "DefaultLogLevel":"DISABLED", "WirelessDeviceLogOptions": [], "WireslessGatewayLogOptions":[] }
  2. El comando update-log-levels-by-resource-types no devuelve ningún resultado. Utilice el comando get-log-levels-by-resource-types para recuperar la información de registro específica del recurso. El comando devuelve el nivel de registro predeterminado y las opciones de registro del dispositivo inalámbrico y la puerta de enlace inalámbrica.

    nota

    El comando get-log-levels-by-resource-types no puede recuperar directamente los niveles de registro en la consola de CloudWatch. Puede usar el comando get-log-levels-by-resource-types para obtener la información de nivel de registro más reciente que haya especificado para sus recursos mediante el comando update-log-levels-by-resource-types.

    aws iotwireless get-log-levels-by-resource-types

    Al ejecutar el siguiente comando, devuelve la información de registro más reciente que especificó con update-log-levels-by-resource-types. Por ejemplo, si quita las opciones de registro del dispositivo inalámbrico, al ejecutar get-log-levels-by-resource-types se devolverá este valor como null.

    { "DefaultLogLevel": "INFO", "WirelessDeviceLogOptions": null, "WirelessGatewayLogOptions": [ { "Type": "LoRaWAN", "LogLevel": "INFO", "Events": [ { "Event": "CUPS_Request", "LogLevel": "DISABLED" }, { "Event": "Certificate", "LogLevel": "ERROR" } ] } ] }
  3. Para controlar los niveles de registro de las puertas de enlace inalámbricas individuales o los recursos de los dispositivos inalámbricos, utilice los siguientes comandos de la CLI:

    Como ejemplo de cuándo usar estos comandos, supongamos que tiene una gran cantidad de dispositivos inalámbricos o puertas de enlace en su cuenta que se están registrando. Si quiere solucionar los errores solo de algunos de los dispositivos inalámbricos, puede deshabilitar el registro en todos los dispositivos inalámbricos configurándola DefaultLogLevel como DISABLED, y utilizar put-resource-log-level para establecer LogLevel como ERROR únicamente en los dispositivos de su cuenta.

    aws iotwireless put-resource-log-level \ --resource-identifier --resource-type WirelessDevice --log-level ERROR

    En este ejemplo, el comando establece el nivel de registro como ERROR solo para el recurso de dispositivo inalámbrico especificado y los registros de todos los demás recursos están deshabilitados. Este comando no proporciona ninguna salida. Para recuperar esta información y comprobar que se han establecido los niveles de registro, utilice el comando get-resource-log-level.

  4. En el paso anterior, después de depurar el problema y resolver el error, puede ejecutar el comando reset-resource-log-level para restablecer el nivel de registro de ese recurso de null. Si usó el comando put-resource-log-level para configurar la anulación a nivel de registro de más de un dispositivo inalámbrico o recurso de puerta de enlace, por ejemplo, para solucionar errores en varios dispositivos, puede restablecer las anulaciones a nivel de registro a null para todos esos recursos mediante el comando reset-all-resource-log-levels.

    aws iotwireless reset-all-resource-log-levels

    Este comando no proporciona ninguna salida. Para recuperar la información de registro de los recursos, ejecute el comando get-resource-log-level.

Siguientes pasos

Ha aprendido a crear el rol de registro y a usar la API AWS IoT Wireless para configurar el registro de sus recursos de AWS IoT Core para LoRaWAN. A continuación, vaya a Monitorización de AWS IoT Wireless con CloudWatch Logs para obtener información sobre la monitorización de las entradas de registro.