[comment]: # ({382ff618-7d35b712})
# 10 Surveiller un commutateur réseau ou un routeur avec Zabbix

[comment]: # ({/382ff618-7d35b712})

[comment]: # ({d9702cdc-aea68f1a})
## Introduction

Ce guide vous accompagne à travers les étapes nécessaires pour commencer une surveillance de base de votre commutateur réseau ou routeur à l'aide de Zabbix.
Un routeur Cisco est utilisé comme exemple, mais la procédure s'applique à tout périphérique réseau compatible SNMP.

**À qui s'adresse ce guide**

Ce guide est conçu pour les nouveaux utilisateurs de Zabbix et les administrateurs réseau qui souhaitent activer rapidement une surveillance de base des périphériques réseau.
Si vous avez besoin d'une personnalisation poussée ou d'options de configuration avancées, veuillez consulter la page [agent SNMP](/manual/config/items/itemtypes/snmp) ou la section [Configuration](/manual/config) du manuel Zabbix.

**Prérequis**

Avant de poursuivre ce guide, assurez-vous d'avoir :

-   Zabbix serveur et l'interface Zabbix installés : installez-les conformément aux instructions de votre système d'exploitation (voir [Installation à partir de paquets](/manual/installation/install_from_packages) et [Installation de l'interface web](/manual/installation/frontend)). 
-   Zabbix agent installé si vous surveillez des métriques réseau locales.
-   Périphérique compatible SNMP : un commutateur réseau ou un routeur (par exemple, un routeur Cisco) avec SNMP activé.
-   [Fichiers MIB](/manual/config/items/itemtypes/snmp/mibs) installés : l'installation des fichiers MIB permet à Zabbix de traduire les OID numériques en noms et descriptions lisibles par l'humain.
Sans prise en charge adéquate des MIB, vous risquez de ne voir que des valeurs numériques, ce qui rend la configuration des éléments et le dépannage plus difficiles.

Pour installer les fichiers MIB sur Ubuntu :

1\. Installez le paquet de téléchargement des MIB :

```bash
sudo apt-get update
sudo apt-get install snmp-mibs-downloader
```

Si vous devez ajouter des MIB spécifiques à un fournisseur (par exemple, de Cisco ou Juniper), placez-les dans le répertoire MIB approprié :

-   Pour les systèmes basés sur Linux, les emplacements courants incluent /usr/share/snmp/mibs/ ou /usr/local/share/snmp/mibs/.
-   Pour les installations Zabbix, les fichiers MIB peuvent être stockés dans /var/lib/zabbix/mibs/.

Assurez-vous que la variable d'environnement MIBDIRS ou le fichier snmp.conf inclut le bon chemin.

Pour vérifier que votre système reconnaît les nouveaux MIB, utilisez :

```bash
snmptranslate -IR -On <MIB-NAME>::<object>
```

Pour des instructions détaillées, consultez la documentation de votre bibliothèque SNMP :

-   [MIB Cisco](https://github.com/cisco/cisco-mibs)
-   [MIB Juniper](https://apps.juniper.net/mib-explorer/)

2\. Modifiez ``/etc/snmp/snmp.conf`` et commentez la ligne qui commence par `mibs :` afin de permettre au système de charger tous les MIB disponibles.

3\. Vérifiez en exécutant un ``snmpwalk`` (par exemple, ``snmpwalk -v 2c -c <your_community_string> <device_IP>``) et vérifiez que les OID s'affichent avec des noms descriptifs.

Selon votre environnement, certaines étapes de ce guide peuvent légèrement différer.
Ce guide est basé sur un environnement exécutant Ubuntu et un périphérique réseau Cisco Catalyst 3750V2-24FS surveillé.

Il est supposé que votre périphérique réseau est déjà physiquement installé et connecté.

[comment]: # ({/d9702cdc-aea68f1a})

[comment]: # ({aea0a787-703f62e1})
## Configurer l’équipement réseau (exemple de routeur Cisco)

Pour la supervision via SNMP, vous devez configurer votre équipement réseau afin d’autoriser les requêtes SNMP.
L’exemple ci-dessous concerne SNMPv2 et ne tient pas compte des paramètres existants.
Attention : l’application de ces commandes peut remplacer les configurations SNMP actuelles.

Pour un routeur Cisco, la configuration implique généralement les étapes décrites ci-dessous.

[comment]: # ({/aea0a787-703f62e1})

[comment]: # ({08cfb265-e36b1d35})
### Exemple SNMPv2

1\. Activez SNMP et définissez la chaîne de communauté.

[Connectez-vous](https://www.cisco.com/c/en/us/support/docs/smb/switches/cisco-small-business-300-series-managed-switches/smb4982-access-an-smb-switch-cli-using-ssh-or-telnet.html) à la console de votre routeur Cisco et passez en mode de configuration :

```default
configure terminal
```

Ensuite, [activez SNMP](https://www.cisco.com/c/en/us/support/docs/ip/simple-network-management-protocol-snmp/7282-12.html) en spécifiant une chaîne de communauté en lecture seule.
Par exemple :

```default
snmp-server community <your_community_string> RO
```

Remplacez ``<your_community_string>`` par votre chaîne de communauté sécurisée.
Remarque : l’option RO (Read-Only) permet à SNMP de récupérer des données depuis l’appareil, mais empêche toute modification de la configuration.

Pour des raisons de sécurité, il est recommandé de limiter l’accès SNMP uniquement aux appareils nécessaires.
Pour plus d’informations sur la configuration des listes de contrôle d’accès (ACL), consultez [la documentation officielle de Cisco](https://www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus3000/sw/security/503_u2_2/Cisco_n3k_security_cg_503_u2_2_chapter7.html?dtid=osscdc000283).

2\. Enregistrez la configuration.

Enregistrez vos modifications pour vous assurer que les paramètres SNMP persistent après un redémarrage :

```default
write memory
```

[comment]: # ({/08cfb265-e36b1d35})

[comment]: # ({5c8aa85b-87017956})
### Exemple SNMPv3

SNMPv3 offre une sécurité renforcée grâce à l’authentification et au chiffrement.
Sa configuration est plus sécurisée que celle de SNMPv2 et doit être vérifiée par rapport à la documentation spécifique à votre appareil.

1\. Créez un groupe SNMP.

Configurez un groupe SNMPv3 avec la confidentialité (chiffrement) activée :

```default
configure terminal
snmp-server group <your_group> v3 priv
```

2\. Créez un utilisateur SNMP.

Ajoutez un utilisateur SNMPv3 avec authentification et confidentialité.
Remplacez les espaces réservés par les valeurs souhaitées :

```default
snmp-server user <your_user> <your_group> v3 auth md5 <auth_password> priv aes 128 <priv_password>
```

3\. Enregistrez la configuration :

```default
write memory
```

Pour plus de détails ou des instructions spécifiques au modèle, vous pouvez consulter les [tutoriels externes de configuration SNMP Cisco](https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/snmp/configuration/xe-16/snmp-xe-16-book/nm-snmp-cfg-snmp-support.html).
Ce guide fournit toutefois les étapes de base pour activer la supervision SNMP.

[comment]: # ({/5c8aa85b-87017956})

[comment]: # ({9891bde8-8df5d064})
## Configurer l’interface web de Zabbix

[comment]: # ({/9891bde8-8df5d064})

[comment]: # ({5860d3dc-3dc3ccce})
### Créer un hôte dans l'interface web Zabbix

1\. Connectez-vous à l'interface web Zabbix.

2\. Ajoutez un nouvel hôte.

Accédez à *Collecte de données > Hôtes* et cliquez sur *Créer un hôte*.

-   *Nom de l'hôte* : saisissez un nom pour votre appareil (par exemple, « Cisco Router »).
-   Groupes d'hôtes : sélectionnez un groupe existant ou créez-en un nouveau, par exemple « Network Devices ».
-   Interfaces :
    -   Cliquez sur *Ajouter* sous Interfaces.
    -   Choisissez *SNMP* comme type d'interface.
    -   Saisissez l'adresse IP ou le nom DNS de votre routeur Cisco.
    -   Définissez le port SNMP par défaut (généralement 161).
    -   Utilisez le menu déroulant pour sélectionner la version SNMP appropriée (par exemple SNMPv2).
    -   Pour SNMPv1/v2, saisissez la chaîne de communauté dans le champ *Communauté SNMP*.
    Pour SNMPv3, des identifiants supplémentaires (*Nom de contexte*, *Nom de sécurité* et *Niveau de sécurité*, etc.) seront demandés.

3\. Lier des modèles

Dans le champ *Modèles*, sélectionnez le modèle SNMP qui correspond le mieux à votre appareil.
Zabbix fournit une gamme de [modèles SNMP](/manual/config/templates_out_of_the_box/network_devices#devices) prédéfinis pour de nombreuses familles d'appareils.
Par exemple, si vous surveillez un appareil Cisco, choisissez le modèle correspondant au système d'exploitation ou au modèle de votre appareil (tel que Cisco IOS SNMP ou Cisco Catalyst 3750\<modèle d'appareil\> SNMP).

4\. Cliquez sur *Ajouter* pour enregistrer l'hôte.

![](../../../assets/en/manual/guides/switch_host.png){width="600"}

![](../../../assets/en/manual/guides/switch_host1.png){width="600"}

[comment]: # ({/5860d3dc-3dc3ccce})

[comment]: # ({6df3857c-a35d4c3a})
## Voir les métriques collectées

Félicitations ! Zabbix est maintenant configuré pour surveiller votre périphérique réseau.

Dernières données :

-   Accédez à Surveillance > Dernières données dans l'interface Zabbix.

![](../../../assets/en/manual/guides/switch_hosts.png){width="600"}

-   Sélectionnez votre hôte « Cisco Router » (ou les hôtes découverts) pour afficher des métriques telles que le temps de fonctionnement du matériel et du réseau, la perte ICMP, le ping et le temps de réponse, etc.

![](../../../assets/en/manual/guides/switch_data.png){width="600"}

-   Graphiques et écrans :

Pour visualiser les données de performance, cliquez sur *Graphiques* à côté des éléments SNMP pour voir des métriques détaillées.

Comme étape suivante, vous pouvez :

-   [Ajouter des éléments SNMP personnalisés](#create-snmp-items) pour surveiller des métriques supplémentaires.
-   [Configurer des alertes de problème](#set-up-problem-alerts) pour recevoir des notifications sur des problèmes potentiels.

[comment]: # ({/6df3857c-a35d4c3a})

[comment]: # ({d0b21274-ff776e8a})
### Créer des éléments SNMP

Une fois l'hôte configuré, vous pouvez créer des éléments pour surveiller des métriques spécifiques.
Remarque : cette étape est facultative si vous utilisez un modèle, car les modèles contiennent déjà des ensembles d'éléments par défaut.

1\. Identifier l'OID SNMP :

Utilisez la commande ``snmpwalk`` pour lister les OID disponibles sur votre appareil.
Par exemple :

```bash
snmpwalk -v 2c -c <your_community_string> <device_IP> .
```

Trouvez l'OID de la métrique que vous souhaitez surveiller (par exemple, IF-MIB::ifHCInOctets.3 pour le trafic entrant sur le port 3).
Pour obtenir l'OID numérique, vous pouvez utiliser :

```bash
snmpget -v 2c -c <your_community_string> -On <device_IP> IF-MIB::ifHCInOctets.3
```

2\. Créer un élément SNMP :

-   Accédez à *Collecte de données > Hôtes*, puis cliquez sur l'onglet *Éléments* de votre hôte SNMP et cliquez sur *Créer un élément*.
-   *Nom* : saisissez un nom descriptif (par exemple, "Trafic entrant du port 3").
-   *Type* : sélectionnez *agent SNMP*.
-   *Clé* : indiquez une clé explicite (par exemple, ``cisco.ifHCInOctets.3``).
-   *Interface de l'hôte* : assurez-vous que l'interface SNMP est sélectionnée.
-   *OID SNMP* : saisissez l'OID en utilisant l'un des formats pris en charge, par exemple :
    -   ``get[1.3.6.1.2.1.31.1.1.1.6.3]`` pour une valeur unique ;
    -   ``walk[1.3.6.1.2.1.31.1.1.1.6.3]`` pour récupérer un sous-arbre de valeurs de manière asynchrone.

![](../../../assets/en/manual/guides/switch_item.png){width="600"}

-   *Prétraitement* (si nécessaire) : si l'élément renvoie un compteur cumulatif (comme le trafic d'interface), accédez à l'onglet *Prétraitement* et ajoutez une étape de prétraitement telle que "Changement par seconde" pour calculer le débit.

![](../../../assets/en/manual/guides/switch_preprocessing.png){width="600"}

Pour récupérer plusieurs valeurs en une seule transaction SNMP, vous pouvez spécifier plusieurs OID en utilisant la syntaxe ``walk[OID1,OID2,...]``.

[comment]: # ({/d0b21274-ff776e8a})

[comment]: # ({53a42dcd-1b28232c})
### Traduction des OID entre les valeurs numériques et les noms MIB

Lorsque vous travaillez avec SNMP, vous pouvez avoir besoin de convertir des OID numériques en leurs noms MIB correspondants, et inversement.
Cette traduction facilite l’identification et le dépannage des métriques.

-   Traduction d’un nom MIB en OID numérique : utilisez la commande ``snmptranslate`` avec l’option ``-On``.
Par exemple, pour traduire le nom MIB ``IF-MIB::ifHCInOctets.3`` en son OID numérique, exécutez :

```bash
snmptranslate -On IF-MIB::ifHCInOctets.3
```

Cette commande peut produire :

```bash
.1.3.6.1.2.1.31.1.1.1.6.3
```

-   Traduction d’un OID numérique en son nom MIB : utilisez la commande ``snmptranslate`` avec l’option ``-IR`` (ou ``-m ALL``) pour effectuer la traduction inverse.
Par exemple, pour traduire l’OID numérique ``.1.3.6.1.2.1.31.1.1.1.6.3`` en son nom MIB, exécutez :

```bash
snmptranslate -IR -On .1.3.6.1.2.1.31.1.1.1.6.3
```

Cette commande peut produire :

```bash
IF-MIB::ifHCInOctets.3
```

[comment]: # ({/53a42dcd-1b28232c})

[comment]: # ({133d5107-c98bb7b1})
## Configurer les alertes de problème

Ce guide fournit les étapes de configuration de base pour l'envoi d'alertes par e-mail.

1\. Accédez à [*Paramètres utilisateur > Profil*](/manual/web_interface/user_profile), ouvrez l'onglet *Média* et [ajoutez votre adresse e-mail](/manual/quickstart/login#adding-user).

![](../../../assets/en/manual/quickstart/new_media.png){width="600"}

2\. Suivez le guide pour [Recevoir une notification de problème](/manual/quickstart/notification).

La prochaine fois que Zabbix détectera un problème, vous devriez recevoir une alerte par e-mail.

[comment]: # ({/133d5107-c98bb7b1})

[comment]: # ({1be06fac-a0c24d90})
## Testez votre configuration

Pour vous assurer que Zabbix détecte correctement les problèmes de performance réseau, simulez un problème réel en augmentant le seuil du temps de réponse du ping ICMP.

1\. Ouvrez la configuration de votre hôte "Cisco Router" dans Zabbix.

2\. Accédez à l’onglet *Macros* et sélectionnez *Inherited and host macros*.

3\. Repérez la macro ``{$ICMP_RESPONSE_TIME_WARN}`` (ou une macro similaire de seuil de temps de réponse).

4\. Définissez une valeur très basse (par exemple, 0.001) afin de déclencher une alerte lorsque le temps de réponse du ping dépasse cette valeur.

5\. Cliquez sur *Update* pour appliquer les modifications.

6\. Attendez quelques instants que Zabbix détecte le problème simulé.

7\. Accédez à *Monitoring > Problems* pour vérifier qu’une alerte apparaît (par exemple, "High ICMP ping response time").

![](../../../assets/en/manual/guides/switch_problem.png){width="600"}

Si des alertes sont [configurées](#set-up-problem-alerts), vous devriez également recevoir une alerte de problème.

8\. Rétablissez la valeur d’origine de la macro et cliquez sur *Update* pour enregistrer les modifications.

9\. Confirmez que le problème est résolu et disparaît de la section *Problems*.

[comment]: # ({/1be06fac-a0c24d90})

[comment]: # ({28c7c206-d7537870})
## Dépannage de la supervision SNMP

Si vous remarquez que l'icône SNMP dans l'interface Zabbix apparaît en ROUGE ou qu'aucune donnée n'est collectée, essayez les étapes suivantes :

1\. Vérifiez la connectivité SNMP.

Pour SNMPv2, exécutez la commande suivante depuis votre serveur Zabbix :

```bash
snmpwalk -v 2c -c <community_string> <device_IP> .
```

Cette commande vérifie que l'appareil répond aux requêtes SNMP.

Pour SNMPv3, incluez les identifiants SNMPv3 appropriés :

```bash
snmpwalk -v3 -u <your_user> -l authPriv -a MD5 -A <auth_password> -x AES -X <priv_password> <device_IP> .
```

Cela vérifie que les identifiants SNMPv3 sont corrects et que l'appareil répond de manière sécurisée.

2\. Assurez-vous que les fichiers MIB sont installés et activés comme décrit dans les [prérequis](#prerequisites).
Pour vous en assurer, la commande suivante ne doit pas renvoyer d'erreur lorsque vous interrogez un périphérique réseau :

```bash
snmpwalk -v 2c -c <your_community_string> <device_IP> ifInOctets
```

Cela doit renvoyer des OID traduits sans erreurs.

3\. Confirmez que la version SNMP et les identifiants configurés dans Zabbix correspondent à ceux définis sur votre appareil.
Par exemple, vérifiez les paramètres SNMP dans la configuration de l'hôte Zabbix et comparez-les à la configuration de votre appareil.
Sur un appareil Cisco, vous pouvez vérifier les paramètres SNMP en exécutant :

```default
show running-config | include snmp
```

Cela garantit que la chaîne de communauté (pour SNMPv2) ou les détails de l'utilisateur SNMPv3 sont corrects.

4\. Vérifiez que SNMP est correctement activé sur votre périphérique réseau.
Sur un routeur Cisco, connectez-vous à la console et exécutez :

```default
show running-config | include snmp
```

Cette commande affiche la configuration SNMP active et aide à confirmer que SNMP est correctement configuré.

5\. Assurez-vous qu'aucun pare-feu ou problème réseau ne bloque le trafic SNMP (généralement sur le port 161) entre le serveur Zabbix et l'appareil.
Vous pouvez tester la connectivité avec :

nc -zv <device_IP> 161

``nc -zv`` vérifie si le port 161 est ouvert et à l'écoute sur l'appareil.

De plus, si vous utilisez UFW sur Ubuntu, vérifiez l'état du pare-feu :

```bash
sudo ufw status
```

Ou, pour iptables :

```bash
sudo iptables -L -n
```

6\. Consultez les fichiers journaux du serveur Zabbix pour toute erreur liée à SNMP afin d'aider à identifier le problème :

```bash
tail -f /tmp/zabbix_server.log
```

``tail -f`` vous permet de surveiller les mises à jour du journal en temps réel.

[comment]: # ({/28c7c206-d7537870})

[comment]: # ({20664b64-aeb05d60})
**Voir aussi :**

- [Création d’un élément](/manual/config/items/item) - découvrez comment ajouter des métriques supplémentaires.
- [Agent SNMP](/manual/config/items/itemtypes/snmp) - informations supplémentaires sur la supervision SNMP avec Zabbix.
- [Modèles standardisés pour les équipements réseau](/manual/config/templates_out_of_the_box/network_devices) - informations sur les modèles SNMP disponibles.
- [Découverte des OID SNMP](/manual/discovery/low_level_discovery/examples/snmp_oids_walk) - informations supplémentaires sur la découverte SNMP sur un commutateur.
- [Configuration d’une règle de découverte réseau](/manual/discovery/network_discovery/rule) - informations supplémentaires sur la manière de configurer une règle de découverte réseau utilisée par Zabbix pour découvrir des hôtes et des services.

[comment]: # ({/20664b64-aeb05d60})
