日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

百度网络质量监控实战:猎鹰一战成名(下)

發布時間:2023/12/16 编程问答 77 豆豆
生活随笔 收集整理的這篇文章主要介紹了 百度网络质量监控实战:猎鹰一战成名(下) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

作者簡介

運小海 ? ?百度高級研發工程師


從事網絡監控、可用性建設相關工作,負責百度外網監控平臺獵鷹、百度內網監控平臺NetRadar等系統的研發和優化工作。在網絡采集、網絡異常檢測、系統可用性方面有廣泛的實踐經驗。


干貨概覽

我們在上一篇文章百度網絡監控實戰:獵鷹一戰成名》(上)中,初步介紹了百度外網質量監控的典型場景與需求,本篇文章將從外網監控的實現原理及系統架構兩個方面系統詳細介紹百度外網質量監控平臺獵鷹



一外網監控實現原理

通過上一篇文章的需求調研,我們可以知道,業務線運維工程師希望外網監控平臺能夠真實反映用戶到百度IDC(Internet Data Center,互聯網數據中心,又稱機房)間的網絡質量,并能夠及時快速地發現機房側故障、骨干網故障以及單省份故障,這里面有幾個關鍵問題:

1監控數據反映的是網絡質量

對于業務線運維工程師來說,他們關注的是外網質量,因此,需要通過一種探測手段來實時反映網絡質量。而探測協議有很多種,比如ICMP、TCP、HTTP,那么哪種協議更適合呢?我們選擇了TCPHTTP來作為探測協議,原因有以下兩點:

首先,網絡設備在轉發請求時,是根據請求的源IP源端口目的IP目的端口網絡協議這五個信息決定請求的Next Hop所經過的鏈路或者設備。TCP和HTTP協議有請求端口,而ICMP協議只有源IP、目的IP以及網絡協議這三個信息。那么對于一個監測點和一個被監測目標來說,由于TCP和HTTP探測請求的源端口可以不斷的變化,因此TCP和HTTP探測方式能夠比ICMP探測方式夠覆蓋更多的鏈路。

其次,用戶訪問百度服務的請求大多數是基于TCP和HTTP方式的,因此,TCP和HTTP方式更接近于用戶的訪問方式。

在確定了探測方式之后,我們需要有探測指標來衡量網絡質量的好壞,為了更加真實反映用戶到百度服務之間的網絡質量,我們將網絡連接是否建立成功連接建立的時延作為衡量網絡質量的指標。對于HTTP探測方式,我們不關心HTTP Code,只要連接建立成功,即使HTTP Code為500,我們也認為網絡正常。

2監控數據反映用戶到百度IDC的網絡訪問質量

為了能夠真實反映用戶到百度IDC間的網絡質量,需要從用戶側向百度的的VIP(Virtual Internet Address,百度多臺服務器形成的一個虛機地址)發起探測。因此,我們在全國三大運營商各個省份部署了若干監測點,用于執行具體的探測任務。

3能夠及時快速地發現網絡故障

為了盡可能快地發現網絡故障,我們設計了基于數據驅動的網絡故障檢測模型。已有的故障檢測模型大多是固定周期檢測模式,比如檢測周期是1min,那么檢測模型每兩次相鄰的檢測需要間隔1min,這種模式比較適用于流水數據、PV數據的檢測。但是對于網絡異常檢測的場景,實際上每兩次相鄰的檢測并不一定需要間隔1min,看下面這個例子:

假如Tn周期的檢測時間點是10:00:00,按照固定周期檢測模式,Tn+1周期的檢測時間點則是10:01:00,而實際很有可能在10:00:35的時候就已經收集夠了相對充足的探測樣本,足夠判斷出當前是否存在網絡異常,那么在10:00:35就可以進行故障檢測了,這樣能夠將故障發現時間提前25秒。

因此,在我們的基于數據驅動的網絡故障檢測模型中,我們對固定周期檢測模式進行了改進,加入了探測樣本數判斷,如果提前收集到了足夠的探測樣本,則提前進行故障檢測,盡可能地加快故障發現速度。

4能夠準確區分網絡故障類型

當出現網絡故障時,業務線運維工程師需要知道網絡故障的類型,以便于采取對應的止損策略進行止損。我們針對機房側故障骨干網故障單省份故障的表現特點分別設計了三種故障發現策略。

圖1 ? ?外網監控原理示意圖

如上所述,我們通過在每個省份部署若干采集點,這些采集點周期性地向百度機房的VIP發起探測請求(HTTP請求和TCP請求),并將探測結果進行上報,然后對探測結果進行故障判定,得到實時的網絡質量和狀態(如圖1所示)。

二系統架構

獵鷹整體系統架構如圖2所示,主要包括采集服務任務分發數據分析與告警元數據管理存儲以及可視化展示等六部分。

圖2 ? ?獵鷹整體架構圖

1元數據管理

元數據管理是整個系統最基礎的一部分,它負責不同的實體映射關系維護,主要包括VIP機房歸屬關系、機房VIP的映射列表以及VIP域名歸屬關系。

