snmpd占用CPU过高

在集群环境中,主node的snmpd进程CPU占用率规律性升高,尤其是在OpenNMS定时采集大量设备性能数据时。尝试调整snmpd配置和OpenNMS采集间隔,发现将OpenNMS的采集间隔从5分钟改为15分钟能显著降低snmpd的CPU利用率。
摘要由CSDN通过智能技术生成

在几个node的cluster环境中发现主node的snmpd进程CPU占用率规律性地定时冲高,top命令中经常能够达到99%,且持续数秒。其他node上snmpd的CPU利用率正常,但是一旦发生failover, slave node变为主node,新的主node上snmpd的利用率又会变高。

这个问题其实影响不大,虽然CPU瞬时冲高,但是LA数据比较正常,4核的机器LA5也只有2点多,LA15只有1点多。

最开始以为是snmpd.conf配置中某些监控行为可能会导致snmpd使用大量计算资源导致CPU过高,但是将配置全部删除,仅使用默认配置,问题依旧。

后来分析应该与主node上跑的某些服务有关,关掉相关服务,CPU利用率并没有立即下降,但是过5~10分钟,数据恢复正常,通过反复尝试,锁定snmpd和OpenNMS相关。问题出现时,OpenNMS定时采集9000多台设备的性能数据,时间间隔是5分钟,通过命令行能够发现在网口上有大量的网络流量,因此怀疑与此相关。

想关命令:


`snmpd` 是 Ubuntu 系统中的一部分,它是一个基于 BSD 的 Simple Network Management Protocol (SNMP) 实现。SNMP 协议主要用于网络管理,允许远程监控和配置网络设备,如路由器、交换机和服务器等。 ### `snmpd` 功能概述 1. **服务启动与监听**:`snmpd` 进程负责运行 SNMP 代理服务,并通过指定端口(通常默认是 UDP 端口161)监听来自其他系统(称为管理站)的请求。 2. **处理请求**:当收到 SNMP 请求时,`snmpd` 将解析该请求并查询相关的系统信息(例如硬件配置、网络状态、应用程序日志等)。然后,它将响应结果打包成符合 SNMP 格式的报文返回给请求者。 3. **配置选项**:`snmpd` 提供了丰富的配置选项来控制其行为,包括安全性设置(例如认证密钥和访问列表)、数据收集策略、以及如何处理特定类型的查询等。 4. **支持标准版本**:支持 SNMP v1、v2c 和 v3 版本的标准协议规范。 5. **集成性**:作为操作系统的一部分,`snmpd` 可以自动安装并随系统启动而激活,无需额外配置即可开始工作。 ### 配置与使用 为了确保 `snmpd` 正常运行并提供有效的网络管理服务,管理员通常需要: - **编辑配置文件**:修改 `/etc/snmp/snmpd.conf` 文件来调整服务的行为,包括添加访问规则、设置安全上下文等。 - **初始化数据库**:首次启动 `snmpd` 之前,可能需要初始化用于存储 MIB 表(Management Information Base,即管理信息库)的数据结构。这通常涉及执行 `make snmpinit` 命令。 - **测试与验证**:利用 SNMP 测试工具(如 `snmptool` 或 `net-snmp-utils` 包含的一些实用程序),从外部系统向 `snmpd` 发送查询,以确认服务是否正常运行并且可以获取所需的信息。 ### 相关问题: 1. 如何启用或禁用系统的 SNMP 服务? 2. 在 Ubuntu 中如何配置 `snmpd` 来限制对设备的访问? 3. 当前最常用的 SNMP 版本有哪些区别,以及何时应该选择其中一个版本而不是另一个?
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值