解決容器監(jiān)控診斷的難題
時(shí)間:2022-04-12 09:51:01 | 來(lái)源:行業(yè)動(dòng)態(tài)
時(shí)間:2022-04-12 09:51:01 來(lái)源:行業(yè)動(dòng)態(tài)
以上可見一個(gè)企業(yè)需要實(shí)現(xiàn)全網(wǎng)流量采集的重要性。往簡(jiǎn)單了說(shuō),在微服務(wù)場(chǎng)景下需要考慮服務(wù)和服務(wù)之間的調(diào)用關(guān)系,相當(dāng)于調(diào)用棧的追蹤。其實(shí)服務(wù)和服務(wù)之間訪問(wèn),實(shí)際上就是POD和POD之間的訪問(wèn),意味著在網(wǎng)絡(luò)層面直接能看到它們互訪的流量,因此,通過(guò)網(wǎng)絡(luò)流量采集可以直接獲取到服務(wù)的調(diào)用棧。這更加可以說(shuō)明:流量采集可以解決容器網(wǎng)絡(luò)可觀測(cè)性的難題。
那么為什么需要通過(guò)流量采集來(lái)解決這個(gè)問(wèn)題呢?有兩個(gè)方面的原因。
第一個(gè)方面:從應(yīng)用的層面無(wú)法解決問(wèn)題。從日志或代碼插件很難去感知到網(wǎng)絡(luò)層面的問(wèn)題。比如某個(gè)訪問(wèn)消耗了500毫秒,在網(wǎng)絡(luò)層面是由于建連導(dǎo)致的時(shí)延問(wèn)題?還是協(xié)議棧時(shí)延?其實(shí)在應(yīng)用層并不清楚,只知道最終這個(gè)請(qǐng)求消耗了500毫秒。
第二個(gè)方面:網(wǎng)絡(luò)層的信息能提供更精確的數(shù)據(jù)。以Nginx日志為例,當(dāng)一個(gè)請(qǐng)求所發(fā)送的數(shù)據(jù)已在內(nèi)核緩沖區(qū)里,Nginx認(rèn)為已經(jīng)實(shí)現(xiàn)了請(qǐng)求的完整回復(fù),而記錄了一個(gè)時(shí)延。但是如果能從網(wǎng)絡(luò)流量的角度去監(jiān)測(cè),會(huì)發(fā)現(xiàn)在實(shí)際的環(huán)境中對(duì)于這樣的場(chǎng)景會(huì)有3~10倍時(shí)延的誤差。這說(shuō)明,從網(wǎng)絡(luò)層面去分析應(yīng)用的質(zhì)量、性能是必要的。
為了實(shí)現(xiàn)整個(gè)業(yè)務(wù)的監(jiān)控,需要在容器網(wǎng)絡(luò)環(huán)境獲取到的數(shù)據(jù),包括Service之間訪問(wèn)的追蹤關(guān)系;負(fù)載均衡、Service前后IP的變化關(guān)系;真實(shí)源IP與SNAT和DNAT后的變化關(guān)系。
通過(guò)這些數(shù)據(jù)來(lái)刻畫監(jiān)控?cái)?shù)據(jù)的分布,以及監(jiān)控?cái)?shù)據(jù)和網(wǎng)絡(luò)邏輯拓?fù)涞年P(guān)聯(lián),構(gòu)建網(wǎng)絡(luò)知識(shí)圖譜,實(shí)現(xiàn)各個(gè)緯度的可視化;同時(shí)對(duì)歷史的交互數(shù)據(jù)進(jìn)行回溯分析,在不同的維度(資源組維度、POD維度、服務(wù)維度)做層層的鉆取來(lái)最終定位業(yè)務(wù)的性能問(wèn)題,并進(jìn)行證據(jù)的留存。目前國(guó)內(nèi)已有不少企業(yè)通過(guò)自己的產(chǎn)品賦能容器網(wǎng)絡(luò)性能監(jiān)控,例如云杉網(wǎng)絡(luò)DeepFlow云網(wǎng)分析,基于高效的混合云流量全網(wǎng)采集和時(shí)序數(shù)據(jù)存儲(chǔ)、檢索技術(shù),提供混合云網(wǎng)絡(luò)流量采集分發(fā)以及性能監(jiān)控診斷解決方案。