Nagios y Epson Aculaser AL-C2600DN via SNMP

Este es un script bastante simple para monitorizar vía SNMP una impresora Epson AL-C2600DN en remoto desde el Nagios. (Devuelve los mensajes de error por stdout, se puede usar sin Nagios)

This is a pretty simple script to remotely monitor an Epson AL-C2600DN printer via SNMP using Nagios. (It will also print printer status to stdout, so it can also be used outside Nagios).

#!/bin/bash
# Nagios plugin to check Epson AL-C2600DN printer Warnings via SNMP
# Plugin de Nagios para comprobar las alertas de la impresora Epson AL-C2600DN via SNMP
#
# This is now only reporting WARN as its main purpose is monitoring supplies level.
# De momento solo devuelve WARN porque lo que controla son avisos de consumibles bajos.
#
. /usr/lib/nagios/plugins/utils.sh
#
# 2010-10-04 
# https://javierin.com/2010/10/07/nagios-epson-aculaser-al-c2600dn-via-snmp/
# 
#
# v0.1 Comprobacion simple de 1 valor de warning conocido
# v0.2 Bucle por los valores SNMP conocidos que presentan las descripciones de error
#
# ***REPLACE*** HOSTNAME-O-IP with proper values

ERROR1="iso.3.6.1.2.1.43.18.1.1.8.1.1"
ERROR2="iso.3.6.1.2.1.43.18.1.1.8.1.2"
ERROR3="iso.3.6.1.2.1.43.18.1.1.8.1.3"
ERROR4="iso.3.6.1.2.1.43.18.1.1.8.1.4"
ERROR5="iso.3.6.1.2.1.43.18.1.1.8.1.5"
ERROR6="iso.3.6.1.2.1.43.18.1.1.8.1.6"
ERROR7="iso.3.6.1.2.1.43.18.1.1.8.1.7"
ERROR8="iso.3.6.1.2.1.43.18.1.1.8.1.8"
ERROR9="iso.3.6.1.2.1.43.18.1.1.8.1.9"
ERROR10="iso.3.6.1.2.1.43.18.1.1.8.1.10"

CONTADOR=0
for i in $ERROR1 $ERROR2 $ERROR3 $ERROR4 $ERROR5 $ERROR6 $ERROR7 $ERROR8 $ERROR9 $ERROR10
do
CHECK=$(snmpget -Ov -v1 -c public HOSTNAME-O-IP $i 2>/dev/null;)
if [ "$?" -eq 0 ]
then
  MENSAJE=$(echo $CHECK |cut -d ' ' -f2- |sed -e 's/"//g')
  echo "WARNING: $MENSAJE"
  let CONTADOR=CONTADOR+1
fi
done
if [ "$CONTADOR" -eq 0 ]
then
  echo "OK"
  exit $STATE_OK
else
  exit $STATE_WARN
fi

Cualquier comentario, añadido y sugerencia son bienvenidos 🙂