開發與維運

網絡診斷利器SreCli-Net

0.png

1.背景

SRE運維團隊致力於通過自動化來提高運維的工作生產效率,推動向智能化運維方向迭代轉變,解決傳統運維的痛點。傳統運維雖具有完整的運維體系,但運維方式各異,運維操作複雜,耗時長。如何提高混合雲項目的運維效率,提高運維附加值和客戶滿意度,仍是我們的攻堅難題。

主要需面對以下幾點挑戰:

  • 客戶業務的快速發展與演進,傳統運維滯後性被拉大

隨著客戶業務的發展和業務模式的不斷演進,業務數據量也在逐年增加。給運維帶來了更多機會與挑戰,如何保障雲內數據、雲內外業務交互的穩定、安全、高效運行,是運維人員值得思考的問題。

  • 平臺各系統運行復雜,運維學習成本提高

隨著雲平臺雲產品版本的快速迭代,熟悉平臺難度加大,隨著雲產品版本更迭和新功能的出現,新手學習的成本提高,熟悉雲平臺的各種運維操作難度加大。但不能從根本上解決快速賦能運維能力的問題。所有一切將會引發一連串的“蝴蝶效應”,甚至引發項目高風險或P級故障出現,將會直接影響客戶雲上業務的正常使用。

  • 運維人員能力參差不齊,運維操作複雜

目前運維方式存在人工經驗判斷、平臺各種手工操作、處理問題低效、故障應急處理耗時長等主要問題。由於系統的複雜性,技術人員在操作平臺運維時,會浪費大量的時間在機器登入、工具使用等基礎問題指導上。登錄之後又面臨各種增刪改查操作指令的不統一。隨著運維長時間的消耗,也會引起現場運維人員的心神俱疲,無法專注線上操作。尤其是面對一些沒有經驗的駐場或客戶,常常會出現找不到目標機器,命令敲錯等現象,使得整體運維低效和安全隱患頻發。

 

綜合以上關於客戶、平臺、運維三方面的運維問題, 提高運維效率、降低運維人員學習成本是當前的主要任務。在此大背景下,推出了SRE-CLI工具,該工具是一款支持shell功能、命令補全、問題診斷、故障止血等功能的srecli工具,逐步解決和完善當前的問題現狀。

 

2.SRE-CLI基本介紹

SRE Command Line Interface (SRE CLI) 是一種運維工具,讓您能夠在命令行Shell 中使用命令對混合雲進行運維操作。僅需最少的配置,即可使用 SRE CLI 運行命令,以便從終端程序中的命令提示符實現日常運維過程中複雜的命令。基於SRE 在日常工作中的問題處理、故障應急沉澱的“老中醫”的經驗,並通過命令行工具的方式集成在混合雲中,無需配置,即可運行SRE CLI,通過簡單命令,實現日常運維過程中複雜操作。

SRE-CLI交互能力模型如下圖所示。1.jpg

圖1

CLI交互能力模型,主要是由訪問層、交互層、後端、基礎設施四個部分組成。首先終端用戶通過登錄SRECLI後,進入交互層界面,通過選擇相應的場景指令和輔助功能完成指定的動作,該動作會調用後端的各工具能力,以及數據源中數據,通過基礎設施層進行計算,計算診斷的結果將直接輸出至終端CLI黑屏界面上,完成一整個交互流程,

如下圖所示。

2.jpg

圖2

  • 問題診斷(ali_diag)

服務單、工單、故障單中提煉高頻操作,將常用操作、問題&故障點工具化成原子項。通過日常運維查詢產品原子項,問題點、故障點、快速查詢關鍵指標去定位問題點。

3.jpg

圖3

  • 場景診斷(ali_scene)

以故障場景沉澱出一系列排查思路,以“三板斧”形式輸出,精確定位問題所在。在此基礎上進行故障點組裝、故障精確定位。

4.jpg

圖4

  • 應急止血(ali_cure)

