Tim*_*der 5 printer snmp network-printer
我被要求掌握我们工作中 100 多台打印机的总页数。它们都是某种描述的 HP Laser 或 Business Jet,并且绝大多数通过某种形式的 HP JetDirect 网卡/交换机连接。在输入 IP 地址并将相关数字复制并粘贴到 Excel 中数小时后,我现在被要求每周执行一次此操作。这让我觉得一定有一个更简单的方法,作为一名 IT 专业人士,我肯定可以找到一些节省时间的方法来解决这个问题。
我只想说,在尝试让 SNMP 为我工作一天左右之后,我现在感觉不是很专业!
据我了解,第一件事是在打印机上启用 SNMP。完毕。接下来我需要一些东西来查询 SNMP 位。我决定开源和免费,这里有人推荐 net-snmp 作为一个不错的工具(我想刚刚将打印机添加为 SolarWinds 中的节点,但我们显然对许可证有些紧张)。接下来我需要 MIB 的名称。为此,我相信 HP-LASERJET-COMMON-MIB 中包含正确的信息。下载并添加到 net-snmp。现在我需要 OID,我相信经过多次搜索后我认为它是印刷媒体单工计数(我们没有双面打印机,至少我们对此感兴趣)。运行以下命令会产生以下令人沮丧的输出:
snmpget -v 2c -c public 10.168.5.1 HP-LASERJET-COMMON-MIB:.1.3.6.1.2.1.1.16.1.1.1
Run Code Online (Sandbox Code Playgroud)
(OID 源自运行:
snmptranslate -IR -On printed-media-simplex-count
Unlinked OID in HP-LASERJET-COMMON-MIB: hp ::= { enterprises 11 }
Undefined identifier: enterprises near line 3 of C:/usr/share/snmp/mibs/HP-LASER
JET-COMMON-MIB..txt
.1.3.6.1.2.1.1.16.1.1.1 )
Unlinked OID in HP-LASERJET-COMMON-MIB: hp ::= { enterprises 11 }
Undefined identifier: enterprises near line 3 of C:/usr/share/snmp/mibs/HP-LASER
JET-COMMON-MIB..txt
HP-LASERJET-COMMON-MIB:.1.3.6.1.2.1.1.16.1.1.1:
Run Code Online (Sandbox Code Playgroud)
我是不是完全用错了树?我的目标是编写所有脚本,将打印机的所有 IP 地址输出到一个文件中,然后将其放入 Excel 中,供我的领主和大师在闲暇时消化。我有一种感觉,我使用了错误的 MIB 或来自所述 MIB(或两者)的错误 OID。有没有人对我有任何指示?或者我应该放弃并返回单独导航每个打印机网页(希望不是)。
小智 7
嗯,这很奇怪——我认为信息是通过 SNMP 公开的。然而,我们其中一台 P4515 的快速 snmpwalk 仅显示使用当前安装的定影器打印的页数。要查看通过 snmp 公开的所有信息,我执行了以下操作:
snmpwalk -Cc -v 1 -c public ipaddress
Run Code Online (Sandbox Code Playgroud)
如果当前安装的热熔器上打印页面的 OID 有任何用处,则它是:
2.43.10.2.1.4.1.1
Run Code Online (Sandbox Code Playgroud)