AVt天堂网 手机版,亚洲va久久久噜噜噜久久4399,天天综合亚洲色在线精品,亚洲一级Av无码毛片久久精品

當前位置:首頁 > 科技  > 軟件

干貨 | 攜程IT桌面全鏈路工具研發運營實踐

來源: 責編: 時間:2024-07-25 16:41:12 176觀看
導讀一、前言隨著企業規模的增長,在滿足合規、信息安全的要求下,管理大量電腦并滿足多樣化的員工需求,同時確保員工能夠高效、穩定地工作,已成為一項很具有挑戰性的任務。二、現狀公司擁有大量的員工和電腦,電腦故障量較多,雖有

一、前言

隨著企業規模的增長,在滿足合規、信息安全的要求下,管理大量電腦并滿足多樣化的員工需求,同時確保員工能夠高效、穩定地工作,已成為一項很具有挑戰性的任務。Y1z28資訊網——每日最新資訊28at.com

二、現狀

公司擁有大量的員工和電腦,電腦故障量較多,雖有各種自動化工具幫助員工自行解決,但仍有不少故障需要運維工程師人工排障。這種被動式的排障管理模式不僅效率較低、耗時長,而且容易遺漏,影響員工的辦公效率。因此需考慮采用一種更加主動、高效的桌面運維模式,如自動化的故障檢測和主動修復,以提高員工的辦公效率和運維團隊的工作效率。Y1z28資訊網——每日最新資訊28at.com

三、全鏈路研發運營實踐

為降低公司電腦故障量,引入主動監測電腦健康度的機制,及時發現電腦存在的已知問題,可以主動自行修復,或提醒用戶當前電腦的健康情況,由用戶自行處置。對一些特定的故障做到提前預警并提前解決,以保證用戶能夠持續高效辦公。Y1z28資訊網——每日最新資訊28at.com

3.1 架構選型Y1z28資訊網——每日最新資訊28at.com

  • 數據采集需開發客戶端Agent常駐用戶PC,并定期執行,考慮到公司電腦系統的多樣性(Windows/Mac/Linux),為避免多個平臺的重復開發而帶來的工作量,Agent選用新興的內存安全和高性能的Rust語言,配合其生態下的跨平臺桌面應用程序框架Tauri。實現具有跨平臺能力的Agent;
  • Server端使用SpringBoot,為所有的Agent提供各類接口,完成策略下發、數據收集等;
  • 客戶端采集/修復腳本支持Powershell、Bat、exe等類型,腳本均可通過全鏈路Server端管理頁面單獨管理發布,功能腳本和Agent獨立開,可以最大程度上做到Agent和腳本之間的松耦合,增加后續業務的可擴展性,提高運行效率;
  • 管理后臺選用Django、Django-Simpleui、Vue配合開發,通過配置化的框架,快速構建功能豐富的管理后臺,并使用Vue對需定制的頁面進行完善和補充,提高開發效率;

圖片Y1z28資訊網——每日最新資訊28at.com

3.2 前期業務評估和設計Y1z28資訊網——每日最新資訊28at.com

  • 公司電腦體量大,每臺電腦數十個檢測項,加上一小時采集周期,系統將在短時間內產生數千萬條數據,在數據庫索引設計、整體架構、多線程高并發編程等方面需做好充分設計。采用多線程、異步隊列機制對上報數據實現高效落庫,提高整體穩定性和時效性;
  • 全鏈路數據采集有兩種模式:定時客戶端采集上報和其他系統接口的實時查詢。后者依賴外部接口較多且響應時間相差較大,需要在用戶檢索查詢時使用多線程同步等技巧,保證查詢速度和用戶體驗;
  • 全鏈路Agent和Server端交互數據包括數據采集、腳本下載、策略下發,各場景都需要保證其安全性,各接口均采用雙向不對稱加密對上報的數據和下載的腳本實現加解密,同時通過Server端的Token實現客戶端的會話鑒權機制,保證系統的安全性;

3.3 實戰業務流程Y1z28資訊網——每日最新資訊28at.com

1) 客戶端Y1z28資訊網——每日最新資訊28at.com

執行調度:客戶端用戶登錄后,Agent定時在客戶端自動調度運行,執行權限為System;Y1z28資訊網——每日最新資訊28at.com

