Comment configurer les paramètres de journalisation par défaut pour AWS IoT Core ?

Lecture de 6 minute(s)
0

Je souhaite configurer les paramètres de journalisation par défaut pour les journaux AWS IoT dans AWS IoT Core afin de réduire à la fois les coûts et le trafic de données.

Brève description

**Remarque :**Cet article concerne uniquement la version 2 des journaux AWS IoT Core.

Il est recommandé de définir la journalisation par défaut sur un niveau de verbosité faible pour votre AWS IoT Core et de configurer la journalisation spécifique aux ressources à un niveau de verbosité plus élevé. Les niveaux de verbosité du journal incluent DISABLED (le plus bas), ERROR, WARN, INFO et DEBUG (le plus élevé).

**Important :**En fonction de la taille de votre parc AWS IoT Core, l'activation de niveaux de journalisation plus précis peut entraîner des coûts élevés et compliquer la résolution des problèmes. L'activation de niveaux de journalisation plus précis entraîne également une augmentation du trafic de données. Il est recommandé d'utiliser INFO ou DEBUG uniquement comme mesure temporaire lors du dépannage. Une fois le dépannage terminé, réinitialisez les niveaux de journalisation à un paramètre moins détaillé.

Résolution

Prérequis

Assurez-vous que l'interface de la ligne de commande AWS (AWS CLI) est installée localement avec les informations d'identification d'administrateur IoT. La région AWS par défaut pour l'interface de ligne de commande AWS doit pointer vers la région AWS ciblée. Vous devez avoir des clients connectés à vos points de terminaison AWS IoT Core et interagir avec eux, en tant qu'objets IoT enregistrés ou non enregistrés.

**Remarque :**Si vous recevez des erreurs lors de l'exécution des commandes de l'AWS CLI, assurez-vous que vous utilisez la version la plus récente de l'AWS CLI.

Définir les niveaux de journalisation par défaut

En définissant le niveau de journalisation par défaut pour vos journaux AWS IoT sur ERROR ou WARN, vous pouvez consulter les erreurs de journal ou les avertissements lorsqu'ils se produisent.

**Remarque :**Si vous contactez AWS Support pour obtenir de l'aide, vous devez fournir des journaux AWS IoT Core afin qu'ils puissent résoudre les problèmes. Ces informations sont considérées comme des données client et ne sont pas accessibles par AWS Support.

  1. Exécutez la commandelist-v2-logging-levels de l’AWS CLI pour connaître les configurations de niveau de journalisation actuellement appliquées :
aws iot list-v2-logging-levels

Vous recevez une erreur NotConfiguredException si les journaux AWS IoT ne sont pas configurés car aucun niveau de journalisation n'a été défini.

Si les journaux AWS IoT Core sont configurés mais désactivés, vous recevez une sortie similaire à la suivante :

{
 "logTargetConfigurations": [
 {
 "logTarget": {
 "targetType": "DEFAULT"
 },
 "logLevel": "DISABLED"
 }
 ]
}
  1. Exécutez la commande suivante pour confirmer le rôle AWS Identity and Access Management (IAM) actuellement configuré pour les journaux AWS IoT Core :
aws iot get-v2-logging-options

Vous recevez une sortie similaire à la suivante si un rôle IAM est configuré :

{
"roleArn": "arn:aws:iam::123456789012:role/service-role/iot-log-role",
"defaultLogLevel": "DISABLED",
"disableAllLogs": false
}

**Remarque :**Si aucun rôle IAM n'est configuré, AWS IoT Core ne peut pas envoyer de journaux à Amazon CloudWatch et vous ne pouvez pas utiliser cette fonctionnalité.

  1. Définissez la journalisation par défaut d'AWS IoT Core sur l'un des niveaux de journalisation les moins précis, tels que ERROR ou WARN. Cela peut être fait à l'aide de la console AWS IoT ou de l'interface de l’AWS CLI :

**Remarque :**Si vous êtes en train de résoudre un problème et que vous ne disposez pas d'attributs client spécifiques, vous pouvez définir temporairement le niveau de journalisation par défaut sur DEBUG. Le réglage du niveau DEBUG génère des coûts et un trafic de données importants, en fonction de la taille de la flotte et de la durée qu'elle a passée à ce niveau.

Console IoT AWS

  1. Connectez-vous à la console AWS IoT. **Remarque :**Assurez-vous de choisir la région AWS que vous souhaitez configurer.

  2. Dans le volet de navigation, choisissez** Paramètres**.

  3. SousJournaux, choisissez Gérer les journaux.

  4. Sous Rôle du journal, choisissez Créer un rôle. Entrez un nom pour le rôle, puis choisissez Créer.

  5. Sous Niveau de journalisation, choisissez l'un des niveaux de journalisation les moins précis (ERROR ou WARN).

  6. Choisissez Mettre à jour.

  7. Ouvrez la console IAM.

  8. Dans le volet de navigation, choisissez Rôles.

  9. Entrez le nom du rôle de journal que vous avez créé dans la zone de recherche, puis sélectionnez le rôle.

  10. Sous Résumé, notez l'ARN du rôle de journal. Cela ressemblera à arn:aws:iam : :123456789012:role/service-role/iot-log-role.

AWS CLI

  1. Créez un rôle IAM avec une politique IAM spécifique à utiliser pour votre service de journaux AWS IoT Core.

  2. Exécutez la commande suivante pour définir le niveau de journalisation par défaut sur WARN :

aws iot set-v2-logging-options \
 --role-arn arn:aws:iam::123456789012:role/service-role/iot-log-role \
 --default-log-level WARN

**Remarque :**Dans cet exemple, remplacez \ --role-arn par l'ARN du rôle IAM que vous avez créé. Remplacez WARN par le niveau de journalisation que vous souhaitez définir comme niveau par défaut.

  1. Exécutez la commande suivante pour vérifier que les modifications se reflètent dans vos niveaux de journalisation :
aws iot list-v2-logging levels

La sortie ressemble au message suivant :

{
 "logTargetConfigurations": [
 {
 "logTarget": {
 "targetType": "DEFAULT"
 },
 "logLevel": "WARN"
 }
 ]
}
  1. Exécutez la commande suivante pour vérifier que les modifications sont reflétées dans vos options de journalisation :
aws iot list-v2-logging-options

La sortie ressemble au message suivant :

{
 "roleArn": "arn:aws:iam::123456789012:role/service-role/iot-log-role",
 "defaultLogLevel": "WARN",
 "disableAllLogs": false
}

Surveiller les journaux générés

Il est recommandé de surveiller vos journaux IoT pour détecter tout problème ou problème. Vous pouvez utiliser la Console Amazon CloudWatch Logs ou l'AWS CLI pour surveiller vos journaux AWS IoT Core. Pour plus d'informations, consultez la section « Surveiller les entrées des journaux » de la section Comment gérer au mieux les niveaux de journalisation de mes journaux AWS IoT dans AWS IoT Core ?

Informations connexes

Surveillance d'AWS IoT

Comment configurer dynamiquement les niveaux de journalisation pour des ressources spécifiques dans AWS IoT Core ?

Comment configurer manuellement les niveaux de journalisation pour des ressources spécifiques dans AWS IoT Core ?

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a un an