

# Contrôle de votre flotte de ressources sans fil en temps réel à l’aide d’un analyseur de réseau
<a name="network-analyzer-overview"></a>

L’analyseur de réseau utilise une connexion WebSocket par défaut pour recevoir les journaux des messages de suivi en temps réel pour vos ressources de connectivité sans fil. En utilisant l’analyseur de réseau, vous pouvez ajouter les ressources que vous souhaitez suivre, activer une session de messagerie de suivi et commencer à recevoir des messages de suivi en temps réel.

Pour suivre vos ressources, vous pouvez également utiliser Amazon CloudWatch. Pour utiliser CloudWatch, vous devez configurer un rôle IAM pour configurer la journalisation, puis attendre que les entrées du journal soient affichées dans la console. L’analyseur de réseau réduit considérablement le temps nécessaire pour établir une connexion et commencer à recevoir des messages de suivi, vous fournissant ainsi des informations de journal juste à temps pour votre flotte de ressources. Pour en savoir plus sur la surveillance à l’aide de CloudWatch, consultez [Surveillance de vos ressources AWS IoT Wireless à l’aide d’Amazon CloudWatch Logs](monitoring-cloudwatch.md).

En réduisant le temps de configuration et en utilisant les informations contenues dans les messages de suivi, vous pouvez contrôler vos ressources plus efficacement, obtenir des informations pertinentes et résoudre les erreurs. Vous pouvez surveiller à la fois les appareils LoRaWAN et les passerelles LoRaWAN. Par exemple, vous pouvez rapidement identifier une erreur de connexion lors de l’intégration de l’un de vos appareils LoRaWAN. Pour corriger l’erreur, utilisez les informations contenues dans le journal des messages de suivi fourni.

**Comment utiliser l’analyseur de réseau**  
Pour surveiller votre flotte de ressources et commencer à recevoir des messages de suivi, effectuez les étapes suivantes.

1. 

**Création de la configuration de l’analyseur de réseau et ajout de ressources**  
Avant de pouvoir activer la messagerie de suivi, créez une configuration d’analyseur de réseau et ajoutez des ressources à votre configuration. Commencez par spécifier les paramètres de configuration, qui incluent les niveaux de journalisation et les informations de trame des appareils sans fil. Ajoutez ensuite les ressources sans fil que vous souhaitez surveiller à l’aide de la passerelle sans fil et des identifiants d’appareils sans fil. 

1. 

**Diffusez des messages de suivi avec WebSockets**  
Vous pouvez générer une URL de demande présignée à l’aide des informations d’identification de votre rôle IAM pour diffuser les messages de suivi de l’analyseur de réseau à l’aide du protocole WebSocket.

1. 

**Activer la session de messagerie de suivi et suivre les messages de suivi**  
Pour commencer à recevoir des messages de suivi, activez votre session de messagerie de suivi. Pour éviter des coûts supplémentaires, vous pouvez désactiver ou fermer votre session de messagerie de suivi de l’analyseur de réseau.

 La vidéo suivante décrit le fonctionnement de l’analyseur de réseau AWS IoT Core for LoRaWAN et vous guide lors du processus d’ajout de ressources et de suivi des activités de jointure à l’aide de l’analyseur de réseau.

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/Qk9pkhL8xjc/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/Qk9pkhL8xjc)


Les rubriques suivantes indiquent comment créer votre configuration, ajouter des ressources et activer votre session de messagerie de suivi.

**Topics**
+ [Ajouter le rôle IAM nécessaire pour l’analyseur de réseau](network-analyzer-iam.md)
+ [Création d’une configuration de l’analyseur de réseau et ajout de ressources](network-analyzer-create-resources.md)
+ [Diffusez les messages de suivi de l’analyseur de réseau avec WebSockets](network-analyzer-api.md)
+ [Afficher et suivre les journaux des messages de suivi de l’analyseur de réseau en temps réel](network-analyzer-logs.md)
+ [Déboguez et dépannez vos groupes de multicast et vos tâches FUOTA à l’aide de l’analyseur de réseau](lorawan-network-analyzer-fuota.md)

# Ajouter le rôle IAM nécessaire pour l’analyseur de réseau
<a name="network-analyzer-iam"></a>

Lorsque vous utilisez l’analyseur de réseau, vous devez autoriser un utilisateur à utiliser les opérations d’API [UpdateNetworkAnalyzerConfiguration](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_UpdateNetworkAnalyzerConfiguration.html) et [GetNetworkAnalyzerConfiguration](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_GetNetworkAnalyzerConfiguration.html) pour accéder aux ressources de l’analyseur de réseau. Vous trouverez ci-dessous les politiques IAM que vous utilisez pour accorder des autorisations.

## Politiques IAM pour l’analyseur de réseau
<a name="network-analyzer-policies"></a>

Utilisez l’une des actions suivantes :
+ 

**Stratégie d’accès sans fil complet**  
Accordez à AWS IoT Core for LoRaWAN la stratégie d’accès complet en joignant la politique **AWSIoTWirelessFullAccess** à votre rôle. Pour plus d’informations, consultez [`AWSIoTWirelessFullAccess` Récapitulatif de la politique](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/AWSIoTWirelessFullAccess$serviceLevelSummary).
+ 

**Politique IAM étendue pour l’API Obtenir et mettre à jour**  
Créez la politique IAM suivante en accédant à la page [Créer une politique](https://console.aws.amazon.com/iam/home#/policies$new?step=edit) de la console IAM, puis sur l’onglet **Éditeur visuel** :

  1. Choisissez **IoTWireless** pour le **service.**

  1. **Sous **Niveau d’accès**, développez **Lire** et choisissez **GetNetworkAnalyzerConfiguration**, puis développez **Écrire** et choisissez UpdateNetworkAnalyzerConfiguration.**

  1. Choisissez **Suivant : balises **, puis entrez un **nom** pour la politique, tel que **IoTWirelessNetworkAnalyzerPolicy.** Choisissez **Créer une politique**.

  L’illustration suivante montre la politique **IoTWirelessNetworkAnalyzerPolicy** que vous avez créée. Pour plus d’informations sur la création de politiques, consultez [Création de politiques IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create).

  ```
  {
      "Version": "2012-10-17",
      "Statement": [
          {
              "Sid": "VisualEditor0",
              "Effect": "Allow",
              "Action": [
                  "iotwireless:GetNetworkAnalyzerConfiguration",
                  "iotwireless:UpdateNetworkAnalyzerConfiguration"
              ],
              "Resource": "*"
          }
      ]
  }
  ```

**Politique délimitée pour accéder à des ressources spécifiques**  
Pour configurer un contrôle d’accès plus précis, vous devez ajouter les passerelles et les appareils sans fil dans le champ **Ressource**. La politique suivante utilise l’ARN générique pour accorder l’accès à toutes les passerelles et tous les appareils. Vous pouvez contrôler l’accès à des passerelles et des appareils spécifiques à l’aide de `WirelessGatewayId` et de `WirelessDeviceId`.

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "iotwireless:GetNetworkAnalyzerConfiguration",
                "iotwireless:UpdateNetworkAnalyzerConfiguration"
            ],
            "Resource": [
                "arn:aws:iotwireless:*:{accountId}:WirelessDevice/*", 
                "arn:aws:iotwireless:*:{accountId}:WirelessGateway/*", 
                "arn:aws:iotwireless:*:{accountId}:NetworkAnalyzerConfiguration/*"
            ]
        }
    ]
}
```

Pour autoriser un utilisateur à utiliser l’analyseur de réseau, mais pas à utiliser des passerelles ou des appareils sans fil, utilisez la politique suivante. Sauf indication contraire, les autorisations d’utilisation des ressources sont implicitement refusées.

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "iotwireless:GetNetworkAnalyzerConfiguration",
                "iotwireless:UpdateNetworkAnalyzerConfiguration"
            ],
            "Resource": [                
                "arn:aws:iotwireless:*:{accountId}:NetworkAnalyzerConfiguration/*"
            ]
        }
    ]
}
```

