

# Configuration de la journalisation des ressources AWS IoT Wireless
<a name="configure-resource-logging"></a>

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](cloud-watch-logs.md) 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
<a name="log-levels-resources"></a>

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](cwl-format.md).


**Ressources et niveaux de journal**  

| Nom | Valeurs possibles | Description | 
| --- | --- | --- | 
| logLevel |  `INFO`, `ERROR` ou `DISABLED`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/iot-wireless/latest/developerguide/configure-resource-logging.html)  | 
| 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\$1data, Downlink\$1data, CUPS\$1Request, 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](cwl-format.md).  | 

## API de journalisation AWS IoT Wireless
<a name="logging-api-roles"></a>

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](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_GetLogLevelsByResourceTypes.html)  |  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.  | <pre>{    <br />    "Version": "2012-10-17",    <br />    "Statement": [        <br />        {            <br />            "Effect": "Allow",            <br />            "Action": [                <br />                 "iotwireless:GetLogLevelsByResourceTypes"            <br />            ],            <br />            "Resource": [                <br />                "*"            <br />            ]        <br />        }<br />    ]<br />}</pre>  | 
|  [GetResourceLogLevel](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_GetResourceLogLevel.html)  | 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.  | <pre>{    <br />    "Version": "2012-10-17",    <br />    "Statement": [        <br />        {            <br />            "Effect": "Allow",            <br />            "Action": [                <br />                 "iotwireless:GetResourceLogLevel"            <br />            ],            <br />            "Resource": [                <br />                 "arn:aws:iotwireless:us-east-1:123456789012:WirelessDevice/012bc537-ab12-cd3a-d00e-1f0e20c1204a",           <br />            ]        <br />        }<br />    ]<br />}</pre> | 
|  [PutResourceLogLevel](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_PutResourceLogLevel.html)  | 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.  Cette API est limitée à 200 remplacements au niveau du journal par compte.   | <pre>{    <br />    "Version": "2012-10-17",    <br />    "Statement": [        <br />        {            <br />            "Effect": "Allow",            <br />            "Action": [                <br />                 "iotwireless:PutResourceLogLevel"            <br />            ],            <br />            "Resource": [                <br />                "arn:aws:iotwireless:us-east-1:123456789012:WirelessDevice/012bc537-ab12-cd3a-d00e-1f0e20c1204a",            <br />            ]        <br />        }<br />    ]<br />}</pre> | 
|  [ResetAllResourceLogLevels](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_ResetAllResourceLogLevels.html)  |  Supprime les dérogations au niveau du journal pour toutes les ressources, y compris les passerelles sans fil et les appareils sans fil.  Cette API n'affecte pas les niveaux de journal définis à l'aide de l'API `UpdateLogLevelsByResourceTypes`.   | <pre>{    <br />    "Version": "2012-10-17",    <br />    "Statement": [        <br />        {            <br />            "Effect": "Allow",            <br />            "Action": [                <br />                 "iotwireless:ResetAllResourceLogLevels"            <br />            ],            <br />            "Resource": [                <br />                "arn:aws:iotwireless:us-east-1:123456789012:WirelessDevice/*", <br />                "arn:aws:iotwireless:us-east-1:123456789012:WirelessGateway/*<br />            ]        <br />        }<br />    ]<br />}</pre> | 
|  [ResetResourceLogLevel](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_ResetResourceLogLevel.html)  |  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.  | <pre>{    <br />    "Version": "2012-10-17",    <br />    "Statement": [        <br />        {            <br />            "Effect": "Allow",            <br />            "Action": [                <br />                 "iotwireless:ResetResourceLogLevel"            <br />            ],            <br />            "Resource": [                <br />                "arn:aws:iotwireless:us-east-1:123456789012:WirelessDevice/012bc537-ab12-cd3a-d00e-1f0e20c1204a",            <br />            ]        <br />        }<br />    ]<br />}</pre> | 
|  [UpdateLogLevelsByResourceTypes](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_UpdateLogLevelsByResourceTypes.html)  |  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.  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](cwl-format.md#cwl-format-events-resources).   | <pre>{    <br />    "Version": "2012-10-17",    <br />    "Statement": [        <br />        {            <br />            "Effect": "Allow",            <br />            "Action": [                <br />                 "iotwireless:UpdateLogLevelsByResourceTypes"            <br />            ],            <br />            "Resource": [                <br />                "*"            <br />            ]        <br />        }<br />    ]<br />}</pre> | 

## Configurer les niveaux de journal des ressources à l'aide de la CLI
<a name="configure-logging-api"></a>

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](create-logging-role-policy.md). 

**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](create-logging-role-policy.md), 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 sur`ERROR`. 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 commande[https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iotwireless/update-log-levels-by-resource-types.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iotwireless/update-log-levels-by-resource-types.html). L'exemple suivant montre comment créer un fichier JSON, `Input.json`et 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":[]
   }
   ```

1. La commande **update-log-levels-by-resource-types** ne renvoie aucune sortie. Utilisez la commande [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iotwireless/get-log-levels-by-resource-types.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iotwireless/get-log-levels-by-resource-types.html) 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"
               }
             ]
           }
         ]
   }
   ```

1. 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 :
   + [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iotwireless/put-resource-log-level.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iotwireless/put-resource-log-level.html)
   + [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iotwireless/get-resource-log-level.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iotwireless/get-resource-log-level.html)
   + [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iotwireless/reset-resource-log-level.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iotwireless/reset-resource-log-level.html)

   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**.

1. À 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 [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iotwireless/reset-all-resource-log-levels.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iotwireless/reset-all-resource-log-levels.html).

   ```
   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
<a name="configure-logging-next-steps"></a>

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](cloud-watch-logs.md).