Configuration de la journalisation des ressources AWS IoT Wireless - AWS IoT Wireless

Configuration de la journalisation des ressources AWS IoT Wireless

Pour configurer la journalisation des ressources AWS IoT Wireless, vous pouvez utiliser l'API ou la CLI. Lorsque vous commencez à surveiller les ressources AWS IoT Wireless, vous pouvez utiliser la configuration par défaut. Pour ce faire, vous pouvez ignorer cette rubrique et passer à Surveiller AWS IoT Wireless à l'aide de CloudWatch Logs pour la surveillance de vos journaux.

Une fois que vous avez commencé à surveiller les journaux, vous pouvez utiliser la CLI pour modifier les niveaux de journalisation en optant pour une option plus détaillée, telle que la fourniture d'informations INFO et l'activation de la journalisation ERROR pour davantage de ressources.

Ressources et niveaux de journalisation AWS IoT Wireless

Avant d'utiliser l'API ou la CLI, consultez le tableau suivant pour en savoir plus sur les différents niveaux de journalisation et les ressources pour lesquelles vous pouvez la configurer. Le tableau indique les paramètres que vous voyez dans les journaux CloudWatch lorsque vous surveillez les ressources. La façon dont vous configurez la journalisation de vos ressources déterminera les journaux que vous verrez dans la console.

Pour plus d'informations sur ce à quoi ressemble un exemple de journaux CloudWatch et sur la manière dont vous pouvez utiliser ces paramètres pour enregistrer des informations utiles sur les ressources AWS IoT Wireless, consultez Afficher les entrées du journal CloudWatch AWS IoT Wireless.

Ressources et niveaux de journal
Nom Valeurs possibles Description
logLevel

INFO, ERROR ou DISABLED

  • ERROR : affiche toute erreur entraînant l’échec d’une opération. Les journaux contiennent uniquement des informations ERROR.

  • INFO : Fournit des informations de haut niveau sur le flux des objets. Les journaux contiennent des informations INFO et ERROR.

  • DISABLED : Désactiver toute la journalisation.

resource

WirelessGateway ou WirelessDevice

Le type de ressource, qui peut être WirelessGateway, ou WirelessDevice.

wirelessGatewayType LoRaWAN Le type de passerelle sans fil, quand resource est WirelessGateway, qui est toujours LoRaWAN.
wirelessDeviceType LoRaWAN ou Sidewalk Le type de périphérique sans fil, quand resource est WirelessDevice, qui peut être LoRaWAN ou Sidewalk.
wirelessGatewayId - L'identifiant de la passerelle sans fil, quand resource est WirelessGateway.
wirelessDeviceId - L'identifiant de l’appareil sans fil, quand resource est WirelessDevice.
event Join, Rejoin, Registration, Uplink_data, Downlink_data, CUPS_Request, et Certificate Le type d'événement enregistré, qui varie selon que la ressource que vous enregistrez est un appareil sans fil ou une passerelle sans fil. Pour en savoir plus, consultez Afficher les entrées du journal CloudWatch AWS IoT Wireless.

API de journalisation AWS IoT Wireless

Vous pouvez utiliser les actions d'API suivantes pour configurer la journalisation des ressources. Le tableau présente également un exemple de politique IAM que vous devez créer pour utiliser les actions d'API. La section suivante décrit l'utilisation des API pour configurer les niveaux de journalisation de vos ressources.

Journalisation des actions de l'API
Nom d'API Description Exemple de politique IAM

GetLogLevelsByResourceTypes

Renvoie les niveaux de journal par défaut actuels, ou les niveaux de journal par type de ressource, qui peuvent inclure des options de journal pour les appareils sans fil ou les passerelles sans fil.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iotwireless:GetLogLevelsByResourceTypes" ], "Resource": [ "*" ] } ] }

GetResourceLogLevel

Renvoie le remplacement au niveau du journal pour un identifiant de ressource et un type de ressource donnés. La ressource peut être un dispositif sans fil ou une passerelle sans fil.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iotwireless:GetResourceLogLevel" ], "Resource": [ "arn:aws:iotwireless:us-east-1:123456789012:WirelessDevice/012bc537-ab12-cd3a-d00e-1f0e20c1204a", ] } ] }

PutResourceLogLevel

Définit le remplacement du niveau de journal pour un identifiant de ressource et un type de ressource donnés. La ressource peut être une passerelle sans fil ou un appareil sans fil.

Note

Cette API est limitée à 200 remplacements au niveau du journal par compte.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iotwireless:PutResourceLogLevel" ], "Resource": [ "arn:aws:iotwireless:us-east-1:123456789012:WirelessDevice/012bc537-ab12-cd3a-d00e-1f0e20c1204a", ] } ] }

ResetAllResourceLogLevels

Supprime les dérogations au niveau du journal pour toutes les ressources, y compris les passerelles sans fil et les appareils sans fil.

Note

Cette API n'affecte pas les niveaux de journal définis à l'aide de l'API UpdateLogLevelsByResourceTypes.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iotwireless:ResetAllResourceLogLevels" ], "Resource": [ "arn:aws:iotwireless:us-east-1:123456789012:WirelessDevice/*", "arn:aws:iotwireless:us-east-1:123456789012:WirelessGateway/* ] } ] }

