虛擬網路監控進階之路-DeepFlow

韓先超發表於2020-12-15

監控對於我們來說到底有多重要?

        網路監控是企業IT運維中必不可少的重要一環,傳統的監控工具以監控各個服務的健康和效能為中心。而隨著數字化時代的到來,我們需要一個更加全面的監控檢視,能夠把不同環境下所有資源間的流量資訊進行採集,並從多個視角、多種維度進行視覺化的監控。

       目前大多數公司不僅會在資料中心內建設私有云,也會使用多個雲服務商提供的公有云資源。隨著容器、微服務等技術的廣泛應用,網路運維團隊可能需要用到更多的監控工具來監控和排查不同環境中網路的健康狀態,再把它們彙總到一,但是這就帶來一系列問題,這麼多的監控工具不僅會消耗很多資源,管理起來也不方便,既增加了線上運維成本又沒有真正解決效率問題。

傳統監控的缺點,帶給我們的一些思考!!!

     我最初參加工作的時候,公司的業務還是在傳統機房裡的伺服器上部署,那時最受歡迎的是zabbix。通過zabbix對公司的伺服器、業務、流量進行監控,雖然可以滿足業務需要,但在效能和成本上存在缺點,如機器量、資料的增大都會使資料庫的寫入成為一定的瓶頸,單機上限5000臺,就需要增加proxy,增加成本。而且採集資料通過pull方式,當目標機器量大之後,pull任務會出現積壓,導致採集資料延遲。對於大資料量,要求實時採集資料,這類監控就不能滿足需求。並且,隨著技術的發展,Kubernetes、容器化、多雲平臺的興起,也給監控帶來了新的挑戰。

     隨著公司業務的發展和對容器化的監控需求,我們又選擇了新的監控軟體Prometheus,Prometheus可以和Kubernetes很好的整合在一起,以找到所有的服務,一旦它找到了所有服務,將通過輪詢其他Prometheus度量端點收集所有這些服務的指標。但是Prometheus也存在不能解決的問題,如Prometheus不提供持久的長期儲存、異常檢測、自動水平縮放和使用者管理,Prometheus也不是一個Dashboard解決方案,它提供了一個簡單的UI來進行PromQL查詢,增加了一些額外的設定複雜度。我們需要再次重新選擇一款合適公司業務的監控工具,這裡我對之前主流的監控工具進行了簡單的分類。

圖片

     上面的監控或多或少都存在一些問題,對於簡單的業務場景來說可以起到監控效果,但是對於混合雲、多雲場景,這些監控就力有不逮。對於這些開源監控軟體的不足,我們希望找到一款能夠適應多雲環境,容器環境的監控軟體,可以把我們線上私有云、公有云、Kubernetes、混合雲等不同的環境的業務流量進行統一採集和監控,並且能夠在一個視覺化介面中清晰地展示出網路全景圖,不僅能夠監控各類資源間的網路效能指標還可以快速地生成自定義報表和監控檢視。經過調研,我們找到了一款適合混合雲環境的網路監控診斷軟體,那麼這款軟體是如何解決大規模雲環境下網路一體化採集和全網流量監控的呢?接下來為大家展開介紹。

混合雲環境下雲原生監控應該具備的能力

     DeepFlow 是一款雲監控產品,其目標是解決雲上業務的網路問題。基於雲原生的混合雲流量全網採集和時序資料儲存檢索技術,提供混合雲網路的流量採集分發(NPB,Network Packet Brocker)和效能監控診斷(NPMD,Network Performance Monitoring and Diagnostics)解決方案。

     DeepFLow對監控的流量指標和業務資料能夠視覺化地展現,通過強大的搜尋能力提供雲網環境下的監控解決方案,結合流日誌和PCAP資料提供完整的故障回溯取證能力,可以對全網原始流量採集、過濾、截斷、去重、標記、分發、提供了全方位的採集流量方法。

     通過DeepFlow的檢視使用者可以自定義統計圖表、生成監控大屏、設定告警策略和報表策略,可以展示所有報表策略並提供報表下載,從業務、服務、主機、POD等多個維度進行流量資料的處理和展示,保證監控視角採集資料包的完整性。

     DeepFlow還可以自動發現雲內各類資源,從多種維度視覺化展現雲環境中資源的流量和業務情況,基於CPU/記憶體/頻寬單獨設定過載保護機制,可對所有采集器統一配置也可針對單個採集器做個性配置。

