解析网络诊断利器SreCli-Net
1.背景
SRE運維團隊致力于通過自動化來提高運維的工作生產(chǎn)效率,推動向智能化運維方向迭代轉(zhuǎn)變,解決傳統(tǒng)運維的痛點。傳統(tǒng)運維雖具有完整的運維體系,但運維方式各異,運維操作復(fù)雜,耗時長。如何提高混合云項目的運維效率,提高運維附加值和客戶滿意度,仍是我們的攻堅難題。
主要需面對以下幾點挑戰(zhàn):
- 客戶業(yè)務(wù)的快速發(fā)展與演進,傳統(tǒng)運維滯后性被拉大
隨著客戶業(yè)務(wù)的發(fā)展和業(yè)務(wù)模式的不斷演進,業(yè)務(wù)數(shù)據(jù)量也在逐年增加。給運維帶來了更多機會與挑戰(zhàn),如何保障云內(nèi)數(shù)據(jù)、云內(nèi)外業(yè)務(wù)交互的穩(wěn)定、安全、高效運行,是運維人員值得思考的問題。
- 平臺各系統(tǒng)運行復(fù)雜,運維學(xué)習(xí)成本提高
隨著云平臺云產(chǎn)品版本的快速迭代,熟悉平臺難度加大,隨著云產(chǎn)品版本更迭和新功能的出現(xiàn),新手學(xué)習(xí)的成本提高,熟悉云平臺的各種運維操作難度加大。但不能從根本上解決快速賦能運維能力的問題。所有一切將會引發(fā)一連串的“蝴蝶效應(yīng)”,甚至引發(fā)項目高風(fēng)險或P級故障出現(xiàn),將會直接影響客戶云上業(yè)務(wù)的正常使用。
- 運維人員能力參差不齊,運維操作復(fù)雜
目前運維方式存在人工經(jīng)驗判斷、平臺各種手工操作、處理問題低效、故障應(yīng)急處理耗時長等主要問題。由于系統(tǒng)的復(fù)雜性,技術(shù)人員在操作平臺運維時,會浪費大量的時間在機器登入、工具使用等基礎(chǔ)問題指導(dǎo)上。登錄之后又面臨各種增刪改查操作指令的不統(tǒng)一。隨著運維長時間的消耗,也會引起現(xiàn)場運維人員的心神俱疲,無法專注線上操作。尤其是面對一些沒有經(jīng)驗的駐場或客戶,常常會出現(xiàn)找不到目標(biāo)機器,命令敲錯等現(xiàn)象,使得整體運維低效和安全隱患頻發(fā)。
?
綜合以上關(guān)于客戶、平臺、運維三方面的運維問題, 提高運維效率、降低運維人員學(xué)習(xí)成本是當(dāng)前的主要任務(wù)。在此大背景下,推出了SRE-CLI工具,該工具是一款支持shell功能、命令補全、問題診斷、故障止血等功能的srecli工具,逐步解決和完善當(dāng)前的問題現(xiàn)狀。
?
2.SRE-CLI基本介紹
SRE Command Line Interface (SRE CLI) 是一種運維工具,讓您能夠在命令行Shell 中使用命令對混合云進行運維操作。僅需最少的配置,即可使用 SRE CLI 運行命令,以便從終端程序中的命令提示符實現(xiàn)日常運維過程中復(fù)雜的命令。基于SRE 在日常工作中的問題處理、故障應(yīng)急沉淀的“老中醫(yī)”的經(jīng)驗,并通過命令行工具的方式集成在混合云中,無需配置,即可運行SRE CLI,通過簡單命令,實現(xiàn)日常運維過程中復(fù)雜操作。
CLI交互能力模型,主要是由訪問層、交互層、后端、基礎(chǔ)設(shè)施四個部分組成。首先終端用戶通過登錄SRECLI后,進入交互層界面,通過選擇相應(yīng)的場景指令和輔助功能完成指定的動作,該動作會調(diào)用后端的各工具能力,以及數(shù)據(jù)源中數(shù)據(jù),通過基礎(chǔ)設(shè)施層進行計算,計算診斷的結(jié)果將直接輸出至終端CLI黑屏界面上,完成一整個交互流程,如下圖所示。
圖1
- 問題診斷(ali_diag)
從服務(wù)單、工單、故障單中提煉高頻操作,將常用操作、問題&故障點工具化成原子項。通過日常運維查詢產(chǎn)品原子項,問題點、故障點、快速查詢關(guān)鍵指標(biāo)定位問題點。
圖2
- 場景診斷(ali_scene)
以故障場景沉淀出一系列排查思路,以“三板斧”形式輸出,精確定位問題所在。在此基礎(chǔ)上進行故障點組裝、故障精確定位。
圖3
- 應(yīng)急止血(ali_cure)
真實故障和風(fēng)險止血恢復(fù)手段沉淀,發(fā)生并解決方案確定后,需要快速恢復(fù),恢復(fù)動作包括重啟、降級、限流、切換等。幫助客戶業(yè)務(wù)快速恢復(fù)。
- 日常查詢(ali_query)
日常查詢、關(guān)聯(lián)數(shù)據(jù)展示、常用信息獲取,通過精確的查詢方式,查詢云內(nèi)IP地址定位對應(yīng)的產(chǎn)品、路由、容量、策略等信息。目前覆蓋物理網(wǎng)絡(luò)的各類IP維度查詢。
- 智能抓流(ali_trace)
滿足CLI在云平臺內(nèi)各點抓包的能力,通過定制化的抓包組合命令,快速落在抓包點,進行指定的進或出方向的網(wǎng)絡(luò)流量抓包。覆蓋經(jīng)典網(wǎng)絡(luò)類型抓包、VPC網(wǎng)絡(luò)類型抓包兩種。
3.Cli-Net概念
Cli-Net是CLI體系中的一個分支功能,主要負(fù)責(zé)處理混合云內(nèi)物理網(wǎng)絡(luò)方向的診斷排查,通過統(tǒng)一格式的指令,在物理網(wǎng)絡(luò)環(huán)境中進行具體方面的排查診斷。Cli-Net主要覆蓋混合云物理網(wǎng)絡(luò)四大方面,包括云內(nèi)通用網(wǎng)絡(luò)設(shè)備性能診斷、云邊界網(wǎng)絡(luò)狀態(tài)診斷、云內(nèi)網(wǎng)絡(luò)狀態(tài)診斷、物理機網(wǎng)絡(luò)狀態(tài)診斷。涉及云內(nèi)所有產(chǎn)品物理機和交換機網(wǎng)絡(luò)運行狀態(tài),以及互聯(lián)網(wǎng)、云外IDC網(wǎng)絡(luò)等云外網(wǎng)絡(luò)訪問云內(nèi)網(wǎng)絡(luò)的排查診斷,具體診斷覆蓋如下表所示。
?
Cli-Net診斷覆蓋 | 通用網(wǎng)絡(luò)設(shè)備性能診斷 | 云邊界網(wǎng)絡(luò)狀態(tài)診斷 | 云內(nèi)網(wǎng)絡(luò)狀態(tài)診斷 | 物理機網(wǎng)絡(luò)狀態(tài)診斷 |
ISW | ● | ● | ? | ? |
DSW | ● | ? | ● | ● |
CSW | ● | ● | ? | ? |
LSW | ● | ? | ● | ● |
ASW | ● | ? | ● | ● |
? | input | input | input | input |
4.Cli-Net主要功能
- 快速登錄網(wǎng)絡(luò)設(shè)備
通過CLI工具訪問天基查詢,快速獲取交換機IP地址,并通過CLI工具內(nèi)置的“密碼庫”依次遍歷通用密碼快速登錄到網(wǎng)絡(luò)設(shè)備上,如果通用密碼遍歷均不成功,則判斷為已被修改成項目個性密碼。則CLI工具提示請向用戶申請并授權(quán)后輸入個性密碼,手動“填入個性密碼”,再執(zhí)行后續(xù)內(nèi)容。
通過該功能,能夠節(jié)約查詢交換機IP地址和登錄密碼的時間,方便網(wǎng)絡(luò)設(shè)備的登錄。
圖4
演示指令:ali_tools login switch $交換機角色名稱
圖5
- 通用網(wǎng)絡(luò)設(shè)備性能診斷
Cli-Net能夠檢查交換機自身硬件運行指標(biāo)性能,例如cpu、板卡、溫度、風(fēng)扇、內(nèi)存、電源狀態(tài)。
圖6
演示指令:
ali_diag network hardware COMMAND? [cpu_usage]? [device]?[environment]? [fan]? [memory] [power]
圖7
- 云邊界網(wǎng)絡(luò)互聯(lián)狀態(tài)診斷
云平臺交換機ISW、CSW、DSW、ASW、LSW之間的互聯(lián)物理鏈路健康檢查。具體檢查各角色之間經(jīng)典鏈路互聯(lián)狀態(tài),VPC專線鏈路互聯(lián)狀態(tài)和互聯(lián)光衰狀態(tài)。
圖8
演示指令:
ali_diag network interface COMMAND ?[classic_link] ?[transceiver] ?[vpc_link]
圖9
- 云內(nèi)網(wǎng)絡(luò)互聯(lián)狀態(tài)診斷
云平臺交換機路由協(xié)議互聯(lián)狀態(tài)檢查,通過檢查BGP和OSPS協(xié)議狀態(tài),如異常則直接輸出異常狀態(tài)。
圖10
演示指令:
ali_diag network route [bgp] [ospf]
圖11
- 連通性狀態(tài)診斷
云平臺物理服務(wù)器、交換機等連通性檢查。通過ping針對某個物理機名、集群名、交換機等進行連通性測試。
圖12
演示指令:
ali_diag network ping COMMAND ?[nc] ?[project] ?[switch] ?[virtual_nc]
圖13?
5.Cli-Net場景診斷
Cli-Net場景集合了混合云物理網(wǎng)絡(luò)中主要的業(yè)務(wù)數(shù)據(jù)流方向途徑的檢查點,通過Cli-scene場景中指定的排查指令,通過一鍵診斷的方式,快速排查物理網(wǎng)絡(luò)環(huán)境的各種檢查項狀態(tài),檢查診斷項主要分為五個場景:單機自檢、核心網(wǎng)絡(luò)方向診斷、專線方向診斷、公網(wǎng)方向診斷、物理虛擬方向診斷。
具體功能如下表所示:
中文名稱 | Cli英文名稱 | 含義 |
單機自檢功能 | device_check | 檢查每臺交換機本身的健康狀態(tài),包含硬件、接口、路由、連通性,去判斷輸出網(wǎng)絡(luò)設(shè)備本身的異常項目。 |
核心網(wǎng)絡(luò)方向診斷 | core-network | 通過檢查涉及所有云內(nèi)物理服務(wù)器路由通路、互聯(lián)線路、路由狀態(tài)的整體或指定具體物理機去判斷輸出網(wǎng)絡(luò)異常項。 |
專線方向診斷 | Private direction | 通過檢查用戶IDC與云內(nèi)VPC網(wǎng)絡(luò)(含所有實例級資源)間涉及到的物理網(wǎng)絡(luò)整體狀況去判斷輸出網(wǎng)絡(luò)異常項。 |
公網(wǎng)方向診斷 | Internet Direction | 通過檢查互聯(lián)網(wǎng)與云內(nèi)VPC網(wǎng)絡(luò)(含所有實例級資源)間的涉及到的物理網(wǎng)絡(luò)整體狀況去判斷輸出網(wǎng)絡(luò)異常項。 |
物理虛擬方向診斷 | physics virtual | 通過檢查VPC網(wǎng)絡(luò)(含所有實例級資源)與經(jīng)典網(wǎng)絡(luò)(包含所有云服務(wù)資源)之間的物理整體狀況去判斷輸出網(wǎng)絡(luò)異常項。 |
?
6.Cli-Net場景結(jié)構(gòu)
- 單機全量自檢場景結(jié)構(gòu)如下圖所示。
圖14
?
- Core-network場景結(jié)構(gòu)如下圖所示。
圖15
- Private direction場景結(jié)構(gòu)如下圖所示。
圖16
?
- Internet Direction場景結(jié)構(gòu)如下圖所示。
圖17
診斷指令:
ali_scene network COMMAND ?[core_network] ?[device_check] ?[internet_direction] ?[physics_virtual]
圖18
演示指令:
ali_scene network COMMAND ?[core_network] ?[device_check] ?[internet_direction] ?[physics_virtual]
圖19
圖20
7.Cli-Net應(yīng)用實踐
應(yīng)用場景 | 排查指令 | 指令結(jié)果 |
機房整體掉電 | ali_diag network ping project {product name} | 檢查云內(nèi)各集群物理機連通性是否正常 |
ali_diag network ping switch{name} | 檢查云內(nèi)交換機連通性是否正常 | |
ali_diag network hardware power {switch} | 檢查各交換機電源運行狀態(tài)是否正常 | |
ali_diag network route bgp {switch} | 交換機bpg路由協(xié)議狀態(tài)檢查 | |
ali_scene network device_check | 交換機硬件自檢 | |
ECS訪云外不通 | ali_scene network internet_direction | 檢查公網(wǎng)方向網(wǎng)絡(luò)問題 |
ali_scene network private_direction | 檢查專線方向鏈路問題 | |
base訪問vpc內(nèi)數(shù)據(jù)源失敗 | ali_scene network core_network | 設(shè)備網(wǎng)絡(luò)連通性檢查 |
ali_scene network physics_virtual | 綜合接入?yún)^(qū)網(wǎng)絡(luò)檢查 | |
物理機故障后上線 | ali_scene network core_network | 物理機所在網(wǎng)絡(luò)檢查 |
ali_diag network route bgp {switch} | 云內(nèi)bgp網(wǎng)絡(luò)狀態(tài)檢查 |
?
上表列舉出了不同場景參考的不同排查指令,通過排查指令去診斷云內(nèi)物理環(huán)境的情況,判斷是否存在異常現(xiàn)象。以上僅是物理網(wǎng)絡(luò)環(huán)境部分的檢查,如需檢查具體的產(chǎn)品側(cè)狀態(tài),還需結(jié)合具體的產(chǎn)品診斷狀態(tài)。網(wǎng)絡(luò)側(cè)和產(chǎn)品側(cè)結(jié)合使用方能達到快速診斷和排查的效果。
我們是阿里云智能全球技術(shù)服務(wù)-SRE團隊,我們致力成為一個以技術(shù)為基礎(chǔ)、面向服務(wù)、保障業(yè)務(wù)系統(tǒng)高可用的工程師團隊;提供專業(yè)、體系化的SRE服務(wù),幫助廣大客戶更好地使用云、基于云構(gòu)建更加穩(wěn)定可靠的業(yè)務(wù)系統(tǒng),提升業(yè)務(wù)穩(wěn)定性。我們期望能夠分享更多幫助企業(yè)客戶上云、用好云,讓客戶云上業(yè)務(wù)運行更加穩(wěn)定可靠的技術(shù),您可用釘釘掃描下方二維碼,加入阿里云SRE技術(shù)學(xué)院釘釘圈子,和更多云上人交流關(guān)于云平臺的那些事。
原文鏈接:https://developer.aliyun.com/article/784871?
版權(quán)聲明:本文內(nèi)容由阿里云實名注冊用戶自發(fā)貢獻,版權(quán)歸原作者所有,阿里云開發(fā)者社區(qū)不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。具體規(guī)則請查看《阿里云開發(fā)者社區(qū)用戶服務(wù)協(xié)議》和《阿里云開發(fā)者社區(qū)知識產(chǎn)權(quán)保護指引》。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,填寫侵權(quán)投訴表單進行舉報,一經(jīng)查實,本社區(qū)將立刻刪除涉嫌侵權(quán)內(nèi)容。總結(jié)
以上是生活随笔為你收集整理的解析网络诊断利器SreCli-Net的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Edge X Kubernetes Me
- 下一篇: 开放下载!阿里云开发者学堂配套教材《JV