真實故障和風險止血恢復手段沉澱,發生並解決方案確定後,需要快速恢復,恢復動作包括重啟、降級、限流、切換等。幫助客戶業務快速恢復。

  • 日常查詢(ali_query)

日常查詢、關聯數據展示、常用信息獲取,通過精確的查詢方式,查詢雲內IP地址定位對應的產品、路由、容量、策略等信息。目前覆蓋物理網絡的各類IP維度查詢。

  • 智能抓流(ali_trace)

滿足CLI在雲平臺內各點抓包的能力,通過定製化的抓包組合命令,快速落在抓包點,進行指定的進或出方向的網絡流量抓包。覆蓋經典網絡類型抓包、VPC網絡類型抓包兩種。

3.Cli-Net概念

Cli-Net是CLI體系中的一個分支功能,主要負責處理混合雲內物理網絡方向的診斷排查,通過統一格式的指令,在物理網絡環境中進行具體方面的排查診斷。Cli-Net主要覆蓋混合雲物理網絡四大方面,包括雲內通用網絡設備性能診斷、雲邊界網絡狀態診斷、雲內網絡狀態診斷、物理機網絡狀態診斷。涉及雲內所有產品物理機和交換機網絡運行狀態,以及互聯網、雲外IDC網絡等雲外網絡訪問雲內網絡的排查診斷,具體診斷覆蓋如下表所示。

 

Cli-Net診斷覆蓋

通用網絡設備性能診斷

雲邊界網絡狀態診斷

雲內網絡狀態診斷

物理機網絡狀態診斷

ISW

 

 

DSW

 

CSW

 

 

LSW

 

ASW

 

 

input

input

input

input

4.Cli-Net主要功能

  • 快速登錄網絡設備

通過CLI工具訪問天基查詢,快速獲取交換機IP地址,並通過CLI工具內置的“密碼庫”依次遍歷通用密碼快速登錄到網絡設備上,如果通用密碼遍歷均不成功,則判斷為已被修改成項目個性密碼。則CLI工具提示請向用戶申請並授權後輸入個性密碼,手動“填入個性密碼”,再執行後續內容。

通過該功能,能夠節約查詢交換機IP地址和登錄密碼的時間,方便網絡設備的登錄。

5.jpg

圖5

演示指令:ali_tools login switch $交換機角色名稱

6.jpg

圖6

  • 通用網絡設備性能診斷

Cli-Net能夠檢查交換機自身硬件運行指標性能,例如cpu、板卡、溫度、風扇、內存、電源狀態。

7.jpg

圖7

演示指令:

ali_diag network hardware COMMAND  [cpu_usage]  [device] [environment]  [fan]  [memory] [power]

8.jpg

圖8

  • 雲邊界網絡互聯狀態診斷

雲平臺交換機ISW、CSW、DSW、ASW、LSW之間的互聯物理鏈路健康檢查。具體檢查各角色之間經典鏈路互聯狀態,VPC專線鏈路互聯狀態和互聯光衰狀態。

9.jpg

圖9

演示指令:

ali_diag network interface COMMAND  [classic_link]  [transceiver]  [vpc_link]

10.jpg

圖10

  • 雲內網絡互聯狀態診斷

雲平臺交換機路由協議互聯狀態檢查,通過檢查BGP和OSPS協議狀態,如異常則直接輸出異常狀態。

11.jpg

圖11

演示指令:

ali_diag network route [bgp] [ospf]

12.jpg

圖12

  • 連通性狀態診斷

雲平臺物理服務器、交換機等連通性檢查。通過ping針對某個物理機名、集群名、交換機等進行連通性測試。

13.jpg

圖13

演示指令:

ali_diag network ping COMMAND  [nc]  [project]  [switch]  [virtual_nc]

14.jpg

圖14 

5.Cli-Net場景診斷

