我应该看一下snmp OID,看看我的打印机和交换机是否正在运行

时间:2012-04-24 09:47:06

标签: bash networking snmp

我是snmp的新手,我正在试图找出我应该得到/陷阱的OID,看看我的打印机,交换机(和服务器)是否正在运行?我不需要知道细节 - 只是一个简单的测试。我已经成功地通过bash和iReasoning MIB browser从设备获取,getbulk,(和walk)请求。

编辑:

也许是

.1.3.6.1.2.1.1.3.0
Name/OID: sysUpTime.0; Value (TimeTicks): 194 hours 43 seconds (69844352)

用于那个!?出现问题时会发生什么? - 这会立即重置吗? - 或者它会停止计数?或者只是上次开机以来的时间?

1 个答案:

答案 0 :(得分:3)

打印机

您应该使用Printer MIBv2 monitior打印机错误状态进行卡纸...

  • hrPrinterDetectedErrorState报告打印机错误,例如碳粉不足,卡纸等...... RFC包含有关具体代码含义的详细信息
  • hrDeviceStatus将揭示打印机处理任务的全局能力。有关详细信息,请参阅Printer MIBv2, Section 2.2.13.2

sysUpTime.0是一个OID,用于报告系统的SNMP堆栈已启动的时间(参考RFC 1213: MIB-II)。如果返回此值并递增,则打印机启动时可以安全地下注99%。大多数人使用sysUpTime来检测设备是否因某种原因重新启动;如果发生这种情况,你会看到sysUpTime.0突然减少,除非你的最后一个值大约是248天(32位计数器会滚动)。

以太网交换机

检查以太网交换机的基本运行状况通常是通过对sysDescr.0sysUpTime.0的检查来完成的。如果您关心特定链接的上/下状态,则会出现此启发式问题...此时,您需要检查ifOperStatus的值,该值由ifIndex索引并使用接口名称来自ifName。请参阅以下示例...

[mpenning@Hotcoffee ~]$ ## Walk ifName correlated to ifIndex
[mpenning@Hotcoffee ~]$ snmpwalk -v 2c -c Public 172.25.116.6 .1.3.6.1.2.1.31.1.1.1.1
iso.3.6.1.2.1.31.1.1.1.1.1 = STRING: "Fa0/0"
iso.3.6.1.2.1.31.1.1.1.1.2 = STRING: "Nu0"
[mpenning@Hotcoffee ~]$ ## Walk ifOperStatus (up==1)
[mpenning@Hotcoffee ~]$ snmpwalk -v 2c -c Public 172.25.116.6 .1.3.6.1.2.1.2.2.1.8
iso.3.6.1.2.1.2.2.1.8.1 = INTEGER: 1
iso.3.6.1.2.1.2.2.1.8.2 = INTEGER: 1
[mpenning@Hotcoffee ~]$

因此我们从例子中知道接口“Fa0 / 0”(索引:1)和“Nu0”(索引:2)的ifOperStatus都是“up”;索引值是结果的OID中返回的最后一个整数。

脚本

我假设您将使用bash作为监控脚本;如果是,请查看Net-SNMP以获取SNMP管理器