ResetResourceLogLevel

Supprime le remplacement du niveau de journal pour un identifiant de ressource et un type de ressource donnés. La ressource peut être une passerelle sans fil ou un appareil sans fil.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iotwireless:ResetResourceLogLevel" ], "Resource": [ "arn:aws:iotwireless:us-east-1:123456789012:WirelessDevice/012bc537-ab12-cd3a-d00e-1f0e20c1204a", ] } ] }

UpdateLogLevelsByResourceTypes

Définissez un niveau de journal par défaut, ou des niveaux de journal par type de ressource. Vous pouvez utiliser cette API pour les options de journal pour les appareils sans fil ou les passerelles sans fil, et contrôler les messages de journal qui seront affichés dans CloudWatch.

Note

Les événements sont facultatifs et le type d'événement est lié au type de ressource. Pour en savoir plus, consultez Événements et types de ressources.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iotwireless:UpdateLogLevelsByResourceTypes" ], "Resource": [ "*" ] } ] }

Configurer les niveaux de journal des ressources à l'aide de la CLI

Cette section décrit comment configurer les niveaux de journal pour les ressources AWS IoT Wireless à l'aide de l'API ou AWS CLI.

Avant d'utiliser la CLI :
  • Assurez-vous d'avoir créé la politique IAM pour l'API pour laquelle vous souhaitez exécuter la commande CLI, comme décrit précédemment.

  • 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éer un rôle et une politique de journalisation pour AWS IoT Wireless.

Pourquoi utiliser AWS CLI

Par défaut, si vous créez le rôle IAM IoTWirelessLogsRole, comme décrit dans Créer un rôle et une politique de journalisation pour AWS IoT Wireless, les journaux CloudWatch dans AWS Management Console dont le niveau de journal par défaut est de ERROR. Pour modifier le niveau de journal par défaut pour toutes vos ressources ou pour des ressources spécifiques, utilisez l'API ou la CLI de journalisation AWS IoT Wireless.

Comment utiliser AWS CLI

Les actions d'API peuvent être classées dans les types suivants selon que vous souhaitez configurer les niveaux de journal pour toutes les ressources ou pour des ressources spécifiques :

  • Les actions GetLogLevelsByResourceTypes de l'API UpdateLogLevelsByResourceTypes peuvent récupérer et mettre à jour les niveaux de journal de toutes les ressources de votre compte qui sont d'un type spécifique, telles qu'une passerelle sans fil, un appareil LoRaWAN ou Sidewalk.

  • Les actions d'API GetResourceLogLevel, PutResourceLogLevel, et ResetResourceLogLevel peuvent récupérer, mettre à jour et réinitialiser les niveaux de journal des ressources individuelles que vous spécifiez à l'aide d'un identifiant de ressource.

  • L'action de l'API ResetAllResourceLogLevels réinitialise le remplacement au niveau du journal null pour toutes les ressources pour lesquelles vous avez spécifié un remplacement au niveau du journal à l'aide de l'API PutResourceLogLevel.

Pour utiliser l'interface de ligne de commande pour configurer la journalisation spécifique aux ressources pour AWS IoT
Note

