网络设备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端口,因此也不能做为端口是否开放的判断依据)linux
Nmap参数说明:
-sU 表示使用UDP端口探测
IP:指定目的IP
-p 表示端口号
Nmap返回状态说明:web
2.Snmpwalk探测(若是探测正常,监控仍是异常的话则更多的是zabbix web配置参数对不上的问题json
snmpwalk使用参数,以下(这里为了简介不使用V3版本):
snmpwalk -v 1或2c(表明SNMP版本) -c SNMP密码 IP地址 OID(对象标示符)
–v:指定snmp的版本, 1或者2c,该参数必须有。
–c:指定链接设备SNMP读密码(团体名),该参数必须有(链接设备若是没有修改默认的团体名则默认都是public)。
IP:指定要walk的设备的IP地址,该参数必须有。
OID:表明要获取设备的指标oid,该参数不是必须的但为了便于查验仍是要带上(SNMPv2-MIB::sysDescr.0这个OID表示设备描述)。
若是以上提到的配置参数有误和网络snmp不可达,则会出现以下状况:
若是设备正常则会出现如下状况:安全
ZABBIX监控SNMP不稳定,一会通一会不通
1.2.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%以上则有问题)
编辑zabbix_server.conf文件:服务器
2.物理网络防火墙链接数限制(不是操做系统防火墙),能够经过在防火墙中查看日志和链接数上限,进而放宽链接数
3.若是没法开放物理防火墙的链接数则要在监控对象所在的网段内搭建zabbix proxy代监控便可解决链接数问题
4.若是二、3点都不容许操做则可考虑:
下降snmp监控项的采集频率;
删除、过滤无用监控项(好比正则过滤无用的端口);
自动发现端口监控原型禁用,等发现完成后根据人工筛选启用某些端口监控项;
采用脚本方式一次获取所须要的MIB表的信息(通常只须要作端口的),而后在本地json化再传给zabbix。网络
端口扫描是指某些别有用心的人发送一组端口扫描消息,试图以此侵入某台计算机,并了解其提供的计算机网络服务类型(这些网络服务均与端口号相关),可是端口扫描不但能够为***所利用,同时端口扫描仍是网络安全工做者的必备的利器,经过对端口的扫描,了解网站中出现的漏洞以及端口的开放状况,对网站安全方面有着不可或缺的贡献,是你学习网络安全的第一门课程的首选
1.2.3.3.1Nmap优势
目前在市面上主要的端口扫描工具是X_Scan、SuperScan、nmap,其中在这里主推的是nmap,由于nmap具备如下的这一些优势:
一、多种多样的参数,丰富的脚本库,知足用户的我的定制需求,其中脚本库还提供了不少强大的功能任你选择
二、强大的可移植性,基本上能在全部的主流系统上运行,并且代码是开源的
三、详细的文档说明,和强大的社区团队进行支持,方面新人上手ide
Nmap是一款开源免费的网络发现(Network Discovery)和安全审计(Security Auditing)工具,可是nmap也是有一些缺点的,好比说上手较难,可是难上手是相对的,与其余达到这种功能性的软件产品相比,仍是比较容易上手的,可是这也不妨碍nmap成为世界千万安全专家列为必备的工具之一,在其中的一些影视做品中《***帝国2》、《特警判官》中都有亮相
3.2Nmap端口状态工具
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是SNMP的一个工具,它使用SNMP的GETNEXT请求查询指定OID(SNMP协议中的对象标识)入口的全部OID树信息,并显示给用户。经过snmpwalk也能够查看支持SNMP协议(可网管)的设备的一些其余信息,好比cisco交换机或路由器IP地址、内存使用率等,也可用来协助开发SNMP功能。
1.2.3.4.4.1Snmpwalk使用
要使用snmpwalk,咱们首先要安装snmpwalk。snmpwalk没有单独的安装包,它被包含在net-snmp软件包中的,因此咱们只须要安装net-snmp软件包就能够获得snmpwalk。
2.1 linux下安装net-snmp
在linux下使用snmpwalk工具,咱们必需要安装net-snmp-utils这个软件包。
注意:若是linux只安装net-snmp的话,则不包含snmpwalk工具,以下:
命令参数以下:–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时才须要。