¿Cómo configuro manualmente los niveles de registro para recursos específicos en AWS IoT Core?

6 minutos de lectura
0

Quiero configurar manualmente el registro específico de los recursos para mis registros de AWS IoT Core.

Descripción breve

**Nota:**Este artículo se refiere únicamente a la V2 de los registros de AWS IoT Core.

Los registros de AWS IoT Core le permiten establecer niveles de registro específicos de los recursos para:

  • Clientes registrados como objetos
  • Clientes no registrados como objetos

Para ello, se crea un nivel de registro para un tipo de objetivo específico y se configura su nivel de detalle. Los tipos de objetivo incluyen THING\ _GROUP, CLIENT\ _ID, SOURCE\ _IP o PRINCIPAL\ _ID. Se recomienda configurar el registro predeterminado en un nivel de detalle inferior y configurar el registro específico de los recursos en un nivel de detalle superior.

Los niveles de detalle del registro incluyen DISABLED (el más bajo), ERROR, WARN, INFO y DEBUG (el más alto).

Importante: Según el tamaño de su flota de AWS IoT Core, activar niveles de registro más detallados puede generar costes elevados y dificultar la resolución de problemas. La activación del registro detallado también genera un mayor tráfico de datos. INFO o DEBUG solo deben usarse como medida temporal durante la resolución de problemas. Una vez finalizada la solución de problemas, los niveles de registro deben volver a ajustarse en una configuración menos detallada.

Resolución

Requisito previo

Asegúrese de tener la Interfaz de línea de comandos de AWS (AWS CLI) instalada localmente con las credenciales de permisos de administrador de IoT. La región de AWS predeterminada para la AWS CLI debe apuntar a la región de AWS objetivo. Debe tener clientes conectados a sus puntos de conexión de AWS IoT Core e interactuar con ellos, ya sea como objetos de IoT registrados o no registrados.

**Nota:**Si recibe errores al ejecutar los comandos de la AWS CLI, asegúrese de utilizar la versión más reciente de la AWS CLI.

Configuración del registro manual para los clientes registrados como objetos

Puede administrar el registro específico de recursos para varios objetos en un nivel de registro definido y, a continuación, agregar o eliminar objetos del grupo de objetos manualmente. Sus dispositivos y clientes deben estar registrados como objetos de IoT en AWS IoT Core y deben conectarse con el mismo nombre de objeto asociado al ID de cliente. A continuación, puede usar un grupo de objetos estático con un tipo de destino de THING\ _GROUP para administrar el grupo de objetos. Si configura un grupo de objeto principal dentro de una jerarquía, la configuración también se aplica a los grupos de objeto secundarios de la jerarquía.

**Nota:**Si utiliza grupos de objetos estáticos como tipo objetivo, debe tener en cuenta sus límites de cuota. Para obtener más información, consulte los límites y cuotas de recursos del grupo de objetos AWS IoT Core.

1.    Cree dos grupos de objetos estáticos. Puede hacerlo mediante la consola de AWS IoT o mediante el comando create-thing-group de la AWS CLI. En este ejemplo, se utiliza la AWS CLI.

aws iot create-thing-group --thing-group-name logging_level_info
aws iot create-thing-group --thing-group-name logging_level_debug

Nota: Si usa grupos de objetos existentes, reemplace logging\ _level\ _info y logging\ _level\ _debug por los nombres de sus grupos de objetos.

El resultado tiene un aspecto similar al siguiente mensaje:

{
 "thingGroupName": "logging_level_info",
 "thingGroupArn": "arn:aws:iot:eu-west1-1:123456789012:thinggroup/logging_level_info",
 "thingGroupId": "58dd497e-97fc-47d2-8745-422bb21234AA"
}
{
 "thingGroupName": "logging_level_debug",
 "thingGroupArn": "arn:aws:iot:eu-west-1:123456789012:thinggroup/logging_level_debug",
 "thingGroupId": "2a9dc698-9a40-4487-81ec-2cb4101234BB"
}

