Comment gérer les niveaux de journalisation de mes journaux AWS IoT dans AWS IoT Core ?

Lecture de 5 minute(s)
0

Je souhaite appliquer les meilleures pratiques lorsque je configure mes niveaux de journalisation AWS IoT dans AWS IoT Core afin de réduire les coûts et le trafic de données.

Brève description

Remarque : la résolution suivante concerne uniquement les journaux AWS IoT Core v2.

Il est recommandé de savoir quelles ressources AWS IoT Core vous devez surveiller et à quel niveau. Divisez vos ressources AWS IoT Core, puis attribuez à chaque segment un niveau de journalisation approprié. Vous pouvez définir des niveaux de journalisation par défaut ou des niveaux de journalisation spécifiques pour vos ressources.

Par exemple, vous pouvez configurer la journalisation par défaut pour obtenir un niveau de journalisation moins détaillé, tel que ERROR ou WARN. Lorsque vous configurez une journalisation par défaut, cette configuration est appliquée à toutes les ressources pour lesquelles aucune journalisation spécifique n'est configurée. Pour obtenir un niveau plus détaillé, tel que INFO ou DEBUG, vous devez configurer une journalisation spécifique à la ressource. Vous pouvez configurer la journalisation au niveau des ressources pour différents types de cibles, tels que THING_GROUP, CLIENT_ID, SOURCE_IP, ou PRINCIPAL_ID.

Vous pouvez utiliser simultanément la journalisation par défaut et la journalisation spécifique aux ressources.

Important : en fonction de la taille de votre flotte AWS IoT Core, des niveaux de journalisation plus détaillés peuvent entraîner des coûts plus élevés et être plus difficiles à résoudre. Des niveaux de journalisation plus détaillé génèrent également un trafic de données plus élevé. Il est recommandé d'utiliser INFO ou DEBUG uniquement pour résoudre temporairement les problèmes. Une fois le problème résolu, réinitialisez les niveaux de journalisation à un niveau moins détaillé. Pour en savoir plus sur les niveaux de journalisation, consultez la page Niveaux de journalisation.

Résolution

Prérequis :

  • Vous avez installé l'interface de la ligne de commande AWS (AWS CLI) sur votre machine locale à l'aide des informations d'identification d'administrateur AWS IoT. La région AWS par défaut pour l'interface de la ligne de commande AWS doit pointer vers la région ciblée.
  • Vous disposez de clients connectés à votre AWS IoT Core, en tant qu'objets IoT enregistrés ou non.

Remarque : si des erreurs surviennent lorsque vous exécutez des commandes de l’interface de la ligne de commande AWS (AWS CLI), consultez la page Résoudre les erreurs liées à AWS CLI. Vérifiez également que vous utilisez bien la version la plus récente de l’AWS CLI.

Utilisation de la journalisation par défaut pour réduire les coûts et le trafic de données

Lorsque vous définissez le niveau de journalisation par défaut pour vos journaux AWS IoT sur ERROR ou WARN, vous pouvez consulter les avertissements ou les erreurs de journal. Ces niveaux très détaillés permettent de réduire vos coûts et votre trafic de données. Pour en savoir plus, consultez la page Comment configurer les paramètres de journalisation par défaut pour AWS IoT Core ?

Remarque : si vous ouvrez une demande d’assistance auprès d’AWS Support, vous devez fournir les journaux AWS IoT Core.

Enregistrement manuel des ressources

Pour en savoir plus sur la journalisation manuelle des ressources, consultez la page Comment configurer manuellement les niveaux de journalisation pour des ressources spécifiques dans AWS IoT Core ?

Journalisation dynamique des ressources

Pour en savoir plus sur la journalisation dynamique des ressources, consultez la page Comment configurer dynamiquement les niveaux de journalisation pour des ressources spécifiques dans AWS IoT Core ?

Surveillance des entrées du journal

Vous pouvez surveiller les entrées de vos journaux AWS IoT à l'aide de la console Amazon CloudWatch ou de l'AWS CLI.

Console CloudWatch

Pour surveiller vos journaux AWS IoT dans la console CloudWatch, consultez la page Affichage des journaux AWS IoT dans la console CloudWatch.

AWS CLI

Pour obtenir vos journaux dans l'AWS CLI, exécutez la commande filter-log-events. Remplacez YourStartTimeInMilliseconds par votre heure de début en millisecondes :

aws logs filter-log-events --log-group-name AWSIotLogsV2 \
 --start-time YourStartTimeInMilliseconds

Remarque : vous pouvez utiliser le modèle --filter-pattern pour rechercher des attributs spécifiques de journaux. Pour en savoir plus, consultez la page Syntaxe des modèles de filtres pour les filtres de métriques, les filtres d'abonnements, les filtres d'événements du journal et Live Tail.

La valeur logLevel indique le niveau de journalisation configuré pour la cible. Dans cet exemple, le niveau de journalisation de la cible est 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
}

Remarque : CLIENT_ID est disponible uniquement lorsque vous vous connectez à AWS IoT Core à l'aide des protocoles MQTT ou MQTT via WSS. Le protocole HTTPS ne prend pas en charge les ID clients. Utilisez plutôt les types de cibles SOURCE_IP ou PRINCIPAL_ID.

Modification ou suppression de niveaux de journalisation

Vous pouvez modifier le niveau de journalisation par défaut et le niveau de journalisation spécifique à la ressource à tout moment. L'exécution des modifications peut toutefois prendre jusqu'à 10 minutes.

Exécutez la commande delete-v2-logging-level de l'AWS CLI. Remplacez YourTargetName par le nom de votre cible :

aws iot delete-v2-logging-level \
 --target-type "THING_GROUP | CLIENT_ID | SOURCE_IP | PRINCIPAL_ID" \
 --target-name YourTargetName

Informations connexes

Points de terminaison et quotas AWS IoT Device Management

Surveillance d'AWS IoT

Tarification d'AWS IoT Device Management

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 10 mois