## Étapes suivantes
<a name="network-analyzer-iam-next"></a>

Maintenant que vous avez créé la politique, vous pouvez ajouter des ressources à la configuration de votre analyseur de réseau et recevoir des informations de suivi pour ces ressources. Pour en savoir plus, consultez [Création d’une configuration de l’analyseur de réseau et ajout de ressources](network-analyzer-create-resources.md).

# Création d’une configuration de l’analyseur de réseau et ajout de ressources
<a name="network-analyzer-create-resources"></a>

Avant de pouvoir diffuser des messages de suivi, créez une configuration d’analyseur de réseau et ajoutez les ressources que vous souhaitez suivre à cette configuration. Lorsque vous créez une configuration, vous pouvez :
+ Spécifiez un nom de configuration et, éventuellement, une description.
+ Personnalisez les paramètres de configuration tels que les informations sur la trame et le niveau de détail de vos messages de journal.
+ Ajoutez les ressources que vous souhaitez suivre. Les ressources peuvent être des appareils et/ou des passerelles sans fil.

Les paramètres de configuration que vous spécifiez détermineront les informations de messagerie de suivi que vous recevrez pour les ressources que vous ajoutez à la configuration. Vous souhaiterez peut-être également créer plusieurs configurations en fonction de votre cas d’utilisation de contrôle.

Le résultat est de créer une configuration et d’ajouter des ressources.

**Topics**
+ [Créer une configuration de l’analyseurr de réseau](network-analyzer-create.md)
+ [Ajouter des ressources et mettre à jour la configuration de l’analyseur de réseau](network-analyzer-resources.md)

# Créer une configuration de l’analyseurr de réseau
<a name="network-analyzer-create"></a>

Avant de pouvoir surveiller vos passerelles ou vos appareils sans fil, vous devez créer une configuration d’analyseur de réseau. Lors de la création de la configuration, vous devez uniquement spécifier un nom de configuration. Vous pouvez personnaliser vos paramètres de configuration et ajouter les ressources que vous souhaitez contrôler à votre configuration, même après sa création. Les paramètres de configuration déterminent les informations de messagerie de suivi que vous recevrez pour ces ressources.

En fonction des ressources que vous souhaitez suivre et du niveau d’informations que vous souhaitez recevoir à leur sujet, vous souhaiterez peut-être créer plusieurs configurations. Par exemple, vous pouvez créer une configuration qui affiche uniquement les informations d’erreur pour un ensemble de passerelles de votre Compte AWS. Vous pouvez également créer une configuration qui affiche toutes les informations relatives à un appareil sans fil que vous souhaitez contrôler.

Les sections suivantes présentent les différents paramètres de configuration et indiquent comment créer votre configuration.

## Paramètres de configuration
<a name="network-analyzer-config-settings"></a>

Lorsque vous créez ou mettez à jour la configuration de votre analyseur de réseau, vous pouvez également personnaliser les paramètres suivants pour filtrer les informations du flux de journaux.
+ 

**Informations sur la trame**  
Ce paramètre correspond aux informations de trame relatives aux ressources de votre appareil sans fil pour les messages de suivi. Les informations de trame peuvent être utilisées pour déboguer la communication entre votre serveur réseau et les appareils finaux. Il est activé par défaut.
+ 

**Niveaux de journalisation.**  
Vous pouvez consulter les journaux d’informations ou d’erreurs, ou vous pouvez désactiver la journalisation.
  + 