下載任務:客戶端Agent向服務端請求,獲取客戶端所需要檢測的相關任務列表(檢查項,如:C盤剩余空間、賬號鎖定狀態等),任務列表中包含檢查項Key、檢測腳本名、腳本MD5值、腳本運行參數等信息;Y1z28資訊網——每日最新資訊28at.com

采集腳本:客戶端Agent獲取對應任務列表后,首先檢查本地緩存中是否存在相同MD5的文件,如果存在則直接運行,如果不存在則Agent發起請求從服務端下載最新的腳本文件檢查校驗MD5后緩存到本地,腳本類型可為:Powershell、bat、exe等;Y1z28資訊網——每日最新資訊28at.com

圖片 Y1z28資訊網——每日最新資訊28at.com

采集數據:客戶端Agent依次調度執行各檢查項對應的腳本,采集客戶端數據; Y1z28資訊網——每日最新資訊28at.com

數據上報:所有檢測項數據采集完成后Agent將數據加密后上報到Server端,由Server端進行解密、數據校驗和存儲;Y1z28資訊網——每日最新資訊28at.com

修復腳本:Server端對采集數據結果檢查,校驗后會將檢查結果異常需修復的項,下發到客戶端Agent,返回數據中包含了檢查項Key、修復腳本名、修復腳本MD5值、腳本參數、異常處理、超時時間類型等信息,參數類似采集腳本;Y1z28資訊網——每日最新資訊28at.com

異常處理:修復腳本信息中,異常處理類型有“直接修復”、 “提醒修復”、“僅提醒”三種處理方案(處理類型可再后臺頁面配置)。Agent依次執行所有“直接修復”相關的腳本,執行后修復結果統一上報Server端進行修復結果存儲。“提醒修復”、“僅提醒”相關異常信息在桌面右下角彈框提醒,并對“提醒修復”類型的檢查項開放用戶確認自助修復,用戶自助修復的結果同時上報給Server端進行數據存儲;Y1z28資訊網——每日最新資訊28at.com

任務結束:數據采集完成后Agent退出運行,關閉與服務端的會話,釋放系統資源;Y1z28資訊網——每日最新資訊28at.com

2) Server端Y1z28資訊網——每日最新資訊28at.com

下發采集任務:Server端緩存所有檢查項信息(檢測項信息中會包含腳本的MD5值,這在下載流程中會用到),緩存保存2分鐘,當接收到客戶端任務查詢請求時,優先去緩存中查詢,緩存中沒有則去數據庫查詢并更新緩存,即能保證查詢的速度,同時減輕數據庫的壓力;Y1z28資訊網——每日最新資訊28at.com

下發采集腳本:檢測腳本&修復腳本均為小文件,以BLOB二進制大對象存數據庫,同時記錄每個腳本的MD5值,與檢查項一致,腳本信息同時緩存,客戶端請求下載文件時,根據請求體中的MD5值匹配腳本;Y1z28資訊網——每日最新資訊28at.com

數據校驗保存:每個檢查項均可獨立配置檢測結果的標準值和校驗邏輯,系統對“標準值校驗邏輯”列表中的校驗項實現了不同的匹配邏輯,客戶端上報檢測結果時,Server端根據檢查項配置的校驗規則對每條檢查數據進行校驗,所有采集數據計算出正常/異常后保存數據庫,數據采用了異步隊列的方式落庫存儲,提高接口的時效性,減低客戶端接口響應時長,同時所有檢測異常的數據,Server端將相關檢查項信息(包括修復腳本信息、異常處理類型等)返回給客戶端進行進一步的修復工作;Y1z28資訊網——每日最新資訊28at.com

圖片 Y1z28資訊網——每日最新資訊28at.com

保存修復結果:Server端接收客戶端上報給修復結果,Server端保存修復結果;Y1z28資訊網——每日最新資訊28at.com

圖片Y1z28資訊網——每日最新資訊28at.com

3) 運維管理Y1z28資訊網——每日最新資訊28at.com

全鏈路最終交付對象是桌面運維團隊,運維管理模塊必不可少,全鏈路提供的管理頁面包含了檢查項、腳本、灰度管理、修復日志、檢測結果查詢等模塊。Y1z28資訊網——每日最新資訊28at.com