在上一小節中提到,獵鷹部署在各個省份的采集點需要周期性地向百度機房的VIP發起探測請求,服務端接收到探測結果之后,需要把每個VIP的探測樣本在VIP所屬的機房維度進行匯聚計算,得到機房粒度的探測質量數據。因此,我們必須要維護VIP機房歸屬關系以及機房VIP的映射列表。

另外,在檢測出故障后,我們需要判斷出受損的業務線,因此需要維護VIP→域名歸屬關系,比如檢測出廣東機房出現故障,我們根據機房VIP的映射列表得到所有受到影響的VIP,然后再根據VIP域名歸屬關系分析出受影響的域名,從而得到受損的業務線列表。

2任務分發

任務分發負責將采集任務分發到采集點,這里的采集任務主要指VIP探測列表,采集任務會指定探測目標(即VIP)、探測協議HTTP or TCP)、探測周期超時閾值等。

3采集服務

采集服務在采集點上運行,負責執行具體的采集任務。采集任務包括HTTP探測任務和TCP探測任務兩種,在執行完探測之后,會將探測結果上報給上層的數據分析告警服務,用于后續的數據處理與實時分析。探測結果包括兩個指標:失敗率連接時

4數據分析與告警

數據分析與告警是整個系統最核心的部分,包括數據收集故障判定以及影響分析告警

數據收集用于接收采集服務上報的探測結果,并對探測結果進行一些清洗、去噪以及匯聚計算。

故障判定用于對清洗匯聚后的探測結果進行故障判定,通過三種故障發現策略來判斷當前是否存在某種網絡故障。

影響分析與告警用于進行故障通告和報警,當故障判定判斷存在網絡故障時,會通過元數據信息分析出受到此次故障影響的業務線,然后給這些業務的運維工程師發送報警。

4存儲

存儲包括三部分:指標時序數據存儲異常事件存儲以及元數據存儲。指標時序數據存儲主要存儲實時的探測指標(失敗率和連接時延),異常事件存儲主要存儲網絡故障事件,元數據存儲主要存儲基礎的數據歸屬映射關系。其中指標時序數據存儲和異常事件存儲使用的是百度通用的數據存儲平臺,元數據為內存存儲。

5可視化

可視化視圖部分的展現非常重要,這個是對用戶最直接的呈現。獵鷹的可視化視圖主要包括三部分:全局網絡視圖業務線網絡視圖機房視圖

全局網絡視圖用來展現實時的全局網絡狀況,圖3展示的是全局網絡視圖,包括故障公告、機房全局概覽和產品線概覽。故障公告展示的是最近一段內的網絡故障通告。機房全局概覽展示的是全百度所有機房的網絡狀況,如果有異常,會進行飄紅顯示。產品線概覽展示的是接入獵鷹的所有產品線的網絡狀況,如果該產品線受到網絡故障影響,則會飄紅顯示。

圖3 ?全局網絡視圖(示意圖)

業務線網絡視圖展示的是各個業務線的域名以及VIP的網絡質量視圖,各業務線運維工程師可以很直觀地觀察到自己所負責的域名和VIP的網絡訪問質量。圖4展示的是百度搜索產品線的域名網絡質量視圖,主要包括兩部分:

圖4 ?業務線網絡視圖

1域名網絡連通性質量趨勢圖

展示的是某一段時間內全國所有省份訪問某個域名的連通性情況,按運營商維度分別展示。

2域名分省網絡連通性視圖

以地圖的形態分運營商展示域名在每個省份的網絡連通性質量,地圖的每個省份的顏色會隨著網絡質量的好壞而變化,并且如果網絡質量持續異常,地圖上的省份會有紅圈閃動。每個省份鼠標懸浮停留會展示該省份的網絡連通性質量,包括探測異常率和響應時間兩個指標。

機房視圖展示的是全國各個省份到全百度各個機房的詳細外網質量數據。這個視圖包括兩部分:

1機房網絡連通性趨勢圖

展示某個時間段內全國所有省份到某個機房的網絡連通性狀況。

2可視化機房-省份連通性視圖

機房-省份連通性視圖以地圖的形態細致地展現了每個省份到每個機房的外網訪問質量,地圖的每個省份的顏色會隨著網絡質量的好壞而變化。同時,地圖上的省份可以和趨勢圖聯動,點擊地圖的某個省份,右邊趨勢圖展示的內容會變成選中的省份到該機房出的網絡連通性數據。

圖5 ?機房視圖

總結

獵鷹已經多次幫助發現重大網絡故障,及時挽回了數千萬可能的PV Loss,在業務線日常運維工作中發揮著越來越重要的作用。接下來我們會繼續秉承著“科技改變世界、技術改變生活”的理念將獵鷹打造成更加智能化的網絡監控平臺,讓網絡問題無處遁形。

若您有任何疑問或想進一步了解獵鷹,歡迎給我們留言!


總結

以上是生活随笔為你收集整理的百度网络质量监控实战:猎鹰一战成名(下)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。