網絡設備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時才須要。