我想得到所有关于接口选择列表的信息。目前我有一个变量oid_base
oid_base = ['1.3.6.1.2.1.2.2.1.1.',
'1.3.6.1.2.1.2.2.1.2.',
'1.3.6.1.2.1.2.2.1.3.',
...,
'1.3.6.1.2.1.2.2.1.22.']
以及一个接口列表(我想查询几百个接口中的20个)
^{pr2}$为了获得我想要的数据,我在接口中循环,并为每个传递给cmdgen.getCmd
的接口创建一个oid_args
:
for interface in snmpif.interfaces():
oid_args = [str(b + interface) for b in oid_base]
ei, es, ein, var_binds = cmd_gen.getCmd(sec_obj, trans, *oid_args)
# Handle errors and output of `var_binds`
有没有一种方法可以批量查询所有接口并取回一个表。在
我尝试过使用cmdgen.bulkCmd
,但我不知道如何选择接口。在
假设您正在尝试优化SNMP通信的数量,那么您可以使用getBulk(),但对于相邻接口的池。例如,如果必须查询接口2、3、4,可以对接口1执行getBulk(),同时将maxprepetitions和maxRows参数设置为3(要查询的接口数)。在
这些“隔离”接口可以单独查询,方法是将它们放在oid_参数的开头,并相应地设置getBulk的nonRepeaters选项。在
无论SNMP请求类型如何,您都可以在请求中填充尽可能多的OID,而不一定只包含属于单个接口的OID。在
相关问题 更多 >
编程相关推荐