Superviser un switch Cisco avec SNMP Exporter et Prometheus

Configuration SNMP sur Cisco IOS, installation de SNMP Exporter et intégration avec Prometheus pour la supervision réseau.
17 March 2025 244 words Reading: 2 min Authors:
  • Loïs Dutour

Mise en place de la supervision d’un switch Cisco via SNMP, avec SNMP Exporter comme passerelle vers Prometheus.

Cisco Prometheus Grafana SNMP

Configuration SNMP sur le switch Cisco

conf t
snmp-server community public RO
snmp-server community private RW
snmp-server host 172.16.96.50 version 2c public
exit

⚠️ Les communautés public et private sont des valeurs par défaut connues – en production, utilise des noms de communauté personnalisés et restreins les accès SNMP à des hôtes spécifiques via une ACL.


Installation de SNMP Exporter

wget https://github.com/prometheus/snmp_exporter/releases/download/v0.28.0/snmp_exporter-0.28.0.linux-amd64.tar.gz
tar -xvzf snmp_exporter-0.28.0.linux-amd64.tar.gz
cd snmp_exporter-0.28.0.linux-amd64
./snmp_exporter

Vérification :

curl http://localhost:9116/metrics

Configuration de SNMP Exporter pour Cisco

Le fichier snmp.yml définit les OIDs à collecter. Sauvegarde l’original avant modification :

cp snmp.yml snmp.bak
sudo nano snmp.yml
cisco_ios:
  walk:
    - 1.3.6.1.2.1.2.2.1.10   # ifInOctets  -- trafic entrant par interface
    - 1.3.6.1.2.1.2.2.1.16   # ifOutOctets -- trafic sortant par interface
    - 1.3.6.1.2.1.2.2.1.14   # ifInErrors  -- erreurs entrantes
    - 1.3.6.1.2.1.2.2.1.20   # ifOutErrors -- erreurs sortantes
    - 1.3.6.1.4.1.9.2.1.56   # Cisco CPU Usage
  version: 2c
  auth:
    community: "public"
  target: "172.16.96.115"

Configuration de Prometheus

Dans prometheus.yml, ajoute le job de scrape pour SNMP Exporter :

scrape_configs:
  - job_name: 'snmp'
    static_configs:
      - targets: ['172.16.96.115']  # IP du switch Cisco
    metrics_path: /snmp
    params:
      module: [cisco_ios]
    relabel_configs:
      - source_labels: [__address__]
        target_label: __param_target
      - source_labels: [__param_target]
        target_label: instance

Le relabel_config permet à Prometheus de passer l’IP du switch comme paramètre target à SNMP Exporter plutôt que d’essayer de scraper le switch directement.


Flux de données

graph LR Cisco[Switch Cisco\n172.16.96.115] -->|SNMP v2c| Exporter[SNMP Exporter\n:9116] Exporter -->|métriques HTTP| Prometheus[Prometheus\n:9090] Prometheus --> Grafana[Grafana]