檢查項管理:工程師可以根據業務情況自定義新增檢查項,檢查項關鍵字段包括CheckKey(檢查項唯一標識)、開關(檢測項是否可用)、提醒類型(直接修復、提醒修復、提醒)、實時查詢(檢查項是否實時查詢,只有非實時查詢類的檢查項才會在客戶端采集數據)、灰度策略(檢測項上線或變更時的灰度功能,保證檢查項的平穩上線)、標準值(每個檢查項的檢測結果標準值或標準值集合)、校驗邏輯(包括大于、小于、等于、不包含、被包含等,用于校驗數據結果);Y1z28資訊網——每日最新資訊28at.com

腳本管理:該模塊統一處理客戶端檢測、修復腳本。上傳后的腳本會關聯檢查項CheckKey和腳本類型(檢測腳本、修復腳本),以關聯檢查腳本、修復腳本和檢查項的關聯關系。此模塊還關聯到具體灰度策略(每個腳本均有獨立灰度功能)、操作系統選項(包含Windows、Mac、Linux,目前只用到Windows,其它為未來擴展預留)、腳本參數(如hostname、username等,用于客戶端執行腳本時的固定參數)和超時時間(限制客戶端腳本的執行時間,保證采集過程的正常進行)。為確保流程完整性和安全性,腳本上傳會啟動審批流程,只有審批通過的腳本才能投入生產;Y1z28資訊網——每日最新資訊28at.com

灰度策略管理:用于支持檢查項和腳本的生產灰度,灰度維度包括:員工、郵件組、團隊、工種、國家、員工批次、電腦名,灰度策略包含黑名單和白名單,黑白名單可以多維度單獨配置,并支持黑白名單同時生效,可提高灰度場景的靈活性;Y1z28資訊網——每日最新資訊28at.com

員工批次管理:員工批次是灰度策略中的一種,可以靈活自定義某些沒有職級或組織結構關聯關系的員工為一個批次,該邏輯可以覆蓋補齊所有灰度場景,進一步提升灰度策略的靈活性;Y1z28資訊網——每日最新資訊28at.com

數據查詢:運維管理界面提供數據采集結果的查詢、篩選,每條結果包機器名、用戶、檢查項、采集結果、校驗結果、上報時間等;Y1z28資訊網——每日最新資訊28at.com

其他:除以上的主要功能以外,全鏈路運維模塊還提供了一些額外的板塊,包含提醒配置(用于記錄客戶端用戶選擇提醒冷卻周期)、權限管理(用于配置和管理每個管理板塊的用戶權限,提高系統的安全性)等;Y1z28資訊網——每日最新資訊28at.com

4) 安全措施Y1z28資訊網——每日最新資訊28at.com

客戶端Agent和Server端之間的數據交互采用雙向不對稱加密方式,客戶端和Server端分別持有一對公鑰和私鑰(Agent擁有Agent的私鑰+Server端的公鑰,Server端擁有Agent的公鑰+Server端的私鑰)。并增加Server端Token鑒權,實現會話機制,當Server端接收到Agent請求時,需要驗證Token的有效性及時效性;Y1z28資訊網——每日最新資訊28at.com

公司辦公環境復雜(有內網、獨立組網、零信任網絡環境等),員工辦公電腦可能同時存在于各種網絡環境中,為了保證Agent能在各種環境內正常工作,Server端同時開通內、外網域名,Agent第一個請求首先使用內網域名,無法通信則自動切換外網域名,本次會話中的后續請求均使用確定好的域名。該機制實現了Agent在各種網絡環境的自動適配,保證了系統的可用性;Y1z28資訊網——每日最新資訊28at.com

每次Agent調度執行相關腳本時,都計算本地緩存文件和Sever端接口中的MD5,確保本地緩存文件不會被篡改,避免高權限執行危險命令和程序;Y1z28資訊網——每日最新資訊28at.com

3.4 全鏈路業務流程圖(FLT)Y1z28資訊網——每日最新資訊28at.com

圖片Y1z28資訊網——每日最新資訊28at.com

