Configuration 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 AWS IoT journalisation

Vous devez activer la journalisation à l'aide du AWS IoT consoleCLI, ou API avant de pouvoir surveiller et enregistrer AWS IoT activité.

Vous pouvez activer la journalisation pour tous AWS IoT ou uniquement des groupes d'objets spécifiques. Vous pouvez configurer AWS IoT connexion à l'aide du AWS IoT consoleCLI, ou API ; toutefois, vous devez utiliser le CLI ou API pour configurer la journalisation pour des groupes d'objets spécifiques.

Lorsque vous réfléchissez à la manière de configurer votre AWS IoT journalisation, la configuration de journalisation par défaut détermine comment 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 la surveillance AWS IoT Greengrass, voir Enregistrement et surveillance dans AWS IoT Greengrass. Au 30 juin 2023, le AWS IoT Greengrass Le logiciel de base 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 IAM rôle et une politique qui donnent AWS autorisation de surveiller AWS IoT activité en votre nom. Vous pouvez également générer un IAM rôle avec les politiques nécessaires dans la section Logs du AWS IoT console.

Note

Avant d'activer 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 dans AWS IoT Core en 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 AWS IoT Core ressources.

Création d'un rôle de journalisation

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

  1. Sous Sélectionner une entité de confiance, sélectionnez AWS Un service. Choisissez ensuite IoT sous Cas d'utilisation. Si vous ne voyez pas IoT, saisissez et recherchez IoT dans les cas d'utilisation pour d'autres AWS services : menu déroulant. 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-le ARN (logging-role-arn) à utiliser lorsque vousConfigurer 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 permettent AWS IoT pour soumettre des entrées de journal CloudWatch en votre nom. Si vous avez également autorisé AWS IoT Core pour LoRa WAN soumettre 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 comportent des variables, $ {partition}, $ {région}, 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 en matière de journalisation uniquement AWS IoT Core activité :

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

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

Cette section décrit comment utiliser le AWS IoT console pour configurer la journalisation pour tous AWS IoT. Pour configurer la journalisation uniquement pour des groupes d'objets spécifiques, vous devez utiliser le CLI ouAPI. Pour de plus amples informations sur la configuration de la journalisation pour des groupes de choses spécifiques, veuillez consulter Configuration de la connexion spécifique aux ressources AWS IoT (CLI).

Pour utiliser le plugin AWS IoT console pour configurer la journalisation par défaut pour tous AWS IoT
  1. Connectez-vous au AWS IoT console. Pour de plus amples informations, veuillez consulter Ouvrez le fichier 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 Logs affiche le rôle de journalisation et le niveau de verbosité utilisés par tous 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 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 Visualisation AWS IoT se connecte à 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 AWS IoT en utilisant leCLI.

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 le API must have Transmission des autorisations de rôle pour votre rôle de journalisation.

Vous pouvez également effectuer cette procédure API à l'aide du AWS APIqui correspondent aux CLI commandes présentées ici.

Pour utiliser le CLI pour 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 octroie AWS IoT autorisation d'écrire dans vos journaux dans CloudWatch Logs.

    --default-log-level

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

    --no-disable-all-logs

    Un paramètre optionnel qui active tous AWS IoT journalisation. Utilisez ce paramètre pour activer la journalisation lorsqu'elle est désactivée.

    --disable-all-logs

    Un paramètre optionnel qui désactive tout 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 Visualisation AWS IoT se connecte à 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. Sachez que lorsque ces commandes sont utilisées, les journaux qui en résultent contiennent du texte brut plutôt que des JSON charges utiles et que 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.

Configuration de la connexion spécifique aux ressources AWS IoT (CLI)

Cette section décrit comment configurer la journalisation spécifique aux ressources pour AWS IoT en utilisant leCLI. 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 le API must have Transmission des autorisations de rôle pour votre rôle de journalisation.

Vous pouvez également effectuer cette procédure API à l'aide du AWS APIqui correspondent aux CLI commandes présentées ici.

Pour utiliser le CLI pour 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 octroie AWS IoT autorisation d'écrire dans vos journaux dans CloudWatch Logs.

    --default-log-level

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

    --no-disable-all-logs

    Un paramètre optionnel qui active tous AWS IoT journalisation. Utilisez ce paramètre pour activer la journalisation lorsqu'elle est désactivée.

    --disable-all-logs

    Un paramètre optionnel qui désactive tout 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 JSON chaîne, comme dans 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 Visualisation AWS IoT se connecte à 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 ERROR des informations.

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 incluent ERROR des WARN informations.

INFO

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

Les journaux incluent INFOERROR, et des WARN informations.

DEBUG

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

Les journaux incluent DEBUGINFO,ERROR, et des WARN informations.

DISABLED

Toute la journalisation est désactivée.