2.    Ejecute el comando ](https://docs.aws.amazon.com/iot/latest/apireference/API_SetV2LoggingLevel.html)setV2LoggingLevel[ para establecer los niveles de registro de los grupos de objetos: Nota: Los cambios en la configuración del nivel de registro pueden tardar hasta 10 minutos en reflejarse.

aws iot set-v2-logging-level \
 --log-target targetType=THING_GROUP,targetName=logging_level_info \
 --log-level INFO

aws iot set-v2-logging-level \
--log-target targetType=THING_GROUP,targetName=logging_level_debug \
--log-level DEBUG

Nota: Sustituya INFO y DEBUG por los niveles de registro que desee establecer para cada grupo de objetos.

3.    Ejecute el siguiente comando para confirmar que los niveles de registro están configurados correctamente:

aws iot list-v2-logging-levels

El resultado tiene un aspecto similar al siguiente mensaje:

{
 "logTargetConfigurations": [
 {
 "logTarget": {
 "targetType": "DEFAULT"
 },
 "logLevel": "WARN"
 },
 {
 "logTarget": {
 "targetType": "THING_GROUP",
 "targetName": "logging_level_debug"
 },
 "logLevel": "DEBUG"
 },
 {
 "logTarget": {
 "targetType": "THING_GROUP",
 "targetName": "logging_level_info"
 },
 "logLevel": "INFO"
 }
 ]
}

4.    Ejecute el comando ](https://docs.aws.amazon.com/iot/latest/apireference/API_AddThingToThingGroup.html)AddThingToThingGroup[ para añadir un objeto al grupo correspondiente:

aws iot add-thing-to-thing-group \
 --thing-name YourThingName1 \
 --thing-group-name logging_level_info

Nota: Reemplace YourThingName1 por el nombre de la objeto que vas a añadir al grupo de objetos.

Configuración del registro manual para los clientes no registrados como objetos

Si no registra sus objetos en AWS IoT Core, aún puede añadir niveles de registro específicos de los recursos para varios tipos de destinos. Estos tipos de objetivos son atributos de cliente e incluyen CLIENT\ _ID, SOURCE\ _IP o PRINCIPAL\ _ID. Si su dispositivo ya está registrado como un objeto de AWS IoT Core, puede seguir utilizando estos atributos de cliente para administrar los niveles de registro.

1.    Ejecute el ](https://docs.aws.amazon.com/iot/latest/apireference/API_SetV2LoggingLevel.html)setV2LoggingLevel[ para establecer el nivel de registro de un cliente específico:

aws iot set-v2-logging-level \
 --log-target targetType=CLIENT_ID,targetName=YourClientId \
 --log-level YourLogLevel

Nota: Para usar un tipo objetivo diferente, sustituya CLIENT\ _ID por un valor admitido que utilice el cliente de destino, como SOURCE\ _IP o PRINCIPAL\ _ID.

2.    Ejecute el siguiente comando para confirmar que los niveles de registro están configurados correctamente:

aws iot list-v2-logging-levels

El resultado tiene un aspecto similar al siguiente mensaje:

...
 {
 "logTarget": {
 "targetType": "CLIENT_ID",
 "targetName": "YourClientId"
 },
 "logLevel": "YourLogLevel"
 }
...

Supervisión de los registros generados

Se recomienda supervisar los registros de IoT para detectar dificultades o problemas. Puede utilizar la consola de registros de Amazon CloudWatch o la AWS CLI para supervisar sus registros de AWS IoT Core.  Para obtener más información, consulte la sección «Supervisión de las entradas de registro» de¿Cómo puedo gestionar mejor los niveles de registro de mis registros de AWS IoT en AWS IoT Core?

Información relacionada

Supervisión de AWS IoT

¿Cómo configuro los ajustes de registro predeterminados para AWS IoT Core?

¿Cómo configuro los niveles de registro de forma dinámica para recursos específicos en AWS IoT Core?

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace un año