Depuis IpFire
Créer un script pour savoir si une mise à jour est disponible pour ipfire, par exemple copié collé dans /usr/lib/nagios/check_ipfire_core_update. Puis attribuer les droits d’exécution :
mkdir -p /usr/lib/nagios/
cat > /usr/lib/nagios/check_ipfire_core_update <<EOF
#!/bin/bash
STATE_OK=0
STATE_WARNING=1
STATE_CRITICAL=2
STATE_UNKNOWN=3
STATE_DEPENDENT=4
SYSTEM=\`cat /opt/pakfire/db/lists/core-list.db |grep "core_"\`
PAKFIRE=\\\$core_release=\"\`cat /opt/pakfire/db/core/mine\`\"\;
if [[ \$SYSTEM == \$PAKFIRE ]]
then
echo \$STATE_OK
exit 0
else
echo \$STATE_CRITICAL
exit 2
fi
exit 3
EOF
chmod +x /usr/lib/nagios/check_ipfire_core_update
Ajouter la ligne suivante dans /etc/snmpd.conf et on relance le service snmpd
echo "extend update /usr/local/bin/check_ipfire_core_update" >> /etc/snmpd.conf
/etc/init.d/snmpd restart
Avant, sur Ipfire, on check l’OID.
snmpwalk -v2c -c public 127.0.0.1 nsExtendOutput1
NET-SNMP-EXTEND-MIB::nsExtendOutput1Line."update" = STRING: 0
NET-SNMP-EXTEND-MIB::nsExtendOutput1Line."echotest" = STRING: hello world
NET-SNMP-EXTEND-MIB::nsExtendOutputFull."update" = STRING: 0
NET-SNMP-EXTEND-MIB::nsExtendOutputFull."echotest" = STRING: hello world
NET-SNMP-EXTEND-MIB::nsExtendOutNumLines."update" = INTEGER: 1
NET-SNMP-EXTEND-MIB::nsExtendOutNumLines."echotest" = INTEGER: 1
NET-SNMP-EXTEND-MIB::nsExtendResult."update" = INTEGER: 0
NET-SNMP-EXTEND-MIB::nsExtendResult."echotest" = INTEGER: 0
snmptranslate -On NET-SNMP-EXTEND-MIB::nsExtendOutput1Line.\"update\"
.1.3.6.1.4.1.8072.1.3.2.3.1.1.6.117.112.100.97.116.101
Depuis le superviseur
Command à créer dans Eyes Of Network :
$USER1$/check_snmp -H $HOSTADDRESS$ -P 1 -C $USER2$ -o .1.3.6.1.4.1.8072.1.3.2.3.1.1.6.117.112.100.97.116.101 -l "Update" -s 0 -c 2
Ce qui donnerai dans un fichier texte normal
define command {
command_name check_ipfire_update
command_line $USER1$/check_snmp -H $HOSTADDRESS$ -P 1 -C $USER2$ -o .1.3.6.1.4.1.8072.1.3.2.3.1.1.6.117.112.100.97.116.101 -s 0 -c 2 -l "Update"
}