Vous pouvez également effectuer cette procédure avec l’API en utilisant les méthodes de l’API AWS qui correspondent aux commandes d’interface de ligne de commande indiquées ici.

  1. Par défaut, le niveau de journal de toutes les ressources est défini surERROR. Pour définir les niveaux de journal par défaut, ou les niveaux de journal par type de ressource pour toutes les ressources de votre compte, utilisez la commandeupdate-log-levels-by-resource-types. L'exemple suivant montre comment créer un fichier JSON, Input.jsonet le fournir comme entrée à la commande CLI. Vous pouvez utiliser cette commande pour désactiver la journalisation de manière sélective ou remplacer le niveau de journal par défaut pour des types spécifiques de ressources et d'événements.

    { "DefaultLogLevel": "INFO", "WirelessDeviceLogOptions": [ { "Type": "Sidewalk", "LogLevel": "INFO", "Events": [ { "Event": "Registration", "LogLevel": "DISABLED" } ] }, { "Type": "LoRaWAN", "LogLevel": "INFO", "Events": [ { "Event": "Join", "LogLevel": "DISABLED" }, { "Event": "Rejoin", "LogLevel": "ERROR" } ] } ] "WirelessGatewayLogOptions": [ { "Type": "LoRaWAN", "LogLevel": "INFO", "Events": [ { "Event": "CUPS_Request", "LogLevel": "DISABLED" }, { "Event": "Certificate", "LogLevel": "ERROR" } ] } ] }

    où :

    WirelessDeviceLogOptions

    Liste des options de journal pour un appareil sans fil. Chaque option de journal inclut le type d'appareil sans fil (Sidewalk ou LoRaWAN) et une liste des options de journal des événements de l’appareil sans fil. Chaque option de journal des événements de l’appareil sans fil peut éventuellement inclure le type d'événement et son niveau de journal.

    WirelessGatewayLogOptions

    La liste des options de journal pour une passerelle sans fil. Chaque option de journal inclut le type de passerelle sans fil (LoRaWAN) et une liste d'options de journal d'événements de passerelle sans fil. Chaque option de journal des événements de la passerelle sans fil peut éventuellement inclure le type d'événement et son niveau de journal.

    DefaultLogLevel

    Le niveau de journal qui sera utilisé pour toutes vos ressources. Les valeurs valides sont ERROR, INFO et DISABLED. La valeur par défaut est INFO.

    LogLevel

    Le niveau de journal que vous souhaitez utiliser pour les différents types de ressources et événements. Ces niveaux de journal remplacent le niveau de journal par défaut, tel que le niveau de journal INFO pour la passerelle LoRaWAN, les niveaux de journal DISABLED et ERROR pour les deux types d'événements.

    Exécutez la commande suivante pour fournir le fichier Input.json en entrée de la commande. Cette commande ne produit aucune sortie.

    aws iotwireless update-log-levels-by-resource-types \ --cli-input-json Input.json

    Si vous souhaitez supprimer les options de journal pour les appareils sans fil et les passerelles sans fil, exécutez la commande suivante.

    { "DefaultLogLevel":"DISABLED", "WirelessDeviceLogOptions": [], "WireslessGatewayLogOptions":[] }
  2. La commande update-log-levels-by-resource-types ne renvoie aucune sortie. Utilisez la commande get-log-levels-by-resource-types pour récupérer les informations de journalisation spécifiques aux ressources. La commande renvoie le niveau de journal par défaut, ainsi que les options de journal d l’appareil sans fil et de la passerelle sans fil.

    Note

    La commande get-log-levels-by-resource-types ne peut pas récupérer directement les niveaux de journal dans la console CloudWatch. Vous pouvez utiliser la commande get-log-levels-by-resource-types pour obtenir les dernières informations au niveau du journal que vous avez spécifiées pour vos ressources à l'aide de la commande update-log-levels-by-resource-types.

    aws iotwireless get-log-levels-by-resource-types

    Lorsque vous exécutez la commande suivante, elle renvoie les dernières informations de journalisation que vous avez spécifiées avec update-log-levels-by-resource-types. Par exemple, si vous supprimez les options de journal des appareils sans fil, l'exécution de get-log-levels-by-resource-types renverra cette valeur sous la forme null.

    { "DefaultLogLevel": "INFO", "WirelessDeviceLogOptions": null, "WirelessGatewayLogOptions": [ { "Type": "LoRaWAN", "LogLevel": "INFO", "Events": [ { "Event": "CUPS_Request", "LogLevel": "DISABLED" }, { "Event": "Certificate", "LogLevel": "ERROR" } ] } ] }
  3. Pour contrôler les niveaux de journal pour des passerelles sans fil ou des ressources d’appareil sans fil individuelles, utilisez les commandes CLI suivantes :

    Pour obtenir un exemple d'utilisation de ces CLI, supposons que votre compte comporte un grand nombre d’appareils ou de passerelles sans fil qui sont enregistrés. Si vous souhaitez résoudre les erreurs pour certains de vos appareils sans fil uniquement, vous pouvez désactiver la journalisation pour tous les appareils sans fil en réglant le paramètre DefaultLogLevel sur DISABLED, et utiliser le put-resource-log-level pour définir le LogLevel sur ERROR uniquement pour les appareils de votre compte.

    aws iotwireless put-resource-log-level \ --resource-identifier --resource-type WirelessDevice --log-level ERROR

    Dans cet exemple, la commande définit le niveau de journal ERROR uniquement pour la ressource de périphérique sans fil spécifiée et les journaux de toutes les autres ressources sont désactivés. Cette commande ne produit aucune sortie. Pour récupérer ces informations et vérifier que les niveaux de journal ont été définis, utilisez la commande get-resource-log-level.

  4. À l'étape précédente, après avoir débogué le problème et résolu l'erreur, vous pouvez exécuter la commande reset-resource-log-level pour réinitialiser le niveau de journal de cette ressource à null. Si vous avez utilisé la commande put-resource-log-level pour définir la dérogation au niveau du journal pour plusieurs appareils sans fil ou ressources de passerelle, par exemple pour résoudre les erreurs relatives à plusieurs appareils, vous pouvez rétablir les remplacements au niveau du journal null pour toutes ces ressources à l'aide de la commande reset-all-resource-log-levels.

    aws iotwireless reset-all-resource-log-levels

    Cette commande ne produit aucune sortie. Pour récupérer les informations de journalisation des ressources, exécutez la commande get-resource-log-level.

Étapes suivantes

Vous avez appris à créer le rôle de journalisation et à utiliser l'API AWS IoT Wireless pour configurer la journalisation de vos ressources AWS IoT Core for LoRaWAN. Ensuite, pour en savoir plus sur la surveillance des entrées de votre journal, rendez-vous sur Surveiller AWS IoT Wireless à l'aide de CloudWatch Logs.