停用nfs导致cacti无法抓取snmp数据

昨天同事跟我说cacti突然抓不到一台服务器的snmp数据了,让我看看,然后就匆匆出去了。。登陆服务器后简单查看了下161端口开着,进程也没什么可疑的,就重启了snmpd服务,用

snmpwalk -v 2c -c public localhost .1.3.6.1.2.1.1.3

命令,发现已经可以抓取到数据了,本以为问题已经解决,谁知道刚过了10秒又出现同样的故障了。。运行 netstat -an|grep -w “161”,发现Recv-Q的数据有些异常,正常情况应该为0,现在却是86533,说明数据已经接收了,却一直处在等待接受的缓冲区。。初步怀疑是不是受到攻击,因为我们公司使用的共同体是默认的public,于是修改snmp的配置文件更改为pub,重启服务后发现又正常了,netstat -an|grep -w “161”,Recv-Q的数据也重新变为0了,测试也并未出现异常了。。

后来同事回来了,我问他做了什么修改,他说只是发现服务器上运行了并不需要的nfs服务,就把他停掉了。我把解决问题的过程告诉他,他说出现这个问题应该跟外部的攻击无关,可能还是内部的冲突引起的,于是我们又重新更改共同体为public,。发现问题又再次出现了。。。因为是停用nfs引起的故障所以肯定是跟nfs有关系,后来我们确认不需要nfs服务,卸载nfs问题解决。。

上网查资料,发现问题可能是“网络包分片导致的溢出”,以下是网上的资料写的:

当rsize/wsize大于网络的MTU(大部分网络都是1500,除非设置了支持大包)时,IP包在用UDP协议传输时会分片。大量IP包分片会消耗网络两端大量的CPU资源,而且还会导致网络通信更不稳定(因为完整的RPC在UDP分片的任何一个包丢失时都得整个RPC重传)。任何RPC的重传增加都会导致时延的增加。这是NFS over UDP性能的最大瓶颈。

如果你的网络拓扑很复杂,UDP的分片包的路由很可能不同,可能不会都及时到达服务器。内核对分片包的缓存有限制,最大值由ipfrag/_high_thresh指定。可以查看文件/proc/sys/net/ipv4/ipfrag_high_thresh和/proc/sys/net/ipv4/ipfrag_low_thresh。一旦未处理的包数目超过ipfrag_high_thresh,内核就会丢弃分片包,直到数量达到ipfrag_low_thresh

另一种监视的方法是文件/proc/net/snmp中的IP:ReasmFails。这是分片组合失败的数量,如果这个值在大量文件传输过程中上升太快,就有可能是有上述问题。

如果你在使用NFS客户端,你可能会想要监视IP重组失败的数量(内核重组包括网络碎片数据的数据包失败),可以通过SNMP变量IP-MIB::ipReasmFails实现,下面是一个简单的命令:

#snmpwalk localhost -c public IP-MIB::ipReasmFails.0

虽然最终问题解决了,但还有一个疑问就是为什么我更改了默认的public之后就会正常呢,看来还要再查查资料了。

时间: 2024-08-05 14:34:00

停用nfs导致cacti无法抓取snmp数据的相关文章

cacti 网卡抓取不到eth1流量

linux解决办法如下: client设置: vi /etc/snmp/snmpd.conf a.修改默认的community stringcom2sec notConfigUser  default       public将public修改为你知道的字符串b.把下面的#号去掉#view mib2 included .iso.org.dod.internet.mgmt.mib-2 fcc.把下面的语句access notConfigGroup "" any noauth exact

web scraper 抓取网页数据的几个常见问题

如果你想抓取数据,又懒得写代码了,可以试试 web scraper 抓取数据. 相关文章: 最简单的数据抓取教程,人人都用得上 web scraper 进阶教程,人人都用得上 如果你在使用 web scraper 抓取数据,很有可能碰到如下问题中的一个或者多个,而这些问题可能直接将你计划打乱,甚至让你放弃 web scraper . 下面列出几种你可能会碰到的问题,并说明解决方案. 1.有时候我们想选择某个链接,但是鼠标点击就出触发页面跳转,如何处理? 在我们选择页面元素的时候,勾选 "Enab

Java语言实现通过Ajax抓取后台数据及图片

1.Java语言实现通过Ajax抓取后台数据及图片信息 1.1数据库设计 create table picture( pic_id number not null, pic_name varchar(200)not null, pic_url varchar2(200) not null, pic_descp varchar2(200) not null, pic_price varchar2(200) not null ) insert into picture values(1 ,'小米5s

Asp.net 使用正则和网络编程抓取网页数据(有用)

Asp.net 使用正则和网络编程抓取网页数据(有用) /// <summary> /// 抓取网页对应内容 /// </summary> /// <param name="strUrl">採集地址</param> /// <param name="Begin">開始字符</param> /// <param name="End">结束字符</param&g

java抓取网页数据,登录之后抓取数据。

最近做了一个从网络上抓取数据的一个小程序.主要关于信贷方面,收集的一些黑名单网站,从该网站上抓取到自己系统中. 也找了一些资料,觉得没有一个很好的,全面的例子.因此在这里做个笔记提醒自己. 首先需要一个jsoup的jar包,我用的1.6.0..下载地址为:http://pan.baidu.com/s/1mgqOuHa 1,获取网页内容(核心代码,技术有限没封装). 2,登录之后抓取网页数据(如何在请求中携带cookie). 3,获取网站的ajax请求方法(返回json). 以上这三点我就用一个类

Asp.net 使用正则和网络编程抓取网页数据(实用)

Asp.net 使用正则和网络编程抓取网页数据(实用) /// <summary> /// 抓取网页相应内容 /// </summary> /// <param name="strUrl">采集地址</param> /// <param name="Begin">开始字符</param> /// <param name="End">结束字符</param&g

wireshark抓取OpenFlow数据包

在写SDN控制器应用或者改写控制器源码的时候,经常需要抓包,验证网络功能,以及流表的执行结果等等,wireshark是个很好的抓包分析包的网络工具,下面简介如何用wireshark软件抓取OpenFlow数据包 一. wireshark2.0.0 wireshark2.0.0直接内置了OpenFlow协议,只需要安装wireshark2.0.0即可. 在安装wireshark之前需要安装一些依赖包: sudo apt-get install bison flex libpcap-dev gcc

【iOS】正则表达式抓取网页数据制作小词典

应用程序不一定要自己去提供数据,有现成的数据学会去用才好. 网络很大,各种搜索引擎每天到处爬.本文通过正则表达式抓取网站的数据来做一个小词典. 一.正则表达式的使用 1. 确定匹配方案,即pattern 2. 用pattern实例化NSRegularExpression 3. 用匹配方法开始匹配. 匹配一次:可以使用firstMatch方法 匹配多次:可以用matchs方法 正则表达式对照表:(在网上找到了一个很不错的表,正则表达式各个语言通用) http://www.jb51.net/shou

Fiddler:在PC和移动设备上抓取HTTPS数据包

Fiddler是一个免费的Web调试代理,支持任何浏览器.系统以及平台.这个工具是进行Web和App网络开发的必备工具,戳此处下载. 根据Fiddler官网的描述,具有以下六大特点: Web调试 性能测试 HTTP/HTTPS流量记录 Web会话处理 安全测试 自定义扩展性 本文讨论的主要内容是如何设置Fiddler,使PC和移动设备上可以抓取HTTPS数据包. 首先,在菜单栏选择Tools->FiddlerOptions,切换到Connections选项卡 第二步,勾选允许远程连接,并设置一个