Configuration de la AWS IoT journalisation - AWS IoT Core

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Configuration de la AWS IoT journalisation

Vous devez activer la journalisation à l'aide de la AWS IoT console, de la CLI ou de l'API avant de pouvoir surveiller et consigner AWS IoT l'activité.

Vous pouvez activer la journalisation pour tous les groupes d' AWS IoT objets ou uniquement pour certains d'entre eux. Vous pouvez configurer la AWS IoT journalisation à l'aide de la AWS IoT console, de la CLI ou de l'API ; toutefois, vous devez utiliser la CLI ou l'API pour configurer la journalisation pour des groupes d'objets spécifiques.

Lorsque vous réfléchissez à la configuration de votre AWS IoT journalisation, la configuration de journalisation par défaut détermine la manière dont AWS IoT l'activité sera enregistrée, sauf indication contraire. À partir de là, vous pouvez obtenir des journaux détaillés avec un niveau de journal par défaut de INFO ou DEBUG. Après avoir examiné les journaux initiaux, vous pouvez modifier le niveau de journal par défaut à un niveau moins détaillé tel que WARN ou ERROR, et définir un niveau de journal plus détaillé spécifique à la ressource sur les ressources qui pourraient nécessiter plus d'attention. Les niveaux de journal peuvent être modifiés quand vous le souhaitez.

Cette rubrique traite de la connexion côté cloud. AWS IoT Pour plus d'informations sur la journalisation et la surveillance côté appareil, voir Télécharger les journaux côté appareil vers. CloudWatch

Pour plus d'informations sur la journalisation et AWS IoT Greengrass la surveillance, consultez la section Connexion et surveillance AWS IoT Greengrass. Au 30 juin 2023, le logiciel AWS IoT Greengrass Core a migré vers AWS IoT Greengrass Version 2.

Configurer le rôle et la stratégie de journalisation

Avant de pouvoir activer la connexion AWS IoT, vous devez créer un rôle IAM et une politique AWS autorisant à surveiller l' AWS IoT activité en votre nom. Vous pouvez également générer un rôle IAM avec les politiques nécessaires dans la section Logs de la AWS IoT console.

Note

Avant d'activer la AWS IoT journalisation, assurez-vous de bien comprendre les autorisations d'accès aux CloudWatch journaux. Les utilisateurs ayant accès aux CloudWatch journaux peuvent consulter les informations de débogage de vos appareils. Pour plus d'informations, consultez Authentification et contrôle d'accès pour Amazon CloudWatch Logs.

Si vous vous attendez à des modèles de trafic élevés en AWS IoT Core raison des tests de charge, pensez à désactiver la journalisation de l'IoT pour éviter les ralentissements. Si un trafic élevé est détecté, notre service peut désactiver la connexion à votre compte.

Vous trouverez ci-dessous comment créer un rôle et une politique de journalisation pour les AWS IoT Core ressources.

Création d'un rôle de journalisation

Pour créer un rôle de journalisation, ouvrez le hub Roles de la console IAM et choisissez Create role.

  1. Sous Sélectionner une entité approuvée, choisissez AWS Service . Choisissez ensuite IoT sous Cas d'utilisation. Si vous ne voyez pas IoT, saisissez et recherchez IoT dans le menu déroulant Cas d'utilisation pour d'autres AWS services :. Sélectionnez Suivant.

  2. Sur la page Ajouter des autorisations, vous verrez les politiques automatiquement associées au rôle de service. Choisissez Suivant.

  3. Sur la page Name, review, and Create (Créer un rôle et vérifier), saisissez un Role name (Nom du rôle) etRole description (Description de Role) pour le role, puis Create role(Créer un rôle).

  4. Dans la liste des rôles, recherchez le rôle que vous avez créé, ouvrez-le et copiez l'ARN du rôle (logging-role-arn) à utiliser lorsque vous le souhaitezConfigurez la journalisation par défaut dans AWS IoT (console).

Stratégie de rôle de journalisation

Les documents de politique suivants fournissent la politique de rôle et la politique de confiance qui AWS IoT permettent de soumettre des entrées de journal CloudWatch en votre nom. Si vous avez également autorisé AWS IoT Core le LoRa WAN à envoyer des entrées de journal, vous verrez un document de politique créé pour vous qui enregistre les deux activités.

Note

Ces documents ont été créés pour vous lorsque vous avez créé le rôle de journalisation. Les documents contiennent des variables ${partition}, ${region}, et ${accountId}, que vous devez remplacer par vos valeurs.

Politique de rôle :

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:PutMetricFilter", "logs:PutRetentionPolicy", "iot:GetLoggingOptions", "iot:SetLoggingOptions", "iot:SetV2LoggingOptions", "iot:GetV2LoggingOptions", "iot:SetV2LoggingLevel", "iot:ListV2LoggingLevels", "iot:DeleteV2LoggingLevel" ], "Resource": [ "arn:${partition}:logs:${region}:${accountId}:log-group:AWSIotLogsV2:*" ] } ] }