Cli-Net場景集合了混合雲物理網絡中主要的業務數據流方向途徑的檢查點,通過Cli-scene場景中指定的排查指令,通過一鍵診斷的方式,快速排查物理網絡環境的各種檢查項狀態,檢查診斷項主要分為五個場景:單機自檢、核心網絡方向診斷、專線方向診斷、公網方向診斷、物理虛擬方向診斷。

具體功能如下表所示:

中文名稱

Cli英文名稱

含義

單機自檢功能

device_check

檢查每臺交換機本身的健康狀態,包含硬件、接口、路由、連通性,去判斷輸出網絡設備本身的異常項目。

核心網絡方向診斷

core-network

通過檢查涉及所有云內物理服務器路由通路、互聯線路、路由狀態的整體或指定具體物理機去判斷輸出網絡異常項。

專線方向診斷

Private direction

通過檢查用戶IDC與雲內VPC網絡(含所有實例級資源)間涉及到的物理網絡整體狀況去判斷輸出網絡異常項。

公網方向診斷

Internet Direction

通過檢查互聯網與雲內VPC網絡(含所有實例級資源)間的涉及到的物理網絡整體狀況去判斷輸出網絡異常項。

物理虛擬方向診斷

physics virtual

通過檢查VPC網絡(含所有實例級資源)與經典網絡(包含所有云服務資源)之間的物理整體狀況去判斷輸出網絡異常項。

 

6.Cli-Net場景結構

  • 單機全量自檢場景結構如下圖所示。

15.jpg

圖15

 

  • Core-network場景結構如下圖所示。

16.jpg

圖16

  • Private direction場景結構如下圖所示。

17.jpg

圖17

 

  • Internet Direction場景結構如下圖所示。

18.jpg

圖18

診斷指令:

ali_scene network COMMAND  [core_network]  [device_check]  [internet_direction]  [physics_virtual]

19.jpg

圖19

演示指令:

ali_scene network COMMAND  [core_network]  [device_check]  [internet_direction]  [physics_virtual]

20.jpg

圖20

21.jpg

圖21

7.Cli-Net應用實踐

應用場景

排查指令

指令結果

機房整體掉電

ali_diag network ping project {product name}

檢查雲內各集群物理機連通性是否正常

ali_diag network ping switch{name}

檢查雲內交換機連通性是否正常

ali_diag network hardware power {switch}

檢查各交換機電源運行狀態是否正常

ali_diag network route bgp {switch}

交換機bpg路由協議狀態檢查

ali_scene network device_check

交換機硬件自檢

ECS訪雲外不通

ali_scene network internet_direction

檢查公網方向網絡問題

ali_scene network private_direction

檢查專線方向鏈路問題

base訪問vpc內數據源失敗

ali_scene network core_network

設備網絡連通性檢查

ali_scene network physics_virtual

綜合接入區網絡檢查

物理機故障後上線

ali_scene network core_network

物理機所在網絡檢查

ali_diag network route bgp {switch}

雲內bgp網絡狀態檢查

 

上表列舉出了不同場景參考的不同排查指令,通過排查指令去診斷雲內物理環境的情況,判斷是否存在異常現象。以上僅是物理網絡環境部分的檢查,如需檢查具體的產品側狀態,還需結合具體的產品診斷狀態。網絡側和產品側結合使用方能達到快速診斷和排查的效果。

我們是阿里雲智能全球技術服務-SRE團隊,我們致力成為一個以技術為基礎、面向服務、保障業務系統高可用的工程師團隊;提供專業、體系化的SRE服務,幫助廣大客戶更好地使用雲、基於雲構建更加穩定可靠的業務系統,提升業務穩定性。我們期望能夠分享更多幫助企業客戶上雲、用好雲,讓客戶雲上業務運行更加穩定可靠的技術,您可用釘釘掃描下方二維碼,加入阿里雲SRE技術學院釘釘圈子,和更多雲上人交流關於雲平臺的那些事。

bf0f5d316cd54a20a265f5b1ebbb19aa.png

Leave a Reply

Your email address will not be published. Required fields are marked *