3.5 員工電腦健康度查詢Y1z28資訊網——每日最新資訊28at.com

圖片Y1z28資訊網——每日最新資訊28at.com

 3.6 困難和挑戰Y1z28資訊網——每日最新資訊28at.com

1) 采集數據量激增,數據庫性能挑戰Y1z28資訊網——每日最新資訊28at.com

隨著檢查項和接入PC數量增加,累計的數據量急劇增加(超過5000W),數據庫的性能和系統穩定受到嚴峻挑戰。經過仔細研究后優化,采用數據增量更新策略,同一PC、用戶、檢測項的結果,如果與前一次執行結果一致,則只更新數據的采集時間,只有在數據不一致時才新增數據記錄。通過額外字段標識記錄采集結果是否為當前活躍結果,并配合每個客戶端Agent執行日志,統計每次Agent采集明細,此機制在保證數據完整性的同時,大大減緩了數據量的增長,據統計數據量減少超過70%;Y1z28資訊網——每日最新資訊28at.com

2) 實時檢查項查詢邏輯優化Y1z28資訊網——每日最新資訊28at.com

實時檢查項的數據均通過外部接口調用獲取,工程師在線查詢各個檢測項的執行結果時后臺實時觸發接口調用查詢,對查詢的時效性要求較高,隨著實時檢查項數量的增加,查詢速度逐漸難以滿足工程師的要求。采用多個實時檢查項并行查詢機制,并配合查詢結果緩存策略,提高了查詢速度。Y1z28資訊網——每日最新資訊28at.com

3) 彈框顯示GUI交互問題處理Y1z28資訊網——每日最新資訊28at.com

全鏈路Agent以System權限調度運行,System權限啟動的應用不能直接與當前用戶的GUI進行交互,導致用戶客戶端右下角的彈框提示也無法顯示。對Agent調度程序進行了優化改造,拆分為FLT-System.exe和FLT-User.exe,分別以system權限運行和當前登錄用戶賬號運行,FLT-System.exe主要負責執行系統級別的檢測修復腳本(例如:網絡信息檢測),FLT-User.exe負責執行用戶級別的檢測修復腳本,同時用戶彈框界面通過FLT-User.exe喚起。Y1z28資訊網——每日最新資訊28at.com

Agent改造邏輯如下:Y1z28資訊網——每日最新資訊28at.com

  • FLT-System.exe、FLT-User.exe為兩個程序模塊,依次調度執行,同時兩者之間通過RPC通信實現數據交互;
  • FLT-User.exe向Server發送請求獲取客戶端所需要檢測的相關任務列表及腳本的下載,腳本運行權限分為system權限、user權限,其中system權限的腳本FLT-User.exe向FLT-System.exe發起RPC調度請求,而user權限的腳本FLT-User.exe會直接調度運行;
  • FLT-System.exe啟動開啟心跳監測,FLT-User.exe每過5秒會向FLT-System.exe請求心跳狀態,確保程序正常運行,防止系統資源占用。如果不存在心跳,則FLT-User.exe自行退出,釋放系統資源。同時FLT-System.exe如果在連續3次都未獲得心跳檢測請求,也自行退出,釋放系統資源;
  • 兩個exe之間交互采用雙向不對稱加密方式通信,RPC調用為localhost網絡地址,防止其他應用調用exe接口,保證系統的安全;
  • FLT-User.exe可在電腦右下角彈出窗口,解決GUI交互的問題,實現用戶交互;

Agent拆分的具體設計圖:Y1z28資訊網——每日最新資訊28at.com

圖片Y1z28資訊網——每日最新資訊28at.com

客戶端交互彈窗:Y1z28資訊網——每日最新資訊28at.com

圖片Y1z28資訊網——每日最新資訊28at.com

4) 客戶端覆蓋率提升Y1z28資訊網——每日最新資訊28at.com

全鏈路工具FLT-User.exe使用當前登錄用戶權限啟動,故在注銷狀態下無法運行,導致注銷狀態下的客戶端數據無法采集,為了提升客戶端的覆蓋面,再次對全鏈路Agent調度邏輯進行優化。注銷狀態時FLT-System.exe和FLT-User.exe均采用System權限執行,同時限制只運行System權限相關的腳本(User權限相關腳本可能會執行異常,故在此情況下不再調度),注銷狀態下無需彈框提醒,GUI交互無問題;Y1z28資訊網——每日最新資訊28at.com

