úterý 22. března 2016

SNMP pro tiskárnu

Některé tiskárny podporují získávání stavu pomocí protokolu SNMP (Simple Network Management Protocol)
Protokol běží na UDP a má 3 verze. Druhá verze má přihlašování a třetí šifrování.

Obecné hodnoty
.iso.org.dod.internet.mgmt.mib-2.system.sysName.0 = LaserJetM1120n
.iso.org.dod.internet.mgmt.mib-2.system.sysUpTime.0 = 3 hours, 9 minutes, 5 seconds.

[1]
.1.3.6.1.4.1.11.2.3.9.4.2.1.4.1.2.34.0 = 20 [%] procentuelní stav toneru
.1.3.6.1.2.1.43.10.2.1.4.1.1 = počet vytisknutých stránek.1.3.6.1.2.1.43.11.1.1.6.1.1 = Black Cartridge CB436A

HP [2]
HP Toner Cur: 1.3.6.1.2.1.43.11.1.1.9.1.1  (např. 176)
HP Toner Max: 1.3.6.1.2.1.43.11.1.1.8.1.1 (např. 884)
level = (100*176)/884 = 19,90950226244344 % (administrace tiskárny ukazuje 20%)


Zdroje: 
[1] https://exchange.nagios.org/directory/Plugins/Hardware/Printers/SNMP-Printer-Check/reviews2
[2] https://www.sysaid.com/Sysforums/posts/list/8717.page
[3] https://cs.wikipedia.org/wiki/Simple_Network_Management_Protocol
[4] http://www.mibdepot.com/cgi-bin/getmib3.cgi?win=mib_a&r=hp&f=lj3300_snmp.mib&v=v1&t=tree

PHP ukázka kódu
$buff .= '<h2><a href="http://192.168.2.3/">Stav toneru v tiskarne</a></h2>';
snmp_set_quick_print(0);
$level = snmpget("192.168.2.3", "public", ".1.3.6.1.2.1.43.11.1.1.9.1.1");
$max = snmpget("192.168.2.3", "public", ".1.3.6.1.2.1.43.11.1.1.8.1.1");
$buff .= $level .'/'. $max .'&nbsp;-&nbsp;'. (int)($level*100/$max) .'% ' ."<br />\n";

Žádné komentáře:

Okomentovat