如何使用 snmpset 在 MIB table 中添加行?
How to add row in a MIB table with snmpset?
我最近更改了我的自定义 MIB 文件以包含 tables 而不仅仅是标量,它验证,我可以创建子代理等。但是如果我尝试读取它,它说没有条目:
snmptable -v1 -c public hostname:10161 myMibName::myTable
myMibName::myTable: No entries
好吧,我没有在我的代理代码中向 table 添加任何 default/sample 行。
如果我尝试使用 snmpset 设置 table 的一些值,就像我在标量上所做的那样,它总是失败,所以 table 需要它自己的语法。
如何使用 snmpset 或类似工具向 table 添加一行?
例如,示例 table 可能看起来像这个一样简单,其中 'myString' 是索引:
MyTableEntrySequence::= SEQUENCE {
myString
OCTET STRING,
test1
Integer32,
test2
Integer32
}
编辑:我没有在 table 中使用 RowStatus。我是否需要使用 RowStatus 才能添加新行?
EDIT2:我已经从 net-snmp 示例中编译了 data_set.c 代理,它用一些数据填充示例 table 并且可以使用 snmptable 查询其内容:
snmpwalk -v 1 -c public hostname:10161 netSnmpIETFWGTable
NET-SNMP-EXAMPLES-MIB::nsIETFWGChair1."snmpv3" = STRING: "Russ Mundy"
NET-SNMP-EXAMPLES-MIB::nsIETFWGChair2."snmpv3" = STRING: "David Harrington"
假设,table (myTable
) 包含一个字符串 (stringIndex
) 和 2 个整数(test1
和 test2
),而第一个 table 列也是 table 索引,您可以添加以下行:
snmpset -v 1 -c public hostname:10161 yourMibName::test1.\"testString\" = 365
这会添加一个新的 table 行,其中
stringIndex = "testString"
test1 = 365
test2 = 0
要将 test2 设置为 42,您需要调用:
snmpset -v 1 -c public hostname:10161 yourMibName::test2.\"testString\" = 42
要验证您的 table 内容,您可以使用 snmpwalk 或 snmptable:
snmpwalk -v 1 -c public hostname:10161 yourMibName::myTable
我最近更改了我的自定义 MIB 文件以包含 tables 而不仅仅是标量,它验证,我可以创建子代理等。但是如果我尝试读取它,它说没有条目:
snmptable -v1 -c public hostname:10161 myMibName::myTable
myMibName::myTable: No entries
好吧,我没有在我的代理代码中向 table 添加任何 default/sample 行。
如果我尝试使用 snmpset 设置 table 的一些值,就像我在标量上所做的那样,它总是失败,所以 table 需要它自己的语法。
如何使用 snmpset 或类似工具向 table 添加一行?
例如,示例 table 可能看起来像这个一样简单,其中 'myString' 是索引:
MyTableEntrySequence::= SEQUENCE {
myString
OCTET STRING,
test1
Integer32,
test2
Integer32
}
编辑:我没有在 table 中使用 RowStatus。我是否需要使用 RowStatus 才能添加新行?
EDIT2:我已经从 net-snmp 示例中编译了 data_set.c 代理,它用一些数据填充示例 table 并且可以使用 snmptable 查询其内容:
snmpwalk -v 1 -c public hostname:10161 netSnmpIETFWGTable
NET-SNMP-EXAMPLES-MIB::nsIETFWGChair1."snmpv3" = STRING: "Russ Mundy"
NET-SNMP-EXAMPLES-MIB::nsIETFWGChair2."snmpv3" = STRING: "David Harrington"
假设,table (myTable
) 包含一个字符串 (stringIndex
) 和 2 个整数(test1
和 test2
),而第一个 table 列也是 table 索引,您可以添加以下行:
snmpset -v 1 -c public hostname:10161 yourMibName::test1.\"testString\" = 365
这会添加一个新的 table 行,其中
stringIndex = "testString"
test1 = 365
test2 = 0
要将 test2 设置为 42,您需要调用:
snmpset -v 1 -c public hostname:10161 yourMibName::test2.\"testString\" = 42
要验证您的 table 内容,您可以使用 snmpwalk 或 snmptable:
snmpwalk -v 1 -c public hostname:10161 yourMibName::myTable