noqqe


blog | sammelsurium | projects | about

Nagios | Ricoh-Drucker Tonerstand per SNMP abfragen

2010-06-24 @ administration, auffüllen, blog, devops, drucker, linux, nagios, ricoh, snmp, stand, status, toner

Schon wieder Nagios. Diesmal aber nur als kleine Notiz für mich. Vor kurzem hab ich erst die Zählerstände der Papierfächer in unser firmeninternes Nagios eingebunden. Dasselbe funktioniert natürlich auch mit den Tonern.

Beschreibung der Fächer mit snmpwalk abholen:

snmpwalk -Os -c public -v 1 192.168.1.200
mib-2.43.11.1.1.6.1.1 = STRING: "Toner Schwarz"
mib-2.43.11.1.1.6.1.2 = STRING: "Resttoner"
mib-2.43.11.1.1.6.1.3 = STRING: "Toner Cyan"
mib-2.43.11.1.1.6.1.4 = STRING: "Toner Magenta"
mib-2.43.11.1.1.6.1.5 = STRING: "Toner Gelb"

Status der Toner als Integerwerte (0 = leer, -3 = voll)

mib-2.43.11.1.1.9.1.1 = INTEGER: 0
mib-2.43.11.1.1.9.1.2 = INTEGER: -3
mib-2.43.11.1.1.9.1.3 = INTEGER: -3
mib-2.43.11.1.1.9.1.4 = INTEGER: 0
mib-2.43.11.1.1.9.1.5 = INTEGER: -3

Kommando für Nagios konfigurieren:

define command{
  command_name check_toner
  command_line /usr/lib/nagios/plugins/check_snmp -H '$HOSTADDRESS$' -C  '$ARG1$' -o mib-2.43.11.1.1.9.1.$ARG2$ -w '$ARG3$': -c '$ARG4$':
}

Service für den Host einbinden:

define service {
  use generic-service ; Name of service template to use
  host_name druckerxyz
  service_description TONER YELLOW
  check_command check_toner!public!5!2!1
}

Comments (4)

Anonymous on 2015-08-20T16:18:13.746999
Hallo ! Erstmal vorweg danke für die tollen Infos :) ... Habe heute begonnen Ricoh Drucker in unser Nagios System einzubinden und bin bei der Recherche auf Ihren Artikel gestoßen. Leider scheint es bei mir nicht ohne weiteres zu funktionieren. Ich erhalte als Rückgabewert für den check wenn ich ihn genauso anlege: External command error: Bad Operator (INTEGER): At line 73 in /usr/share/mibs/ietf/SNMPv2-PDU Sagt Ihnen das zufällig etwas ? Wäre hier für jede Hilfe dankbar ! :)

Anonymous on 2015-08-20T18:46:38.448844
So wie es aussieht hab ich es hinbekommen. Ich erhalte jetzt einen Rückgabewert. Leider ist der Wert aber immer der selbe ( 3 ) . Ich habe es mit dem vorgeschlagenen MIB auf 2 Geräten getestet und jeweils erhalte ich egal wie der Tonerstand ist immer den gleichen Rückgabewert... Was mache ich noch falsch ?

noqqe on 2015-08-21T09:05:29.092663
Hast du mal nachgeschaut ob du wirklich die richtige OID abfragst? Der Post ist immerhin 5 Jahre alt, vielleicht haben sich die OIDs vom Hersteller geändert? Hab da auch lange gesucht. Am Besten mal nach den Strings greppen die du suchst und dann drüber oder drunter nachschauen, ober der Status dazu passt. Wahlweise auch etwas Trial and Error Verfahren anwenden. Anfangs hab ich den Toner mal Rausgezogen, dann wieder SNMP angefragt und geschaut welcher Wert sich ändert.

jigsaw on 2015-08-21T10:33:17.947086
mib-2.43 ist die Standardadresse für Printer. Also wird sich an der Adresse relativ wenig ändern. Was bei relativ vielen Druckern vorkommt, dass man einerseits die mib-2.43 abfragen kann und zusätzlich noch eine Herstellerspezifische Adresse. Wenn ich einen neuen Drucker finde, bemühe ich immer 2 Abfragen mit snmpwalk Einerseits 'snmpwalk -Os -c public -v public .1.3.6.1.4.1' Damit kriege ich als Ausgabe in der Regel die Herstellerspezifischen Adressen. Da findet man ab und zu auch mal den Tonerstand, je nach Hersteller. (Hier muss man wirklich tüfteln oder google für entsprechende Guides/Mib-Datenbanken bemühen, weil der Tonerstand mal über 2 Werte als %Wert errechnet werden muss, mal als %-Wert dasteht oder eben wirklich nur der "Nagios"-Zustand [0,1,3]) Andererseits 'snmpwalk -Os -c public -v public .1.3.6.1.2.1' Dort bekommt man neben Haufenweise Informationen über Schnittstellen eben auch die Universellen PrinterOID's geliefert.