针对平时工作中,zabbix snmp出现异常超时、不稳定、时通时断:Timeout while connecting 等的情况,以下我将以使用乐维监控为例,进行解决方案的详细叙述。
 

一、问题:设备SNMP不通

网络设备SNMP不通 Timeout while connecting to"192.168.1.99:161".
  

1.1 检查配置

1.  管理IP是否对应上
   
2.  对象团体名是否正确
  
3.  监控项snmp版本是否对应上
  
4.  根据以上3点和网络设备的配置信息对照是否正确,因为网络设备品牌很多配置方式都是五花八门,所以这里不做演示
5.  网络设备可能配置snmp时使用了ACL控制,这边要检查IP是否指向Zabbix
6.  有些网络设备不是配置了snmp信息就能生效的,需要在管理接口(interface)上查验是否启用snmp协议
7.  看清楚配置的设备是否支持snmp(snmp读权限为snmp get,写权限为snmp set它们端口为UDP161用于被动请求性能数据和发送执行命令),有些设备只支持snmp trap(端口UDP162 用于主动推送告警)

1.2 检查网络

1.  网络策略没放通,可通过端口扫描工具nmap在Zabbix主机上来探测目标地址的路径是否通畅(注意:这里很多人会用ping和telnet来做通断探测,存在很大误区,首先ping是ICMP协议只能证明路由是否可达和snmp是否通讯没有关联何况有些网络环境是禁ping的,telnet探测的端口都是TCP端口,而snmp使用的是UDP端口,所以也不能作为端口是否开放的判断依据)

# yum install -y nmap
# nmap -sU 192.168.1.99 -p 161

  

Nmap参数说明:
-sU 表示使用UDP端口探测
IP:指定目的IP
-p  表示端口号
Nmap返回状态说明:

  
 
