Snmp bond.sh

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Domaine Supervision du bonding via SNMP
Type Script shell (extend SNMP / plugin Nagios)
Voir aussi Tables SNMP · Bonding

Script d'extension SNMP qui expose l'état des interfaces bonding Linux (agrégation de liens) à un superviseur (Nagios/Centreon), en lisant /proc/net/bonding/.

Principe

Le noyau publie l'état de chaque bond dans /proc/net/bonding/<interface>. Le script parcourt ce répertoire et renvoie, par interface, l'esclave actif et l'état du lien — à câbler comme commande exec/extend dans snmpd.conf ou comme plugin de contrôle.

#!/bin/bash
BONDING_STAT_DIR=/proc/net/bonding/

for BONDING_INTERFACE in $(ls "$BONDING_STAT_DIR"); do
    ACTIVE=""
    STATUS=""
    while read -r LINE; do
        case "$LINE" in
            "Currently Active Slave:"*) ACTIVE="${LINE##*: }" ;;
            "MII Status:"*)             STATUS="${LINE##*: }" ;;
        esac
    done < "$BONDING_STAT_DIR/$BONDING_INTERFACE"
    echo "$BONDING_INTERFACE actif=$ACTIVE etat=$STATUS"
done

Intégration SNMP

Déclarer le script comme OID exécutable dans /etc/snmp/snmpd.conf :

extend bonding /usr/local/bin/snmp_bond.sh

puis l'interroger via NET-SNMP-EXTEND-MIB. Voir Tables SNMP pour l'interrogation des OID.

Voir aussi