**Infos**  
Les journaux dont le niveau de journal est **Info** sont plus détaillés et contiennent à la fois des flux de journaux d’erreurs et des flux de journaux d’informations. Les journaux d’informations peuvent être utilisés pour visualiser les modifications apportées à l’état d’un appareil ou d’une passerelle.
**Note**  
La collecte de flux de journaux plus détaillés peut entraîner des coûts supplémentaires. Pour de plus amples informations sur la tarification, veuillez consulter [AWS IoT CoreTarification](https://aws.amazon.com/iot-core/pricing/). 
  + 

**Erreur**  
Les journaux dont le niveau de journalisation est **Erreur** sont moins détaillés et n’affichent que les informations relatives aux erreurs. Vous pouvez utiliser ces journaux lorsqu’une application présente une erreur, telle qu’une erreur de connexion à un appareil. En utilisant les informations du flux de journaux, vous pouvez identifier et résoudre les erreurs liées aux ressources de votre flotte.

## Créer une configuration à l’aide de la console
<a name="network-analyzer-create-configuration-console"></a>

Vous pouvez créer une configuration d’analyseur de réseau et personnaliser les paramètres facultatifs à l’aide de la console AWS IoT ou de l’API AWS IoT Wireless. Vous pouvez également créer plusieurs configurations et supprimer ultérieurement les configurations que vous n’utilisez plus.

**Créer une configuration de l’analyseur de réseau**  


1. Ouvrez le [Centre de l’analyseur de réseau de la consoleAWS IoT](https://console.aws.amazon.com/iot/home#/wireless/networkAnalyzer) et choisissez **Créer une configuration**.

1. Spécifier les paramètres de configuration.
   + 

**Nom, description et balises**  
Spécifiez un **Nom de configuration** unique contenant uniquement des lettres, des chiffres, des traits d’union ou des traits de soulignement. Utilisez le champ **Description** facultatif pour fournir des informations sur la configuration. Utilisez le champ **Balises** pour ajouter des paires clé-valeur de métadonnées relatives à la configuration. Pour plus d’informations sur la dénomination et la description de vos ressources, veuillez consulter [Description de vos ressources AWS IoT Wireless](iotwireless-describe-resources.md).
   + 

**Paramètres de configuration**  
Choisissez si vous souhaitez désactiver les informations sur les trames et utilisez l’option **Sélectionner les niveaux de journalisation** pour choisir les niveaux de journalisation que vous souhaitez utiliser pour vos journaux de messages de suivi. Choisissez **Suivant**.

1. Ajoutez des ressources à votre configuration. Vous pouvez soit ajouter vos ressources maintenant, soit choisir **Créer**, puis ajouter vos ressources ultérieurement. Pour ajouter des ressources ultérieurement, choisissez **Créer**.

   Sur la **page Centre de l’analyseur de réseau**, vous verrez la configuration que vous avez créée ainsi que ses paramètres. Pour afficher les détails de la nouvelle configuration, choisissez le nom de la configuration. 

**Supprimer votre configuration de l’analyseur de réseau**  


Vous pouvez créer plusieurs configurations de l’analyseur de réseau en fonction des ressources que vous souhaitez contrôler et du niveau d’informations de suivi que vous souhaitez recevoir à leur sujet. 

**Pour supprimer des configurations depuis la console**

1. Accédez au [Centre de l’analyseur de réseau de la AWS IoT console](https://console.aws.amazon.com/iot/home#/wireless/networkAnalyzer) et choisissez la configuration que vous souhaitez supprimer.

1. Choisissez **Actions**, puis **Supprimer**.

## Création de configuration à l’aide de l'API
<a name="network-analyzer-create-configuration-api"></a>

Pour créer une configuration d’analyseur de réseau à l’aide de l’API, utilisez l’opération d’API [CreateNetworkAnalyzerConfiguration](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_CreateNetworkAnalyzerConfiguration.html) ou la commande CLI [create-network-analyzer-configuration](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/create-network-analyzer-configuration.html).

Lorsque vous créez votre configuration, il vous suffit de spécifier un nom de configuration. Vous pouvez également utiliser cette opération d’API pour spécifier les paramètres de configuration et ajouter des ressources lors de la création de la configuration. Sinon, vous pouvez les spécifier ultérieurement à l’aide de l’opération d’API [UpdateNetworkAnalyzerConfiguration](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_UpdateNetworkAnalyzerConfiguration.html) ou de l’interface de ligne de commande [update-network-analyzer-configuration](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/update-network-analyzer-configuration.html).
+ 

**Créer une configuration**  
Lorsque vous créez votre configuration, vous devez spécifier un nom. Par exemple, la commande suivante crée une configuration en fournissant uniquement un nom et, éventuellement, une description. Par défaut, les informations de trame sont activées dans la configuration et utilise un niveau de journalisation de `INFO`.

  ```
  aws iotwireless create-network-analyzer-configuration \ 
      --configuration-name My_Network_Analyzer_Config \ 
      --description "My first network analyzer configuration"
  ```

  L’exécution de cette commande affiche l’ARN et l’ID de la configuration de votre analyseur de réseau.

  ```
  {
      "Arn": "arn:aws:iotwireless:us-east-1:123456789012:NetworkAnalyzerConfiguration/12345678-a1b2-3c45-67d8-e90fa1b2c34d",
      "Id": "12345678-a1b2-3c45-67d8-e90fa1b2c34d"
  }
  ```
+ 

**Création d’une configuration à l’aide de ressources**  
Pour personnaliser ces paramètres de configuration, utilisez le paramètre `trace-content`. Pour ajouter des ressources, utilisez les paramètres `WirelessDevices` et `WirelessGateways` pour spécifier les passerelles et/ou les appareils que vous souhaitez ajouter à votre configuration. Par exemple, la commande suivante personnalise les paramètres de configuration et ajoute à votre configuration les ressources sans fil, spécifiées par leur `WirelessGatewayID` et leur `WirelessDeviceID`.

  ```
  aws iotwireless create-network-analyzer-configuration \ 
      --configuration-name My_NetworkAnalyzer_Config \ 
      --trace-content WirelessDeviceFrameInfo=DISABLED,LogLevel="ERROR" \ 
      --wireless-gateways "12345678-a1b2-3c45-67d8-e90fa1b2c34d" "90123456-de1f-2b3b-4c5c-bb1112223cd1"   
      --wireless-devices "1ffd32c8-8130-4194-96df-622f072a315f"
  ```

  L’exemple suivant illustre la sortie de l’exécution de la commande :

  ```
  {
      "Arn": "arn:aws:iotwireless:us-east-1:123456789012:NetworkAnalyzerConfiguration/12345678-a1b2-3c45-67d8-e90fa1b2c34d",
      "Id": "12345678-a1b2-3c45-67d8-e90fa1b2c34d"
  }
  ```

**Liste des configurations de l’analyseur de réseau**  
Vous pouvez créer plusieurs configurations d’analyseur de réseau en fonction des ressources que vous souhaitez contrôleur et du niveau de détail des informations de messagerie de suivi que vous souhaitez recevoir pour ces ressources. Après avoir créé ces configurations, vous pouvez utiliser l’opération d’API [ListNetworkAnalyzerConfigurations](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_ListNetworkAnalyzerConfigurations.html) ou la commande CLI [list-network-analyzer-configuration](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/list-network-analyzer-configuration.html) pour obtenir une liste de ces configurations.

```
aws iotwireless list-network-analyzer-configurations
```

L’exécution de cette commande affiche toutes les configurations de l’analyseur de réseau de votre Compte AWS. Vous pouvez également utiliser le paramètre `max-results` pour spécifier le nombre de configurations que vous souhaitez afficher. La sortie de l’exécution de cette commande est présenté ci-dessous :

```
{
   "NetworkAnalyzerConfigurationList": [ 
      { 
         "Arn": "arn:aws:iotwireless:us-east-1:123456789012:NetworkAnalyzerConfiguration/12345678-a1b2-3c45-67d8-e90fa1b2c34d",
         "Name": "My_Network_Analyzer_Config1"
      },
      { 
         "Arn": "arn:aws:iotwireless:us-east-1:123456789012:NetworkAnalyzerConfiguration/90123456-a1a2-9a87-65b4-c12bf3c2d09a",
         "Name": "My_Network_Analyzer_Config2"
      }
   ]
}
```

**Supprimer votre configuration de l’analyseur de réseau**  
Vous pouvez supprimer une configuration que vous n’utilisez plus à l’aide de l’opération d’API [DeleteNetworkAnalyzerConfiguration](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_DeleteNetworkAnalyzerConfiguration.html) ou de la commande CLI [delete-network-analyzer-configuration.](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/delete-network-analyzer-configuration.html)

```
aws iotwireless delete-network-analyzer-configuration \ 
    --configuration-name My_NetworkAnalyzer_Config
```

Exécuter cette commande ne fournit aucune sortie. Pour afficher les configurations disponibles, vous pouvez utiliser l’opération d’API `ListNetworkAnalyzerConfigurations`.

## Étapes suivantes
<a name="network-analyzer-create-next"></a>

Maintenant que vous avez créé une configuration d’analyseur de réseau, vous pouvez ajouter des ressources à votre configuration ou mettre à jour vos paramètres de configuration. Pour en savoir plus, consultez [Ajouter des ressources et mettre à jour la configuration de l’analyseur de réseau](network-analyzer-resources.md). 

# Ajouter des ressources et mettre à jour la configuration de l’analyseur de réseau
<a name="network-analyzer-resources"></a>

Avant de pouvoir activer la messagerie de suivi, vous devez ajouter des ressources à votre configuration. Vous ne pouvez utiliser qu’une seule configuration d’analyseur de réseau par défaut. AWS IoT Core for LoRaWAN attribue le nom **NetworkAnalyzerConfig\$1Default** à cette configuration et ce champ ne peut pas être modifié. Cette configuration est automatiquement ajoutée à votre Compte AWS lorsque vous utilisez l’analyseur de réseau à partir de la console.

Vous pouvez ajouter les ressources que vous souhaitez surveiller à cette configuration par défaut. Les ressources peuvent être des appareils LoRaWAN et/ou des passerelles LoRaWAN. Pour ajouter chaque ressource individuelle à la configuration, utilisez les identifiants des passerelles et des d’appareils sans fil.

## Paramètres de configuration
<a name="resources-config-settings"></a>

Pour configurer les paramètres, commencez par ajouter des ressources à votre configuration par défaut et activez la messagerie de suivi. Une fois que vous avez reçu les journaux des messages de suivi, vous pouvez également personnaliser les paramètres suivants pour mettre à jour votre configuration par défaut et filtrer le flux de journaux.
+ 

**Informations sur la trame**  
Ce paramètre correspond aux informations de trame des ressources de votre appareil sans fil pour les messages de suivi. Les informations de trame sont activées par défaut et peuvent être utilisées pour déboguer la communication entre votre serveur de réseau et les terminaux.
+ 

**Niveaux de journalisation.**  
Vous pouvez consulter les journaux d’informations ou d’erreurs, ou vous pouvez désactiver la journalisation.
  + 

**Infos**  
Les journaux dont le niveau de journalisation est **Info** sont plus détaillés et contiennent des flux de journaux qui sont informatifs et comportent des erreurs. Les journaux informatifs peuvent être utilisés pour visualiser les modifications apportées à l’état d’un appareil ou d’une passerelle.
**Note**  
La collecte de flux de journaux plus détaillés peut entraîner des coûts supplémentaires. Pour de plus amples informations sur la tarification, veuillez consulter [AWS IoT CoreTarification](https://aws.amazon.com/iot-core/pricing/). 
  + 

**Erreur**  
Les journaux dont le niveau de journalisation est **Erreur** sont moins détaillés et n’affichent que les informations relatives aux erreurs. Vous pouvez utiliser ces journaux lorsqu’une application présente une erreur, telle qu’une erreur de connexion à un appareil. En utilisant les informations du flux de journaux, vous pouvez identifier et résoudre les erreurs liées aux ressources de votre flotte. 

## Prérequis
<a name="resources-prereq"></a>

Avant de pouvoir ajouter des ressources, vous devez avoir intégré à AWS IoT Core for LoRaWAN les passerelles et les appareils que vous souhaitez surveiller. Pour en savoir plus, consultez [Connexion de passerelles et d’appareils à AWS IoT Core for LoRaWAN](lorawan-getting-started.md).

## Ajout de ressources et mise à jour de la configuration de l’analyseur de réseau à l’aide de la console
<a name="add-resources-console"></a>

Vous pouvez ajouter des ressources et personnaliser les paramètres facultatifs à l’aide de la console AWS IoT ou de l’API AWS IoT Wireless. Outre les ressources, vous pouvez également modifier vos paramètres de configuration et enregistrer la configuration mise à jour.

**Pour ajouter des ressources à votre configuration (console)**  


1. Ouvrez le [hub Analyseur réseau de la console AWS IoT](https://console.aws.amazon.com/iot/home#/wireless/networkAnalyzer) et choisissez la configuration d’analyseur de réseau **NetworkAnalyzerConfig\$1Default**.

1. Choisissez **Ajouter des ressources**.

1. Ajoutez les ressources que vous souhaitez contrôler à l’aide de la passerelle sans fil et des identifiants d’appareils sans fil. Vous pouvez ajouter jusqu’à 250 passerelles ou appareils sans fil. Pour ajouter votre ressource :

   1. Utilisez l’onglet **Afficher les passerelles** ou **Afficher les appareils** pour afficher la liste des passerelles et des appareils que vous avez ajoutés à votre Compte AWS.

   1. Copiez le `WirelessDeviceID` ou le `WirelessGatewayID` de l’appareil ou de la passerelle que vous souhaitez surveiller et entrez la valeur d’identifiant de la ressource correspondante.

   1. Pour continuer à ajouter des ressources, choisissez **Ajouter une passerelle** ou **Ajouter un appareil**, puis ajoutez votre passerelle ou votre appareil sans fil. Si vous avez ajouté une ressource que vous ne souhaitez plus surveiller, choisissez **Supprimer la ressource**.

1. Après avoir ajouté toutes les ressources, choisissez **Ajouter**.

   Vous verrez le nombre de passerelles et d’appareils que vous avez ajoutés sur la page du **Centre de l’analyseur de réseau**. Vous pouvez toujours continuer à ajouter des passerelles et des appareils tant que vous n’activez pas la session de messagerie de suivi. Une fois la session activée, pour ajouter des ressources, vous devez désactiver la session.

**Pour modifier la configuration de l’analyseur de réseau (console)**  
Vous pouvez également modifier la configuration de l’analyseur de réseau et choisir de désactiver les informations de trame et le niveau de journalisation de vos journaux de messages de suivi. 

1. Ouvrez le [hub Analyseur réseau de la console AWS IoT](https://console.aws.amazon.com/iot/home#/wireless/networkAnalyzer) et choisissez la configuration d’analyseur de réseau **NetworkAnalyzerConfig\$1Default**.

1. Choisissez **Modifier**.

1. Choisissez si vous souhaitez désactiver les informations sur les trames et utilisez l’option **Sélectionner les niveaux de journalisation** pour choisir les niveaux de journalisation que vous souhaitez utiliser pour vos journaux de messages de suivi. Choisissez **Enregistrer**.

   Vous verrez les paramètres de configuration que vous avez spécifiés sur la page de détails de la configuration de votre analyseur de réseau.

## Ajout de ressources et mise à jour de la configuration de l’analyseur de réseau à l’aide de l’API
<a name="network-analyzer-add-resources-api"></a>

Vous pouvez utiliser les [opérations d’API AWS IoT Wireless](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/) ou les [commandes d’interface de ligne de commande AWS IoT Wireless](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/index.html) pour ajouter des ressources et mettre à jour les paramètres de configuration de votre analyseur de réseau.
+ Pour ajouter des ressources et mettre à jour la configuration de votre analyseur de réseau, utilisez l’API [UpdateNetworkAnalyzerConfiguration](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_UpdateNetworkAnalyzerConfiguration.html) ou l’interface de ligne de commande [update-network-analyzer-configuration](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/update-network-analyzer-configuration.html).
  + 

**Ajout des ressources**  
Pour les appareils sans fil que vous souhaitez ajouter, utilisez `WirelessDevicesToAdd` pour entrer le `WirelessDeviceID` des appareils sous forme de tableau de chaînes. Pour les passerelles sans fil que vous souhaitez ajouter, utilisez `WirelessGatewaysToAdd` pour entrer le `WirelessGatewayID` des passerelles sous forme de tableau de chaînes.
  + 

**Modification de la configuration**  
Pour modifier la configuration de votre analyseur de réseau, utilisez le paramètre `TraceContent` pour spécifier si `WirelessDeviceFrameInfo` doit avoir la valeur `ENABLED` ou `DISABLED`, et si le paramètre `LogLevel` doit avoir la valeur `INFO`, `ERROR` ou `DISABLED`. 

  ```
  {
     "TraceContent": { 
        "LogLevel": "string",
        "WirelessDeviceFrameInfo": "string"
     },
     "WirelessDevicesToAdd": [ "string" ],
     "WirelessDevicesToRemove": [ "string" ],
     "WirelessGatewaysToAdd": [ "string" ],
     "WirelessGatewaysToRemove": [ "string" ]
  }
  ```
+ Pour obtenir des informations sur la configuration des ressources que vous avez ajoutées, utilisez l’opération d’API [GetNetworkAnalyzerConfiguration](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_UpdateNetworkAnalyzerConfiguration.html) ou la commande [get-network-analyzer-configuration](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/get-network-analyzer-configuration.html). Indiquez le nom de la configuration de l’analyseur de réseau, `NetworkAnalyzerConfig_Default`, en entrée.

## Étapes suivantes
<a name="network-analyzer-resources-next"></a>

Maintenant que vous avez ajouté des ressources et spécifié les paramètres de configuration facultatifs pour votre configuration, vous pouvez utiliser le protocole WebSocket pour établir une connexion à AWS IoT Core for LoRaWAN afin d’utiliser l’analyseur de réseau. Vous pouvez ensuite activer la messagerie de suivi et commencer à recevoir des messages de suivi pour vos ressources. Pour en savoir plus, consultez [Diffusez les messages de suivi de l’analyseur de réseau avec WebSockets](network-analyzer-api.md).

# Diffusez les messages de suivi de l’analyseur de réseau avec WebSockets
<a name="network-analyzer-api"></a>

Lorsque vous utilisez le protocole WebSocket, vous pouvez diffuser les messages de suivi de l’analyseur de réseau en temps réel. Lorsque vous envoyez une demande, le service répond par une structure JSON. Après avoir activé la messagerie de suivi, vous pouvez utiliser les journaux des messages pour obtenir des informations sur vos ressources et résoudre les erreurs. Pour plus d’informations, consultez [Protocole WebSocket](https://tools.ietf.org/html/rfc6455).

L’exemple suivant montre comment diffuser les messages de suivi de l’analyseur de réseau à l’aide de WebSockets.

**Topics**
+ [Générer une demande présignée avec la bibliothèque WebSocket](network-analyzer-generate-request.md)
+ [Messages et codes d’état WebSocket](network-analyer-messages-status.md)

# Générer une demande présignée avec la bibliothèque WebSocket
<a name="network-analyzer-generate-request"></a>

La présente rubrique explique comment générer une demande présignée afin de pouvoir utiliser la bibliothèque WebSocket pour envoyer des demandes au service.

## Ajout d’une politique pour les demandes WebSocket à votre rôle IAM
<a name="network-analyzer-iam"></a>

Pour utiliser le protocole WebSocket pour appeler l’analyseur de réseau, vous devez joindre la politique suivante au rôle (IAM) Gestion des identités et des accès AWS qui effectue la demande. 

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

## Créer une URL présignée
<a name="network-analyzer-presigned-url"></a>

Construisez une URL pour votre demande WebSocket qui contient les informations requises pour configurer la communication entre votre application et l’analyseur de réseau. Pour vérifier l’identité de la demande, le streaming WebSocket utilise le processus Amazon Signature Version 4 pour signer les demandes. Pour en savoir plus sur Signature Version 4, consultez [ Signature AWS des demandes d’API](https://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html) dans *Amazon Web Services General Reference*.

Pour appeler l’analyseur de réseau, utilisez l’URL de la demande `StartNetworkAnalyzerStream`. La demande sera signée à l’aide des informations d’identification du rôle IAM mentionnées précédemment. L’URL a le format suivant, avec des sauts de ligne ajoutés pour plus de lisibilité.

```
GET wss://api.iotwireless.<region>.amazonaws.com/start-network-analyzer-stream?X-Amz-Algorithm=AWS4-HMAC-SHA256
   &X-Amz-Credential=Signature Version 4 credential scope
   &X-Amz-Date=date
   &X-Amz-Expires=time in seconds until expiration
   &X-Amz-Security-Token=security-token
   &X-Amz-Signature=Signature Version 4 signature 
   &X-Amz-SignedHeaders=host
```

Utilisez les valeurs suivantes pour les paramètres de Signature Version 4 :
+ **X-Amz-Algorithm** – Algorithme que vous utilisez lors du processus de signature. La seule valeur valide est `AWS4-HMAC-SHA256`.
+ **X-Amz-Credential** Chaîne séparée par des barres obliques (« / ») et formée en concaténant votre ID de clé d’accès et les composants de vos informations d’identification. La portée des informations d’identification inclut la date au format AAAAMMJJ, la région AWS, le nom du service et une chaîne de terminaison (aws4\$1request).
+ **X-Amz-Date** — La date et l’heure de création de la signature. Génère la date et l’heure en suivant les instructions dans [Gestion des dates dans Signature Version 4](https://docs.aws.amazon.com/general/latest/gr/sigv4-date-handling.html) dans *Amazon Web Services General Reference*.
+ **X-Amz-Expires** Durée en secondes jusqu’à ce que les informations d’identification arrivent à expiration. La valeur maximale est de 300 secondes (5 minutes).
+ **X-Amz-Security-Token** Jeton Signature Version 4 pour les informations d’identification temporaires. Si vous spécifiez ce paramètre, incluez-le dans la requête canonique. Pour plus d’informations, consultez [Demande d’identifiants de sécurité temporaires](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html) dans le *AWS Manuel de l’utilisateur Identity and Access Management*.
+ **X-Amz-Signature** – Signature Signature Version 4 que vous avez générée pour la demande.
+ **X-Amz-SignedHeaders** En-têtes signés lors de la création de la signature de la demande. La seule valeur valide est `host`.

## Construisez l’URL de demande et créez une signature Signature Version 4
<a name="connect-iot-network-analyzer-construct-url-sign"></a>

Pour construire l’URL de la demande et créer la signature Signature Version 4, utilisez les étapes suivantes. Les exemples sont en pseudo-code.

### Tâche 1 : créer une demande canonique
<a name="canonical-request"></a>

Créez une chaîne qui inclut des informations de votre demande dans un format normalisé. Ainsi, lorsque AWS reçoit la demande, il peut calculer la même signature que celle que vous avez calculée dans [Tâche 3 : calculer la signature](#calculate-signature). Pour plus d’informations, consultez [Créer une demande canonique pour Signature Version 4](https://docs.aws.amazon.com/general/latest/gr/sigv4-create-canonical-request.html) dans *Amazon Web Services General Reference*.

1. Définissez des variables pour la demande dans votre application.

   ```
   # HTTP verb
   method = "GET"
   # Service name
   service = "iotwireless"
   # Région AWS
   region = "Région AWS"
   # Service streaming endpoint
   endpoint = "wss://api.iotwireless.region.amazonaws.com"
   # Host
   host = "api.iotwireless.<region>.amazonaws.com"
   # Date and time of request
   amz-date = YYYYMMDD'T'HHMMSS'Z'
   # Date without time for credential scope
   datestamp = YYYYMMDD
   ```

1. Créez un URI canonique (identifiant de ressource uniforme). L’URI canonique est la partie de l’URI entre le domaine et la chaîne de requête.

   ```
   canonical_uri = "/start-network-analyzer-stream"
   ```

1. Créez les en-têtes canoniques et les en-têtes signés. Notez la barre oblique `\n` dans les en-têtes canoniques.
   + Ajoutez le nom d’en-tête en minuscules suivi de deux points.
   + Ajoutez une liste de valeurs séparées par des virgules pour cet en-tête. Ne triez pas les valeurs dans les en-têtes ayant plusieurs valeurs.
   + Ajoutez une nouvelle ligne (`\n`).

   ```
   canonical_headers = "host:" + host + "\n"
   signed_headers = "host"
   ```

1. Associez l’algorithme à l’algorithme de hachage. Vous devez utiliser SHA-256.

   ```
   algorithm = "AWS4-HMAC-SHA256"
   ```

1. Créez la portée des informations d’identification qui déterminera la clé dérivée de la date, de la région et du service auquel la demande est adressée.

   ```
   credential_scope = datestamp + "/" + region + "/" + service + "/" + "aws4_request"
   ```

1. Créez la chaîne de requête canonique. Les valeurs des chaîne de requête doivent être encodées en URI et triées par nom.
   + Triez les noms de paramètre selon le point de code de caractère dans l’ordre croissant. Les paramètres avec des noms en double doivent être triés par valeur. Par exemple, un nom de paramètre qui commence par la lettre majuscule F précède un nom de paramètre qui commence par la lettre minuscule b.
   + N’encodez pas de l’URI les caractères autorisés que [RFC 3986](https://datatracker.ietf.org/doc/html/rfc3986) définit : A à Z, a à z, 0 à 9, le trait d’union ( - ), le trait de soulignement ( \$1 ), le point final ( . ) et le tilde ( \$1 ).
   + Encodez de pourcentage tous les autres caractères avec %XY, où X et Y représentent les caractères hexadécimaux (0 à 9 et les lettres majuscules A à F). Par exemple, le caractère espace doit être encodé sous la forme %20 (sans utiliser « \$1 », comme le font certains schémas d’encodage) et les caractères UTF-8 étendus doivent être sous la forme %XY%ZA%BC.
   + Encodez deux fois tous les caractères égaux à (=) dans les valeurs de paramètre.

   ```
   canonical_querystring  = "X-Amz-Algorithm=" + algorithm
   canonical_querystring += "&X-Amz-Credential="+ URI-encode(access key + "/" + credential_scope)
   canonical_querystring += "&X-Amz-Date=" + amz_date 
   canonical_querystring += "&X-Amz-Expires=300"
   canonical_querystring += "&X-Amz-Security-Token=" + token
   canonical_querystring += "&X-Amz-SignedHeaders=" + signed_headers
   canonical_querystring += "&language-code=en-US&media-encoding=pcm&sample-rate=16000"
   ```

1. Créez un hachage de la charge utile. Pour une demande GET, la charge utile est une chaîne vide.

   ```
   payload_hash = HashSHA256(("").Encode("utf-8")).HexDigest()
   ```

1. Combinez tous les éléments pour créer la demande canonique.

   ```
   canonical_request = method + '\n' 
      + canonical_uri + '\n' 
      + canonical_querystring + '\n' 
      + canonical_headers + '\n' 
      + signed_headers + '\n' 
      + payload_hash
   ```

### Tâche 2 : Créer la chaîne à signer
<a name="create-urlsign"></a>

La chaîne à signer inclut les informations des métadonnées sur votre demande. Vous utilisez la chaîne à signer dans l’étape suivante lorsque vous calculez la signature de la demande. Pour plus d’informations, consultez la section [Créer une chaîne de connexion pour Signature Version 4](https://docs.aws.amazon.com/general/latest/gr/sigv4-create-string-to-sign.html) dans la *Référence générale d’Amazon Web Services*

```
string_to_sign=algorithm + "\n"
   + amz_date + "\n"
   + credential_scope + "\n"
   + HashSHA256(canonical_request.Encode("utf-8")).HexDigest()
```

### Tâche 3 : calculer la signature
<a name="calculate-signature"></a>

Dérivez une clé de signature de votre clé d’accès secrète AWS. La clé dérivée est spécifique à la date, au service et à la région AWS, pour un niveau de protection plus élevé. Vous utilisez la clé dérivée pour signer la demande. Pour en savoir plus, consultez [ Calculer la signature pour AWS la Version 4](https://docs.aws.amazon.com/general/latest/gr/sigv4-calculate-signature.html) dans la *Référence générale d’Amazon Web Services.*

Le code suppose que vous avez mis en œuvre la fonction, `GetSignatureKey`, pour dériver une clé de signature. Pour plus d’informations et des exemples de fonctions, consultez [Exemples de dérivation d’une clé de signature pour Signature Version 4](https://docs.aws.amazon.com/general/latest/gr/signature-v4-examples.html) dans la *Référence générale d’Amazon Web Services.*

La fonction `HMAC(key, data)` représente une fonction HMAC-SHA256 qui renvoie les résultats au format binaire.

```
#Create the signing key
signing_key = GetSignatureKey(secret_key, datestamp, region, service)
                
# Sign the string_to_sign using the signing key
signature = HMAC.new(signing_key, (string_to_sign).Encode("utf-8"), Sha256()).HexDigest
```

### Tâche 4 : Ajouter les informations de signature à la demande et créer l’URL de demande
<a name="sign-request"></a>

Une fois que vous avez calculé la signature, vous l’ajoutez à la chaîne de requête. Pour en savoir plus, veuillez consulter [Ajouter la signature à la demande](https://docs.aws.amazon.com/general/latest/gr/sigv4-add-signature-to-request.html) dans la *Référence générale d’Amazon Web Services.*.

```
#Add the authentication information to the query string
canonical_querystring += "&X-Amz-Signature=" + signature
                
# Sign the string_to_sign using the signing key
request_url = endpoint + canonical_uri + "?" + canonical_querystring
```

## Étapes suivantes
<a name="network-analyzer-request-next"></a>

Vous pouvez utiliser l’URL de la demande avec votre bibliothèque WebSocket pour effectuer la demande au service et observer les messages. Pour en savoir plus, consultez [Messages et codes d’état WebSocket](network-analyer-messages-status.md).

# Messages et codes d’état WebSocket
<a name="network-analyer-messages-status"></a>

Après avoir créé une demande présignée, vous pouvez utiliser l’URL de la demande avec votre bibliothèque WebSocket, ou une bibliothèque adaptée à votre langage de programmation, pour envoyer des demandes au service. Pour en savoir plus sur la génération de cette demande présignée, consultez [Générer une demande présignée avec la bibliothèque WebSocket](network-analyzer-generate-request.md).

## Messages WebSocket
<a name="network-analyer-messages"></a>

Le protocole WebSocket peut être utilisé pour établir une connexion bidirectionnelle. Les messages peuvent être transmis d’un client à un serveur et d’un serveur à un autre. Toutefois, l’analyseur de réseau ne prend en charge que les messages envoyés du serveur au client. Tout message reçu du client est inattendu et le serveur ferme automatiquement la connexion WebSocket si un message est reçu du client.

Lorsque la demande est reçue et qu’une session de messagerie de suivi démarre, le serveur répond avec une structure JSON, qui est la charge utile. Pour plus d’informations sur la charge utile et sur la manière dont vous pouvez activer la messagerie de suivi depuis le AWS Management Console, consultez[Afficher et suivre les journaux des messages de suivi de l’analyseur de réseau en temps réel](network-analyzer-logs.md).

## Codes d’état WebSocket
<a name="network-analyer-status-codes"></a>

Ce qui suit montre les codes d’état WebSocket pour la communication entre le serveur et le client. Les codes d’état WebSocket sont conformes à la [norme RFC relative à la fermeture normale des connexions](https://datatracker.ietf.org/doc/html/rfc6455#section-7.3).

Voici la liste des codes d’état pris en charge :
+ 

**1 000**  
Ce code d’état indique une fermeture normale, ce qui signifie que la connexion WebSocket a été établie et que la demande a été satisfaite. Cet état peut être observé lorsqu’une session est inactive, ce qui entraîne l’expiration de la connexion.
+ 

**1 002**  
Ce code d’état indique que le point de terminaison met fin à la connexion en raison d’une erreur de protocole.
+ 

**1003**  
Ce code d’état indique un état d’erreur lorsque le point de terminaison a mis fin à la connexion parce qu’il a reçu des données dans un format qu’il ne peut pas accepter. Le point de terminaison ne prend en charge que les données texte et peut afficher ce code d’état s’il reçoit un message binaire ou un message du client utilisant un format non pris en charge.
+ 

**1008**  
Ce code d’état indique un état d’erreur lorsque le point de terminaison a mis fin à la connexion parce qu’il a reçu un message enfreignant sa politique. Ce statut est générique et s’affiche lorsque les autres codes d’état, tels que 1003 ou 1009, ne sont pas applicables. Vous verrez également ce statut s’afficher s’il est nécessaire de masquer la politique ou en cas d’échec d’autorisation, tel qu’une signature expirée.
+ 

**1011**  
Ce code d’état indique un état d’erreur lorsque le serveur met fin à la connexion parce qu’il a rencontré une situation inattendue ou une erreur interne qui l’a empêché de répondre à la demande.

## Étapes suivantes
<a name="network-analyzer-websockets-next"></a>

Maintenant que vous avez appris à générer une demande présignée et à observer les messages provenant du serveur à l’aide de la connexion WebSocket, vous pouvez activer la messagerie de suivi et commencer à recevoir des journaux de messages pour les ressources de votre passerelle et de votre appareil sans fil. Pour en savoir plus, consultez [Afficher et suivre les journaux des messages de suivi de l’analyseur de réseau en temps réel](network-analyzer-logs.md).

# Afficher et suivre les journaux des messages de suivi de l’analyseur de réseau en temps réel
<a name="network-analyzer-logs"></a>

Si vous avez ajouté des ressources à la configuration de votre analyseur de réseau, vous pouvez activer la messagerie de suivi pour commencer à recevoir des messages de suivi pour vos ressources. Vous pouvez utiliser la AWS Management Console, l’API AWS IoT Wireless ou AWS CLI.

## Prérequis
<a name="network-analyzer-logs-prereq"></a>

Avant de pouvoir activer la messagerie de suivi à l’aide de l’analyseur de réseau, vous devez disposer des éléments suivants :
+ Les ressources que vous souhaitez suivre ont été ajoutées à la configuration de votre analyseur de réseau par défaut. Pour en savoir plus, consultez [Ajouter des ressources et mettre à jour la configuration de l’analyseur de réseau](network-analyzer-resources.md).
+ Génération d’une demande présignée à l’aide de l’URL de la demande `StartNetworkAnalyzerStream`. La demande sera signée à l’aide des informations d’identification du rôle Gestion des identités et des accès AWS qui effectue cette demande. Pour en savoir plus, consultez [Créer une URL présignée](network-analyzer-generate-request.md#network-analyzer-presigned-url).

## Activer la messagerie de suivi à l’aide de la console
<a name="network-analyzer-activate-console"></a>

Pour activer la messagerie de suivi

1. Ouvrez le [Centre d’analyseur de réseau de la AWS IoT console](https://console.aws.amazon.com/iot/home#/wireless/networkAnalyzer) et choisissez la configuration de votre analyseur de réseau, **NetworkAnalyzerConfig\$1Default.**

1. Sur la page de détails de la configuration de votre analyseur de réseau, choisissez **Activer la messagerie de suivi**, puis sélectionnez **Activer**.

   Vous allez commencer à recevoir des messages de suivi où le message de suivi le plus récent apparaît en premier dans la console.
**Note**  
Après le démarrage de la session de messagerie, la réception de messages de suivi peut entraîner des coûts supplémentaires jusqu’à ce que vous désactiviez la session ou que vous quittiez la session de suivi. Pour de plus amples informations sur la tarification, veuillez consulter [AWS IoT CoreTarification](https://aws.amazon.com/iot-core/pricing/).

## Affichage et surveillance des messages de suivi
<a name="network-analyzer-view-trace"></a>

Une fois que vous avez activé la messagerie de suivi, la connexion WebSocket est établie et les messages de suivi commencent à apparaître en temps réel, les plus récents en premier. Vous pouvez personnaliser les préférences pour spécifier le nombre de messages de suivi à afficher sur chaque page et pour afficher uniquement les champs pertinents pour chaque message. Par exemple, vous pouvez personnaliser le journal des messages de suivi pour n’afficher que les journaux des ressources de passerelle sans fil dont le **niveau de journalisation** est défini sur `ERROR`, afin d’identifier et de corriger rapidement les erreurs liées à vos passerelles. Le message de suivi contient les informations suivantes. 
+ **Numéro du message** : numéro unique qui indique le dernier message reçu en premier.
+ **ID de ressource : ** de passerelle sans fil ou d’appareil sans fil de la ressource.
+ **Horodatage** : heure à laquelle le message a été reçu.
+ **ID de message** : identifiant attribué par AWS IoT Core for LoRaWAN à chaque message reçu.
+ **FPort** : port de fréquence permettant de communiquer avec l’appareil à l’aide de la connexion WebSocket.
+ **DevEui** : identifiant unique étendu (EUI) de votre appareil sans fil.
+ **Ressource** : si la ressource surveillée est un appareil sans fil ou une passerelle sans fil.
+ **Événement** : événement correspondant à un message de journal pour un appareil sans fil, qui peut être **Join**, **Rejoin**, **Uplink\$1Data**, **Downlink\$1Data** ou **Registration.**
+ **Niveau de journalisation** : informations sur `INFO` ou `ERROR` flux de journaux relatifs à votre appareil.

## Message de journal JSON de l’analyseur de réseau
<a name="connect-iot-network-analyzer-trace-logs"></a>

Vous pouvez également choisir un message de suivi à la fois pour afficher la charge utile JSON associée à ce message. Selon le message que vous sélectionnez dans les journaux des messages de suivi, vous verrez des informations dans la charge utile JSON indiquant qu’il contient deux parties : **CustomerLog** et **LoraFrame.**

**Journal du client**  
La partie **CustomerLog** du JSON affiche le type et l’identifiant de la ressource qui a reçu le message, le niveau du journal et le contenu du message. L’exemple suivant montre un message de journal **CustomerLog**. Vous pouvez utiliser le champ `message` du JSON pour obtenir plus d’informations sur l’erreur et sur la manière de la résoudre.

**Cadre Lora**  
La partie **LoraFrame** du JSON possède un **ID de message** et contient des informations sur la charge utile physique de l’appareil et les métadonnées sans fil.

La structure du message JSON est présentée dans l’exemple suivant.

```
export type TraceMessage = {
  ResourceId: string;
  Timestamp: string;
  LoRaFrame: 
  {
    MessageId: string;
    PhysicalPayload: any;
    WirelessMetadata: 
    {
      fPort: number;
      dataRate: number;
      devEui: string;
      frequency: number,
      timestamp: string;
    },
  }
  CustomerLog: 
  {
    resource: string;
    wirelessDeviceId: string;
    wirelessDeviceType: string;
    event: string;
    logLevel: string;
    messageId: string;
    message: string;
  },
};
```

## Revue et prochaines étapes
<a name="network-analyzer-review"></a>

Dans cette section, vous avez consulté les messages de suivi et appris comment utiliser ces informations pour corriger les erreurs. Après avoir consulté tous les messages, vous pouvez :
+ 

**Pour désactiver la messagerie de suivi**  
Pour éviter des coûts supplémentaires, vous pouvez désactiver la session de messagerie de suivi. La désactivation de la session déconnecte votre connexion WebSocket afin que vous ne receviez aucun message de suivi supplémentaire. Vous pouvez toujours consulter les messages existants dans la console.
+ 

**Modifier les informations de la trame pour votre configuration**  
Vous pouvez modifier la configuration de l’analyseur de réseau, choisir de désactiver les informations de la trame et de choisir les niveaux de journalisation de vos messages. Avant de mettre à jour votre configuration, pensez à désactiver votre session de messagerie de suivi. Pour effectuer ces modifications, ouvrez la [page de détails de l’analyseur de réseau dans la AWS IoT console](https://console.aws.amazon.com/iot/home#/wireless/networkAnalyzer/details/NetworkAnalyzerConfig_Default) et choisissez **Modifier.** Vous pouvez ensuite mettre à jour votre configuration avec les nouveaux paramètres de configuration et activer la messagerie de suivi pour voir les messages mis à jour.
+ 

**Ajoutez des ressources à votre configuration.**  
Vous pouvez également ajouter des ressources supplémentaires à la configuration de votre analyseur de réseau et les suivre en temps réel. Vous pouvez ajouter un total de 250 ressources de passerelle sans fil et d’appareil sans fil. Pour ajouter des ressources, sur la [page de détails de l’analyseur de réseau de la AWS IoT console](https://console.aws.amazon.com/iot/home#/wireless/networkAnalyzer/details/NetworkAnalyzerConfig_Default), choisissez l’onglet **Ressources**, puis choisissez **Ajouter des ressources**. Vous pouvez ensuite mettre à jour votre configuration avec les nouvelles ressources et activer la messagerie de suivi pour voir les messages mis à jour pour les ressources supplémentaires.

Pour plus d’informations sur la mise à jour de la configuration de votre analyseur de réseau en modifiant les paramètres de configuration et en ajoutant des ressources, consultez [Ajouter des ressources et mettre à jour la configuration de l’analyseur de réseau](network-analyzer-resources.md).

# Déboguez et dépannez vos groupes de multicast et vos tâches FUOTA à l’aide de l’analyseur de réseau
<a name="lorawan-network-analyzer-fuota"></a>

Les ressources sans fil que vous pouvez suivre incluent les appareils LoRaWAN, les passerelles LoRaWAN et les groupes de multicast. Vous pouvez également utiliser l’analyseur de réseau pour déboguer et résoudre tout problème lié à votre tâche FUOTA. Vous pouvez également contrôler et suivre les messages relatifs à la configuration, à la transmission de données et à la demande d’état lorsque la tâche FUOTA est en cours. 

Pour suivre votre tâche FUOTA, si celle-ci contient des groupes de multicast, vous devez ajouter à la fois le groupe de multicast et les appareils du groupe à la configuration de votre analyseur de réseau. Vous devez également activer les informations de trame et les informations de trame multicast pour suivre les messages unicast et multicast de liaison ascendante et descendante échangés avec le groupe multicast et les appareils pendant que la tâche FUOTA est en cours.

Pour surveiller les groupes multicast, vous pouvez les ajouter à la configuration de votre analyseur de réseau et utiliser les informations de trame multicast pour résoudre les problèmes liés aux messages multicast de liaison descendante envoyés à ces groupes. Pour résoudre les problèmes liés aux appareils qui tentent de rejoindre un groupe utilisant une communication unicast, vous devez également inclure ces appareils dans la configuration de l’analyseur de réseau. Pour suivre uniquement la communication unicast avec les appareils du groupe, activez les informations de trame pour vos appareils sans fil. Cette approche garantit une surveillance et un diagnostic complets à la fois pour les groupes de multicast et les appareils qui rejoignent le groupe. 

Les sections suivantes décrivent comment déboguer et dépanner vos groupes de multicast et vos tâches FUOTA à l’aide de l’analyseur de réseau.

**Topics**
+ [Débogage des tâches FUOTA contenant uniquement des appareils](#lorawan-network-analyzer-fuota-devices)
+ [Déboguer des tâches FUOTA avec des groupes de multicast](#lorawan-network-analyzer-fuota-multicast)
+ [Déboguer les appareils qui tentent de rejoindre un groupe de multicast](#lorawan-network-analyzer-fuota-multicast)
+ [Débogage d’une session de groupe multicast](#lorawan-network-analyzer-fuota-multicastsession)

## Débogage des tâches FUOTA contenant uniquement des appareils
<a name="lorawan-network-analyzer-fuota-devices"></a>

Vous pouvez utiliser l’analyseur de réseau pour déboguer une tâche FUOTA à laquelle seuls des appareils LoRaWAN sont ajoutés. Pour plus d’informations sur l’ajout d’appareils à une tâche FUOTA, consultez [Ajoutez des appareils et des groupes multicast à une tâche FUOTA et planifiez une session FUOTA](lorawan-fuota-add-devices.md). Pour déboguer la tâche FUOTA, effectuez les opérations suivantes :

1. Créez une configuration d’analyseur de réseau en activant les informations de trame pour les appareils sans fil afin de suivre les messages de FUOTA de liaison ascendante et descendante qui sont échangés avec les appareils pendant que la tâche est en cours.

1. Ajoutez les appareils de votre tâche FUOTA à la configuration de l’analyseur de réseau à l’aide de leurs identifiants d’appareils sans fil.

1. Activez la messagerie de suivi pour commencer à recevoir des messages de suivi pour les appareils dans la configuration de votre analyseur de réseau.

Dans la colonne `applicationCommandType` des informations de message de suivi, vous commencerez par recevoir des messages unicast de liaison descendante relatifs à la transmission des données et à la configuration de la fragmentation.

**Note**  
Si la colonne `applicationCommandType` n’apparaît pas dans le tableau des messages de suivi, vous pouvez ajuster les paramètres pour afficher cette colonne dans le tableau.

Vous pouvez également voir le `applicationCommandType` et d’autres messages détaillés dans le message du journal JSON sous **WirelessMetadata > ApplicationInfo**.

## Déboguer des tâches FUOTA avec des groupes de multicast
<a name="lorawan-network-analyzer-fuota-multicast"></a>

Vous pouvez utiliser l’analyseur de réseau pour déboguer une tâche FUOTA à laquelle des groupes de multicast et des appareils LoRaWAN ont été ajoutés au groupe. Pour plus d’informations sur l’ajout d’appareils à une tâche FUOTA, consultez [Ajoutez des appareils et des groupes multicast à une tâche FUOTA et planifiez une session FUOTA](lorawan-fuota-add-devices.md). Pour déboguer la tâche FUOTA, effectuez les opérations suivantes :

1. Créez une configuration d’analyseur de réseau en activant les paramètres d’informations de trame et d’informations de trame de multicast pour les appareils sans fil et les groupes de multicast.

1. Ajoutez le groupe de multicast de votre tâche FUOTA à la configuration de l’analyseur de réseau en utilisant son identifiant de groupe de multicast. En activant les informations sur les trames de multicast, vous pouvez déboguer le message de données du micrologiciel et les messages de demande d’état FUOTA envoyés au groupe pendant que la tâche FUOTA est en cours.

1. Ajoutez les appareils de votre groupe de multicast à la configuration de l’analyseur de réseau à l’aide de leurs identifiants d’appareils sans fil. Cela vous permet de suivre les messages de liaison montante et descendante de FUOTA qui sont échangés avec les appareils pendant que la tâche est en cours.

1. Activez la messagerie de suivi pour commencer à recevoir des messages de suivi pour les appareils et les groupes de multicast dans la configuration de votre analyseur de réseau.

Vous pouvez ensuite afficher les messages de suivi et les déboguer à l’aide de la colonne `applicationCommandType` du tableau des messages de suivi et en utilisant les détails du message de journal JSON, comme décrit dans [Débogage des tâches FUOTA contenant uniquement des appareils](#lorawan-network-analyzer-fuota-devices).

## Déboguer les appareils qui tentent de rejoindre un groupe de multicast
<a name="lorawan-network-analyzer-fuota-multicast"></a>

Vous pouvez utiliser l’analyseur de réseau pour déboguer les appareils qui tentent de rejoindre un groupe de multicast. Pour plus d’informations sur l’ajout d’appareils à un groupe de multicast, consultez [Créez des groupes de multicast et ajoutez des appareils au groupe](lorawan-create-multicast-groups.md). Pour déboguer le groupe de multicast, effectuez les opérations suivantes :

1. Créez une configuration de l’analyseur de réseau en activant les informations de trame pour les appareils sans fil.

1. Ajoutez les appareils que vous souhaitez suivre à la configuration de l’analyseur de réseau à l’aide de leurs identifiants d’appareils sans fil.

1. Activez la messagerie de suivi pour commencer à recevoir des messages de suivi pour les appareils dans la configuration de votre analyseur de réseau.

1. Commencez à associer les appareils au groupe de multicast une fois que la messagerie de suivi a été activée pour les appareils du groupe.

## Débogage d’une session de groupe multicast
<a name="lorawan-network-analyzer-fuota-multicastsession"></a>

Vous pouvez utiliser l’analyseur de réseau pour déboguer une session de groupe de multicast. Pour en savoir plus, consultez [Programmez un message en liaison descendante à envoyer aux appareils de votre groupe multicast](lorawan-multicast-schedule-downlink.md). Pour déboguer une session de groupe de multicast, effectuez les opérations suivantes :

1. Créez une configuration de l’analyseur de réseau en activant les informations de trame de multicast pour le groupe de multicast.

1. Ajoutez le groupe de multicast que vous souhaitez suivre à la configuration de l’analyseur de réseau en utilisant son identifiant de groupe de multicast.

1. Avant le début de la session de multicast, activez la messagerie de suivi pour commencer à recevoir des messages de suivi pour la session de groupe de multicast.

1. Démarrez la session de groupe de multicast et suivre l’état en consultant les messages affichés dans le tableau des messages de suivi et le message du journal JSON.

Dans le tableau des messages de suivi, le `MulticastAddr` sera affiché dans la colonne `DevAddr`. Dans le message de journal JSON, vous pouvez voir des informations détaillées telles que le `MulticastGroupId` sous **WirelessMetadata > ApplicationInfo**.