Politique de confiance permettant de ne consigner que AWS IoT Core l'activité :

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "iot.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Configurez la journalisation par défaut dans AWS IoT (console)

Cette section décrit comment utiliser la AWS IoT console pour configurer la journalisation pour tous AWS IoT. Pour configurer la journalisation uniquement pour des groupes de choses spécifiques, vous devez utiliser l'interface de ligne de commande ou l'API. Pour de plus amples informations sur la configuration de la journalisation pour des groupes de choses spécifiques, veuillez consulter Configurer la connexion spécifique aux ressources AWS IoT (interface de ligne de commande).

Pour utiliser la AWS IoT console afin de configurer la journalisation par défaut pour tous AWS IoT
  1. Connectez-vous à la AWS IoT console. Pour plus d’informations, consultez Ouvrez la AWS IoT console.

  2. Dans le panneau de navigation de gauche, choisissez Paramètres. Dans la section Journaux de la page Paramètres, choisissez Gérer les journaux.

    La page Journaux affiche le rôle de journalisation et le niveau de verbosité utilisés par tous les AWS IoT.

    
              La page Logs affiche le rôle du log et le niveau de verbosité.
  3. sur la page Journaux choisissez Sélectionner le rôle pour spécifier un rôle que vous avez créé dans Création d'un rôle de journalisation, ou Créer un rôle pour créer un rôle à utiliser pour la journalisation.

    
              La page Logs affiche le rôle du journal et le niveau du journal.
  4. Choisissez le niveau de journal qui décrit le niveau de détail des entrées de journal que vous souhaitez voir apparaître dans les CloudWatch journaux.

  5. Choisissez Mettre à jour pour enregistrer vos modifications.

Une fois que vous avez activé la journalisation, visitez Afficher AWS IoT les journaux dans la CloudWatch console pour en savoir plus sur l'affichage des entrées du journal.

Configurer la connexion par défaut AWS IoT (CLI)

Cette section décrit comment configurer la journalisation globale pour à l'aide AWS IoT de la CLI.

Note

Vous avez besoin du nom de ressource Amazon (ARN) du rôle que vous souhaitez utiliser. Si vous devez créer un rôle à utiliser pour la journalisation, veuillez consulter Création d'un rôle de journalisation avant de continuer.

Le principal utilisé pour appeler l'API doit avoir Transmettre les autorisations de rôle pour votre rôle de journalisation.

Vous pouvez également exécuter cette procédure avec l'API en utilisant les méthodes de l' AWS API qui correspondent aux commandes CLI présentées ici.

Pour utiliser la CLI afin de configurer la journalisation par défaut pour AWS IoT
  1. Utilisez la commande set-v2-logging-options pour définir les options de journalisation de votre compte.

    aws iot set-v2-logging-options \ --role-arn logging-role-arn \ --default-log-level log-level

    où :

    --role-arn

    Le rôle ARN qui accorde AWS IoT l'autorisation d'écrire dans vos CloudWatch journaux dans Logs.

    --default-log-level

    Le niveau de journalisation à utiliser. Les valeurs valables sont ERROR, WARN, INFO, DEBUG ou DISABLED

    --no-disable-all-logs

    Paramètre facultatif qui active tous les AWS IoT enregistrements. Utilisez ce paramètre pour activer la journalisation lorsqu'elle est désactivée.

    --disable-all-logs

    Paramètre facultatif qui désactive toute AWS IoT journalisation. Utilisez ce paramètre pour désactiver la journalisation lorsqu'elle est activée.

  2. Utilisez la commande get-v2-logging-options pour obtenir vos options de journalisation actuelles.

    aws iot get-v2-logging-options

Une fois que vous avez activé la journalisation, visitez Afficher AWS IoT les journaux dans la CloudWatch console pour en savoir plus sur l'affichage des entrées du journal.

Note

AWS IoT continue de prendre en charge les anciennes commandes (set-logging-optionsetget-logging-options) permettant de configurer et d'obtenir une connexion globale sur votre compte. Lorsque ces commandes sont utilisées, les journaux obtenus contiennent du texte brut et non des charges de travail JSON et la latence de journalisation est généralement plus élevée. Aucune amélioration supplémentaire ne sera apportée à l'implémentation de ces anciennes commandes. Nous vous recommandons d'utiliser les versions « v2 » pour configurer vos options de journalisation et, si possible, de modifier toutes les applications existantes qui utilisent les anciennes versions.

Configurer la connexion spécifique aux ressources AWS IoT (interface de ligne de commande)

Cette section décrit comment configurer la journalisation spécifique aux ressources à l'aide de AWS IoT la CLI. La journalisation spécifique à la ressource vous permet de spécifier un niveau de journalisation pour un groupe d'objetsspécifique.