DeepFlow在我們線上業務的應用

     因為我們公司的業務複雜多樣,公司環境機器較多,而且業務存在跨機房部署的情況,高峰期流量劇增,對於可擴充套件性要求較高,如果使用傳統的開源監控軟體並不能滿足我們監控的需求,那麼我們在使用DeepFlow就很好的滿足了我們的業務要求,可以充分保障資源池規模彈性擴充套件、整體系統可管理10萬臺採集器,涵蓋虛擬機器、容器、公有云等,這完全滿足了我們高併發的業務需求,DeepFlow可以把我們的流量和業務資料都展示在一個Web Ui介面,總覽可以顯示整個系統執行的概要資訊,可以展現監控網路中的採集器、物理節點、虛擬節點數量,也可展現最近一小時採集和分發的總流量,同時也具有大規模、細粒度管控能力匹配雲的規模和彈性擴充套件能力。

業務場景一、虛擬網路流量採集

   虛擬網路的工作原理和物理網路基本相同,我們之前對物理網路流量採集需要使用SNMP來收集跨基礎設施的多個節點的資料,然後通過網路效能管理和監控工具來分析這些資料,但是虛擬網路流量採集相對要複雜的多,如對主機內的虛擬機器流量採集,主機間的虛擬機器流量採集,虛擬機器到物理基礎設施流量的採集,為了能夠精確採集網路流量,通過流量資料分析業務問題,我們利用DeepFlow來實現全網流量採集和監控,達到全自動、全方位的一個採集和分析流量的效果。

 

https://mmbiz.qpic.cn/mmbiz_png/rA2QQVGkd8RGhDOUebBbRlzibh3CXhZFMnpvfjKG8TPlsqpKXIvEwdwjsicqmBfEGzhVW2plkiccqCkBqNxBRJkPA/640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

業務場景二、虛擬網路效能監控

         隨著虛擬化技術的成熟和普及,使用虛擬機器的客戶越來越多,使用者對虛擬機器網路效能要求也越來越高,為了能夠對虛擬網路效能進行優化、測試、分析,我們需要有一個視覺化網路全景圖,經過對比分析,決定使用DeepFlow,它具有多維度的查詢聚合資料的能力,對線上業務進行全鏈路的分析和故障排查,提高線上故障排查的效率。滿足排查生產環境高併發業務故障的需要。

https://mmbiz.qpic.cn/mmbiz_png/rA2QQVGkd8RGhDOUebBbRlzibh3CXhZFMA54XBOxSicJoOx5qgdwxb7NwlqzjVZQQPYI8Sia35mV6HvXTSf2I3QqA/640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

業務場景三、虛擬網路路徑診斷

       在網路快速發展的今天,網路的穩定性至關重要,為了保證網路的正常執行,需要對網路故障進行實時監控,傳統方式上我們是通過獲取網路裝置中的狀態來進行診斷,但是收集到的狀態資訊引數由於動態性而無法保證其完整性,進而使得診斷也具有不確定性。DeepFlow實現了虛擬網路端到端的診斷能力,可以及時發現潛在的風險,進行故障預警和診斷,為業務的穩定執行提供了可靠保障。

https://mmbiz.qpic.cn/mmbiz_png/rA2QQVGkd8RGhDOUebBbRlzibh3CXhZFMAoMw3cTQIbLWdfSmHichr4aWL5iaCaHfIBrmWZExQhJqw235JhTIf2nw/640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

我對於監控的一些思考

        作為一名技術人員,需要關注系統的安全高效穩定,對於團隊的技術組成,我更注重的是監控,一款好的監控不僅能夠保障我們業務穩定執行,也使得我們能夠根據監控採集到的資料指標進行相關的程式碼優化,架構優化,選擇一款好的監控軟體尤為重要。我們之所以選擇DeepFlow,是因為它不僅能夠滿足我們複雜的業務場景的監控,也能滿足我們多雲場景下的監控,把不同的監控資料展現在視覺化介面。同時還因為DeepFlow作為一款成熟的監控軟體,提供了很好的技術支援和穩定性的保障,讓我們的監控系統更加安全可靠

 

相關文章