snmp getbulk_使用SNMP GetBulk请求进行数据检索

IBM i 7.1和7.2版本增强了SNMP功能,包括通过端口161统一响应,配置存储池块大小以解决大小显示问题,以及支持SNMP GetBulk操作提升数据检索效率。本文提供了一个使用SNMPv3 GetBulk请求的编程示例,演示如何从IBM i系统的标准SNMP表中获取大量数据。
摘要由CSDN通过智能技术生成

IBM i 7.1和IBM i 7.2版本最近得到了增强,以为SNMP相关功能提供新功能。 这些新功能为IBM i客户提供了改进的性能和增强的可用性。 在本文中,我将讨论这些新的增强功能,并提供一个使用其中一些功能的编程示例。 本文的主要重点是使用GetBulk操作轻松地从标准SNMP表之一检索数据。

通过端口161发送SNMP响应

过去,IBM i通过UDP端口161接收SNMP请求,然后通过随机临时端口发送响应。 此行为使管理员难以配置防火墙,并且仍然允许SNMP通信在IBM i SNMP代理与基于SNMP的远程系统或网络管理应用程序之间流动。 SNMP代理已更改,因此现在将通过UDP端口161发送对SNMP请求的响应。现在还将通过端口161发送源自IBM i系统的SNMP陷阱消息。此更改不会影响IBM i陷阱管理器。 ,它将继续通过UDP端口162接收陷阱消息。IBM i陷阱管理器转发的陷阱也将通过端口161发送。此更改也不会影响将继续通过以下方式发送请求的本机IBM i SNMP管理器API。随机的临时端口。

配置存储池和磁盘块大小

随着存储池和单个磁盘单元的存储大小增加,原始SNMP设计的限制已达到或在某些情况下已超出。 例如,SNMP在IBM i系统上为8 TB磁盘单元返回的大小在某些系统管理应用程序中可能显示为负数,或者可能被标记为无效。 SNMP的最新增强功能允许配置块大小,以用于返回存储池和磁盘单元的存储大小信息。 要注意的一件事是,对磁盘单元使用这种支持可能会导致IBM i不符合RFC 1514标准,该标准将磁盘单元块的大小定义为1024字节。 可以使用“ Change SNMP Attributes (CHGSNMPA)命令上的新块大小(BLKSIZE)参数来配置更大的块大小。 通过使用适当的块大小,可以避免与错误的存储大小值或系统管理应用程序将磁盘单元标记为无效有关的混乱。

GetBulk操作支持

SNMP GetBulk操作是在SNMP版本2(SNMPv2)中引入的,它提供了一种方法,可通过单个SNMP请求轻松获得相对大量的数据。 尽管IBM i不支持SNMPv2,但它确实支持SNMP版本3,该版本为SNMP消息提供了改进的安全性和保密性。 现在,IBM i 7.1和IBM i 7.2代理完全支持SNMPv3的GetBulk请求。 另外,在IBM i 7.2中,有一个新的SNMP管理器API snmpGetbulk_v3 ,可用于将GetBulk请求发送到SNMPv3代理。

使用GetBulk检索表信息

现在,让我们看一下在IBM i系统上运行的SNMP管理器的C程序示例。 GetBulk操作用于从其他系统检索有关存储池的信息。 此示例假定SNMPv3已在SNMP管理器(SNMP请求的源)和代理(SNMP请求的目标 )上启用并配置。 有关此示例,请参考GetBulk源代码

以下步骤突出显示了此示例程序中的关键操作。

  1. 对于每个代理,程序必须在SNMP管理器程序和代理之间执行SNMPv3代理引擎ID发现。 这可以通过调用snmpDiscover_v3() API来完成。 如果API调用成功,则可以在管理器和代理之间进行SNMPv3操作。 s nmpDiscover_v3() API返回一个控制块,其他SNMPv3 API使用该控制块进行时间同步和身份验证。 返回的控制块特定于代理。 因此,示例程序为每个代理发出一次snmpDiscover_v3() API。
清单1.执行SNMPv3代理引擎ID发现
<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值