2.  Snmpwalk探测(如果探测正常,监控还是异常的话则更多的是zabbix web配置参数对不上的问题

# yum -y install net-snmp-utils
# snmpwalk -v 2c -c lwjkss 192.168.1.99 SNMPv2-MIB::sysDescr.0

   
如果以上提到的配置参数有误和网络snmp不可达,则会出现如下情况:
  
如果设备正常则会出现以下情况:
  
 

二、问题:SNMP不稳定

ZABBIX监控SNMP不稳定,一会通一会不通
 
  

2.1 单个对象

如果该现象只是出现在单个对象中,其他对象采集没有被影响,则:
 
1.  设备问题,设备不支持大量请求
Zabbix服务器和代理守护进程在单个请求中查询多个值的SNMP设备。这会影响各种SNMP监控项(常规SNMP项目,具有动态索引的SNMP项目和SNMP低级别发现),它使SNMP处理更加高效。从Zabbix 2.4开始,它还为每个接口提供了一个“使用批量请求”的设置,允许为无法正确处理它们的设备禁用批量请求。
从Zabbix 2.2.7和Zabbix 2.4.2开始,Zabbix服务器和代理守护程序的日志在收到不正确的SNMP响应时会打印类似以下内容:(虽然它们没有涵盖所有有问题的情况,但它们对于识别应禁用批量请求的各个SNMP设备非常有用。)
SNMP response from host"gateway" does not contain all of the requested variable bindings
去掉勾选即可

2.2   全局对象

如果该情况发生后影响了其他监控对象的不稳定,则
 
1.  进程不够用,加大Zabbix 服务器的StartPollers的进程,可根据zabbix自监控图形来判断(平均75%以上则有问题)
   
   
2.  物理网络防火墙连接数限制(不是操作系统防火墙),可以通过在防火墙中查看日志和连接数上限,进而放宽连接数
3.  如果无法开放物理防火墙的连接数则要在监控对象所在的网段内搭建zabbix proxy代监控即可解决连接数问题
4.  如果2、3点都不允许操作则可考虑:
    - 降低snmp监控项的采集频率;
    - 删除、过滤无用监控项(比如正则过滤无用的端口);
    - 自动发现端口监控原型禁用,等发现完成后根据人工筛选启用某些端口监控项;
    - 采用脚本方式一次获取所需要的MIB表的信息(一般只需要做端口的),然后在本地json化再传给zabbix
 

三、Nmap原理

端口扫描是指某些别有用心的人发送一组端口扫描消息,试图以此侵入某台计算机,并了解其提供的计算机网络服务类型(这些网络服务均与端口号相关),但是端口扫描不但可以为黑客所利用,同时端口扫描还是网络安全工作者的必备的利器,通过对端口的扫描,了解网站中出现的漏洞以及端口的开放情况,对网站安全方面有着不可或缺的贡献,是你学习网络安全的第一门课程的首选
 

3.1 Nmap优点

目前在市面上主要的端口扫描工具是X_Scan、SuperScan、nmap,其中在这里主推的是nmap,因为nmap具有以下的这一些优点:
 
1、多种多样的参数,丰富的脚本库,满足用户的个人定制需求,其中脚本库还提供了很多强大的功能任你选择
 
2、强大的可移植性,基本上能在所有的主流系统上运行,而且代码是开源的
 
3、详细的文档说明,和强大的社区团队进行支持,方面新人上手
 
 
Nmap是一款开源免费的网络发现(Network Discovery)和安全审计(Security Auditing)工具,但是nmap也是有一些缺点的,比如说上手较难,但是难上手是相对的,与其他达到这种功能性的软件产品相比,还是比较容易上手的,但是这也不妨碍nmap成为世界千万安全专家列为必备的工具之一,在其中的一些影视作品中《黑客帝国2》、《特警判官》中都有亮相
 

3.2 Nmap端口状态

 
open(开放的)
应用程序正在该端口接收TCP连接或者UDP报文。发现这一点常常是端口扫描 的主要目标。安全意识强的人们知道每个开放的端口 都是攻击的入口。攻击者或者入侵测试者想要发现开放的端口。而管理员则试图关闭它们或者用防火墙保护它们以免妨碍了合法用户。 非安全扫描可能对开放的端口也感兴趣,因为它们显示了网络上那些服务可供使用。
 
 
closed(关闭的)
关闭的端口对于Nmap也是可访问的(它接受Nmap的探测报文并作出响应),但没有应用程序在其上监听。 它们可以显示该IP地址上(主机发现,或者ping扫描)的主机正在运行up 也对部分操作系统探测有所帮助。因为关闭的关口是可访问的,也许过会儿值得再扫描一下,可能一些又开放了。 系统管理员可能会考虑用防火墙封锁这样的端口。 那样他们就会被显示为被过滤的状态,下面讨论。
 
 
filtered(被过滤的)
由于包过滤阻止探测报文到达端口, Nmap无法确定该端口是否开放。过滤可能来自专业的防火墙设备,路由器规则 或者主机上的软件防火墙。这样的端口让攻击者感觉很挫折,因为它们几乎不提供任何信息。有时候它们响应ICMP错误消息如类型3代码13 (无法到达目标: 通信被管理员禁止),但更普遍的是过滤器只是丢弃探测帧,不做任何响应。 这迫使Nmap重试若干次以访万一探测包是由于网络阻塞丢弃的。 这使得扫描速度明显变慢。
 
 
unfiltered(未被过滤的)
未被过滤状态意味着端口可访问,但Nmap不能确定它是开放还是关闭。 只有用于映射防火墙规则集的ACK扫描才会把端口分类到这种状态。用其它类型的扫描如窗口扫描,SYN扫描,或者FIN扫描来扫描未被过滤的端口可以帮助确定端口是否开放。
 
 
open|filtered(开放或者被过滤的)
当无法确定端口是开放还是被过滤的,Nmap就把该端口划分成 这种状态。开放的端口不响应就是一个例子。没有响应也可能意味着报文过滤器丢弃 了探测报文或者它引发的任何响应。因此Nmap无法确定该端口是开放的还是被过滤的。 UDP,IP协议, FIN,Null,和Xmas扫描可能把端口归入此类。
 
 
closed|filtered(关闭或者被过滤的)
该状态用于Nmap不能确定端口是关闭的还是被过滤的。它只可能出现在IPID Idle扫描中。
 
 

四、Snmpwalk的原理

snmpwalk是SNMP的一个工具,它使用SNMP的GETNEXT请求查询指定OID(SNMP协议中的对象标识)入口的所有OID树信息,并显示给用户。通过snmpwalk也可以查看支持SNMP协议(可网管)的设备的一些其他信息,比如cisco交换机或路由器IP地址、内存使用率等,也可用来协助开发SNMP功能。
 

4.1 Snmpwalk使用

要使用snmpwalk,我们首先要安装snmpwalk。snmpwalk没有单独的安装包,它被包含在net-snmp软件包中的,所以我们只需要安装net-snmp软件包就可以得到snmpwalk。
 
2.1 linux下安装net-snmp
在linux下使用snmpwalk工具,我们必须要安装net-snmp-utils这个软件包。
注意:如果linux只安装net-snmp的话,则不包含snmpwalk工具,如下:

# yum -y installnet-snmp-utils

 
命令参数如下:
 

–h:显示帮助。
–v:指定snmp的版本, 1或者2c或者3。
–c:指定连接设备SNMP密码。
–V:显示当前snmpwalk命令行版本。
–r:指定重试次数,默认为0次。
–t:指定每次请求的等待超时时间,单为秒,默认为3秒。
–l:指定安全级别:noAuthNoPriv|authNoPriv|authPriv。
–a:验证协议:MD5|SHA。只有-l指定为authNoPriv或authPriv时才需要。
–A:验证字符串。只有-l指定为authNoPriv或authPriv时才需要。
–x:加密协议:DES。只有-l指定为authPriv时才需要。
–X:加密字符串。只有-l指定为authPriv时才需要。

如何解决zabbix snmp异常超时、不稳定、时通时断:Timeout的更多相关文章

  1. Kubernetes主机间cluster ip时通时不通

    1.问题现象 测试部署了一个service,包括2个pod,分别在node1和node2上. $ kubectl get svc NAME CLUSTER-IP EXTERNAL-IP PORT(S) ...

  2. [原创]如果软件在网络磁盘中或移动磁盘中运行时需要解决 exception C0000006 异常问题

    //如果软件在网络磁盘中或移动磁盘中运行时需要利用下面这句命令来解决 exception C0000006 异常问题 {$SetPEFlags IMAGE_FILE_REMOVABLE_RUN_FRO ...

  3. 解决SQL查询总是超时已过期

    解决SQL查询总是超时已过期 .在WIN8里提示:OLE DB 或 ODBC 错误 : 查询超时已过期; HYT00 1.由于数据库设计问题造成SQL数据库新增数据时超时 症状:   Microso ...

  4. 【已解决】报异常:java.lang.ArithmeticException: / by zero

    异常名称如下:java.lang.ArithmeticException: / by zero 原因:当我们定义的被除数为整形时候(short  int  long)会抛出此异常,被除数为整形时不可以 ...

  5. 09 Zabbix Item类型之Zabbix SNMP类型

    点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 Zabbix Item类型之Zabbix SNMP类型 SNMP是监控服务器以外设备的非常好的方式 ...

  6. indy9在程序关闭时出现terminate thread timeout的BUG解决办法

    indy9在程序关闭时出现terminate thread timeout的BUG解决办法 INDY9线程有BUG,在退出程序的时候会报错:terminate thread timeout(终止线程超 ...

  7. 解决Linux下SSH超时自动断开

    title: 解决Linux下SSH超时自动断开 comments: false date: 2019-08-19 19:22:55 description: Linux 下 SSH 超时自动断开?? ...

  8. 调试器地址出现大小端紊乱,引发的异常: 0xC0000005: 读取位置 0xFFFFFFFFFFFFFFFF 时发生访问冲突。

    今天在编写一系列新增需求代码后,开始调试代码 发现上个版本正常可运行的代码出现了:引发的异常: 0xC0000005: 读取位置 0xFFFFFFFFFFFFFFFF 时发生访问冲突. 上个版本数代码 ...

  9. 问题解决——使用CriticalSection后 0xXXXXXXXX处最可能的异常: 0xC0000005: 写入位置 0x00000014 时发生访问冲突

    ================声明===================== 本文原创,转载请保持文章的完整性(含本声明),并显要的著名作者和出处. 本文链接:http://blog.csdn.ne ...

随机推荐

  1. Kubernetes-dns 域名解析问题

    问题描述:nginx不能解析域名,但是使用nslookup却可以解析域名 ./sbin/nginx -t nginx: [emerg] host not found in upstream " ...

  2. 4027. [HEOI2015]兔子与樱花【树形DP】

    Description 很久很久之前,森林里住着一群兔子.有一天,兔子们突然决定要去看樱花.兔子们所在森林里的樱花树很特殊.樱花树由n个树枝分叉点组成,编号从0到n-1,这n个分叉点由n-1个树枝连接 ...

  3. 1040. [ZJOI2008]骑士【树形DP】

    Description Z国的骑士团是一个很有势力的组织,帮会中汇聚了来自各地的精英.他们劫富济贫,惩恶扬善,受到社会各 界的赞扬.最近发生了一件可怕的事情,邪恶的Y国发动了一场针对Z国的侵略战争.战 ...

  4. 「GXOI / GZOI2019」旧词

    题目 确定这不是思博题 看起来很神仙,本来以为是\([LNOI2014]LCA\)的加强版,结果发现一个点的贡献是\(s_i\times (deep_i^k-(deep_i-1)^k)\),\(s_i ...

  5. [AHOI2009]最小割

    题目 最小割的可行边和必须边 可行边\((u,v)\)需要满足以下两个条件 满流 残量网络中不存在\(u\)到\(v\)的路径 这个挺好理解的呀,如果存在还存在路径的话那么这条边就不会是瓶颈了 必须边 ...

  6. CF97B Superset

    嘟嘟嘟cf 嘟嘟嘟luogu 刚开始我看成了对于一个点\(i\),存在一个点\(j\)满足三个条件之一,而不是任意的\(j\).结果自然\(gg\)了,第二个点就\(WA\)了. 也不知怎么来的思路: ...

  7. 模拟器配置Burpsuite抓取https包

    在模拟器中设置代理,长按WiredSSID会弹出菜单: 点击修改网络: 显示高级选项打勾,然后设置代理ip,也就是你运行burp的机器ip: 然后导出burp的证书: 设置保存的路径和文件名: 模拟器 ...

  8. composer设置国内镜像

    使用composer时,输入命令执行后半天没有反应,并最后是失败的消息. 如下载项目中的框架文件时: composer install 一直没有反应 [注]添加参数-vvv可尽可能多的输出执行信息,帮 ...

  9. java学习笔记-JavaWeb篇一

    JavaWEB篇一 1 Tomcat的安装和配置 2 JavaWeb开发的目录结构 3 使用Eclipse开发JavaWeb项目 4 第一个Servlet程序 5 Servlet 的配置及生命周期方法 ...

  10. POJ 1080( LCS变形)

    题目链接: http://poj.org/problem?id=1080 Human Gene Functions Time Limit: 1000MS   Memory Limit: 10000K ...