5) 運維故障快速定位和解決Y1z28資訊網——每日最新資訊28at.com

全鏈路工具覆蓋公司所有Windows客戶端,全鏈路運維工作很容易造成線上故障,風險較大,例如:工程師無意修改錯檢查項標準值,就會導致采集的數據產生大量的異常值,對運維工作會造成極大的負面影響,且排障難度較大。為能快速定位和解決運維故障,在運維管理系統中增加了運維日志模塊(審計日志),記錄后臺頁面操作的所有日志,可以快速查詢所有的配置修改,為系統長期穩定運行打好基礎。Y1z28資訊網——每日最新資訊28at.com

審計日志查詢頁面如下:Y1z28資訊網——每日最新資訊28at.com

圖片Y1z28資訊網——每日最新資訊28at.com

6) 采集鏈路腳本執行情況統計Y1z28資訊網——每日最新資訊28at.com

由于采集數據是通過客戶端單線程隊列順序執行腳本實現,腳本執行的耗時會直接影響采集的效率,再對所有采集工作耗時情況統計分析,正常情況單次采集工作的總耗時平均在2min~5min,非正常的采集耗時有的超過1小時,這種非正常采集降低了全鏈路的可用性和準確性。對FLT-System、FLT-User調度腳本采集數據的邏輯上進行優化,新增腳本執行耗時統計、腳本執行超時限制(在腳本管理后臺可配置),同時數據采集記錄表新增“采集耗時”字段,記錄檢測項腳本執行的時間,為后續各個檢查、修復腳本的優化提供數據支持。同時對執行超時的腳本進行主動中止,避免過多消耗客戶端資源。優化后提升了整個采集工作的效率,進一步完善了全鏈路工具。Y1z28資訊網——每日最新資訊28at.com

四、成果

通過全鏈路工具的運營,實現了電腦故障的自動檢測、提前發現、自動修復,改變了以往用戶報障后被動式排障的運營管理模式。通過自動化故障檢測和主動修復機制,全面提高了電腦的穩定性和安全性,整體人工事件量降低明顯,提高了員工滿意度。Y1z28資訊網——每日最新資訊28at.com

全鏈路工具上線后,使得IT運維團隊能夠通過技術手段,更加有效的管理全公司數萬臺用途各異、配置不同的辦公電腦,大大提高運維團隊的工作效率。并且提供了準實時的電腦運行數據監控,同時為網絡質量檢測、辦公電腦數據收集等業務場景提供了有力的支撐。確保滿足多樣化員工需求和信息安全的前提下,能夠高效、穩定的開展工作。Y1z28資訊網——每日最新資訊28at.com

系統上線前后,各類PC主要問題,周平均故障量下降20%-30%。運維團隊人工服務量下降超過10%,業務效果顯著。Y1z28資訊網——每日最新資訊28at.com

上線前后主要檢查修復項故障量下降:Y1z28資訊網——每日最新資訊28at.com

圖片Y1z28資訊網——每日最新資訊28at.com

全鏈路檢測項范圍內客戶端健康度提升:Y1z28資訊網——每日最新資訊28at.com

圖片Y1z28資訊網——每日最新資訊28at.com

五、未來Y1z28資訊網——每日最新資訊28at.com

全鏈路數據采集腳本的執行需要依賴于客戶端的環境,相同的腳本在不同的客戶端執行后可能有不同的結果(成功或者異常),后續需要具體分析腳本異常問題,提升數據有效性。在未來需要持續不懈地優化和完善系統,不斷突破性能的極限,賦予全鏈路更加強大的功能,為企業提供更為卓越的桌面系統運營解決方案。Y1z28資訊網——每日最新資訊28at.com

本文鏈接:http://www.tebozhan.com/showinfo-26-103572-0.html干貨 | 攜程IT桌面全鏈路工具研發運營實踐

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 關于 C# 12 新增功能實操!

下一篇: Lua:只有少數程序員知道的最簡單、功能齊全的語言

標簽:
  • 熱門焦點
Top