¿Cómo administro los niveles de registro de mis registros de AWS IoT en AWS IoT Core?
Quiero seguir las prácticas recomendadas al configurar mis niveles de registro de AWS IoT en AWS IoT Core para reducir los costes y el tráfico de datos.
Descripción breve
Nota: Este artículo se refiere únicamente a la V2 de los registros de AWS IoT Core.
Se recomienda saber qué recursos de AWS IoT Core deben supervisarse y a qué nivel. Puede segmentar sus recursos de AWS IoT Core y asignar a cada segmento un nivel de registro adecuado. Puede establecer niveles de registro predeterminados o niveles de registro específicos para sus recursos.
Por ejemplo, configure el registro predeterminado para disponer de un nivel de registro menos detallado, como ERROR o WARN. Al configurar el registro predeterminado, la configuración se aplica a todos los recursos que no tienen configurado el registro específico de los recursos. Para tener un nivel más detallado, como INFO o DEBUG, configure el registro específico de los recursos. Puede configurar el registro a nivel de recursos para diferentes tipos de objetivo, como THING_GROUP, CLIENT_ID, SOURCE_IP, o PRINCIPAL_ID.
El registro predeterminado y el registro específico de recursos se pueden utilizar simultáneamente.
Importante: Según el tamaño de su flota de AWS IoT Core, los niveles de registro más detallados puede generar costes elevados y dificultar la resolución de problemas. Los niveles de registro más detallados también generan un mayor tráfico de datos. Se recomienda utilizar INFO o DEBUG solo como medida temporal para solucionar problemas. Una vez completada la solución de problemas, se recomienda restablecer los niveles de registro a una configuración menos detallada. Para obtener más información sobre los niveles de registro, consulte Log levels.
Resolución
Requisitos previos:
- Ha instalado la Interfaz de la línea de comandos de AWS (AWS CLI) en su máquina local con las credenciales de permisos de administrador de AWS IoT. La región de AWS predeterminada para la AWS CLI debe apuntar a la región objetivo.
- Tiene clientes conectados a su AWS IoT Core, ya sea como objetos de AWS IoT registrados o no registrados.
Nota: Si se muestran errores al ejecutar comandos de la Interfaz de la línea de comandos de AWS (AWS CLI), consulte Solucionar errores AWS CLI. Además, asegúrese de utilizar la versión más reciente de la AWS CLI.
Utilización del registro predeterminado para reducir los costos y el tráfico de datos
Al establecer el nivel de registro predeterminado para sus registros de AWS IoT en ERROR o WARN, puede revisar los errores o advertencias del registro cuando se produzcan. Estos niveles detallados reducen los costes y el tráfico de datos. Para obtener más información, consulte ¿Cómo configuro los ajustes de registro predeterminados para AWS IoT Core?
Nota: Al crear un caso de AWS Support, debe proporcionar los registros de AWS IoT Core.
Cómo registrar recursos manualmente
Para obtener información sobre cómo registrar recursos manualmente, consulte ¿Cómo configuro manualmente los niveles de registro para recursos específicos en AWS IoT Core?
Cómo registrar recursos de forma dinámica
Para obtener más información sobre cómo registrar recursos de forma dinámica, consulte ¿Cómo configuro los niveles de registro de forma dinámica para recursos específicos en AWS IoT Core?
Supervisión de entradas de registro
Puede supervisar las entradas de registro de AWS IoT con la consola de Amazon CloudWatch o la AWS CLI.
Consola CloudWatch
Para supervisar los registros de AWS IoT en la consola de CloudWatch, consulte Viewing AWS IoT logs in the CloudWatch console.
AWS CLI
Para obtener los registros en la AWS CLI, ejecute el comando filter-log-events. Sustituya YourStartTimeInMilliseconds por su hora de inicio en milisegundos:
aws logs filter-log-events --log-group-name AWSIotLogsV2 \ --start-time YourStartTimeInMilliseconds
Nota: Puede usar --filter-pattern para buscar atributos de registro específicos. Para obtener más información, consulte Filter and pattern syntax for metric filters, subscription filters, filter log events, and Live Tail.
El valor logLevel es el nivel de registro que está configurado para el objetivo. En este ejemplo, el nivel de registro del objetivo es INFO:
{ "timestamp": "2017-08-10 15:37:23.476", "logLevel": "INFO", "traceId": "20b23f3f-d7f1-feae-169f-82263394fbdb", "accountId": "123456789012", "status": "Success", "eventType": "Connect", "protocol": "MQTT", "clientId": "abf27092886e49a8a5c1922749736453", "principalId": "145179c40e2219e18a909d896a5340b74cf97a39641beec2fc3eeafc5a123456", "sourceIp": "123.123.123.123", "sourcePort": 13490 }
Nota: CLIENT_ID solo está disponible cuando se conecta a AWS IoT Core mediante los protocolos MQTT o MQTT a través de WSS. El protocolo HTTPS no admite identificadores de cliente. Utilice los tipos de objetivo SOURCE_IP o PRINCIPAL_ID en su lugar.
Edición o eliminación de niveles de registro
Puede cambiar el nivel de registro tanto para el nivel predeterminado como para recursos específicos en cualquier momento. Los cambios pueden tardar hasta 10 minutos en completarse.
Ejecute el comando delete-v2-logging-level en la AWS CLI. Sustituya YourTargetName el nombre de su objetivo:
aws iot delete-v2-logging-level \ --target-type "THING_GROUP | CLIENT_ID | SOURCE_IP | PRINCIPAL_ID" \ --target-name YourTargetName
Información relacionada
Contenido relevante
- OFICIAL DE AWSActualizada hace 2 años
- ¿Cómo configuro los niveles de registro de forma dinámica para recursos específicos en AWS IoT Core?OFICIAL DE AWSActualizada hace 2 años
- OFICIAL DE AWSActualizada hace 2 años
- OFICIAL DE AWSActualizada hace 3 años