我正在编写 MIB 和 SNMP 代理。我似乎对 DISPLAY-HINT 和 UNITS 之间的明显冲突感到困惑。NMS 最好有 DISPLAY-HINT 还是了解单位?
这个问题的背景如下: MIB 中的一个对象是 mPowerVoltage:
FixedDiv10 ::= TEXTUAL-CONVENTION
DISPLAY-HINT "d-1"
STATUS current
DESCRIPTION "Fixed point, one decimal"
SYNTAX Integer32
mPowerVoltage OBJECT-TYPE
SYNTAX FixedDiv10
UNITS "V/10"
MAX-ACCESS read-only
STATUS current
DESCRIPTION "Power Voltage in desiVolts"
::= { mPowerEntry 2 } -- an entry in a table with integer index
我理解的值的“在线”实际传输,例如 10.8 V 在 Integer32 中传输为 108。这就是我将 UNITS 设置为“V/10”并将对象描述为 desiVolts 中的电源电压的动机。但是,当我使用 snmpget 时,我得到:
snmpget -c public -v 1 -m -MY-MIB 192.168.1.3 mPowerVoltage.1
MY-MIB::mPowerVoltage.1 = INTEGER: 10.8 V/10
这确实是我指定的,但显然是错误的。
但是我几乎不能将单位更改为“V”?因此问题是,我应该删除 DISPLAY-HINT,还是应该删除 UNITS?
巴尔德