PySNMP查询选择的接口列表

2024-10-01 09:25:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我想得到所有关于接口选择列表的信息。目前我有一个变量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,但我不知道如何选择接口。在


Tags: 数据in信息列表forbasevarargs
1条回答
网友
1楼 · 发布于 2024-10-01 09:25:58

假设您正在尝试优化SNMP通信的数量,那么您可以使用getBulk(),但对于相邻接口的池。例如,如果必须查询接口2、3、4,可以对接口1执行getBulk(),同时将maxprepetitions和maxRows参数设置为3(要查询的接口数)。在

这些“隔离”接口可以单独查询,方法是将它们放在oid_参数的开头,并相应地设置getBulk的nonRepeaters选项。在

无论SNMP请求类型如何,您都可以在请求中填充尽可能多的OID,而不一定只包含属于单个接口的OID。在

相关问题 更多 >