Les groupes d'objets peuvent contenir d'autres groupes d'objets pour créer une relation hiérarchique. Cette procédure décrit comment configurer la journalisation d'un seul groupe d'objets. Vous pouvez appliquer cette procédure au groupe d'objets parent dans une hiérarchie pour configurer la journalisation de tous les groupes d'objets de la hiérarchie. Vous pouvez également appliquer cette procédure à un groupe d'objets enfant pour remplacer la configuration de journalisation de son parent.

Outre les groupes d'objets, vous pouvez également enregistrer des cibles telles que l'ID client, l'IP source et l'ID principal d'un appareil.

Note

Vous avez besoin du nom de ressource Amazon (ARN) du rôle que vous souhaitez utiliser. Si vous devez créer un rôle à utiliser pour la journalisation, veuillez consulter Création d'un rôle de journalisation avant de continuer.

Le principal utilisé pour appeler l'API doit avoir Transmettre les autorisations de rôle pour votre rôle de journalisation.

Vous pouvez également exécuter cette procédure avec l'API en utilisant les méthodes de l' AWS API qui correspondent aux commandes CLI présentées ici.

Pour utiliser la CLI afin de configurer la journalisation spécifique aux ressources pour AWS IoT
  1. Utilisez la commande set-v2-logging-options pour définir les options de journalisation de votre compte.

    aws iot set-v2-logging-options \ --role-arn logging-role-arn \ --default-log-level log-level

    où :

    --role-arn

    Le rôle ARN qui accorde AWS IoT l'autorisation d'écrire dans vos CloudWatch journaux dans Logs.

    --default-log-level

    Le niveau de journalisation à utiliser. Les valeurs valables sont ERROR, WARN, INFO, DEBUG ou DISABLED

    --no-disable-all-logs

    Paramètre facultatif qui active tous les AWS IoT enregistrements. Utilisez ce paramètre pour activer la journalisation lorsqu'elle est désactivée.

    --disable-all-logs

    Paramètre facultatif qui désactive toute AWS IoT journalisation. Utilisez ce paramètre pour désactiver la journalisation lorsqu'elle est activée.

  2. Utilisez la commande set-v2-logging-level pour configurer la journalisation spécifique à une ressource pour un groupe de choses.

    aws iot set-v2-logging-level \ --log-target targetType=THING_GROUP,targetName=thing_group_name \ --log-level log_level
    --log-target

    Type et nom de la ressource pour laquelle vous configurez la journalisation. La target_type valeur doit être l'une des suivantes : THING_GROUP | CLIENT_ID | SOURCE_IP |PRINCIPAL_ID. La valeur du paramètre log-target peut être du texte, comme indiqué dans l'exemple de commande précédent, ou une chaîne JSON, telle que l'exemple suivant.

    aws iot set-v2-logging-level \ --log-target '{"targetType": "THING_GROUP","targetName": "thing_group_name"}' \ --log-level log_level
    --log-level

    Le niveau de journalisation utilisé lors de la génération de journaux pour la ressource spécifiée. Les valeurs valides sont : DEBUG, INFO, ERROR, WARN et DISABLED

    aws iot set-v2-logging-level \ --log-target targetType=CLIENT_ID,targetName=ClientId1 \ --log-level DEBUG
  3. Utilisez la commande list-v2-logging-levels pour répertorier les niveaux de journalisation actuellement configurés.

    aws iot list-v2-logging-levels
  4. Utilisez la commande delete-v2-logging-level pour supprimer un niveau de journalisation spécifique à la ressource, tel que les exemples suivants.

    aws iot delete-v2-logging-level \ --target-type "THING_GROUP" \ --target-name "thing_group_name"
    aws iot delete-v2-logging-level \ --target-type=CLIENT_ID --target-name=ClientId1
    --targetType

    La target_type valeur doit être l'une des suivantes : THING_GROUP | CLIENT_ID | SOURCE_IP |PRINCIPAL_ID.

    --targetName

    Nom du groupe d'objets pour lequel le niveau de journalisation doit être supprimé.

Une fois que vous avez activé la journalisation, visitez Afficher AWS IoT les journaux dans la CloudWatch console pour en savoir plus sur l'affichage des entrées du journal.

Niveaux de journalisation.

Ces niveaux de journal déterminent les événements qui sont consignés et s'appliquent aux niveaux de journal par défaut et spécifiques aux ressources.

ERROR

Toute erreur qui entraîne l'échec d'une opération.

Les journaux contiennent uniquement des informations ERROR.

WARN

Tout ce qui peut éventuellement entraîner des incohérences dans le système, mais qui n'entraîne pas nécessairement l'échec de l'opération.

Les journaux contiennent des informations ERROR et WARN.

INFO

Informations générales sur le flux des objets.

Les journaux contiennent des informations INFO, ERROR et WARN.

DEBUG

Informations qui peuvent être utiles lors du débogage d'un problème.

Les journaux contiennent des informations DEBUG, INFO, ERROR et WARN.

DISABLED

Toute la journalisation est désactivée.