System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內(nèi)的位置。 參數(shù)名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術(shù)實(shí)現(xiàn)步驟摘要】
本專利技術(shù)涉及自動化系統(tǒng)配置與監(jiān)控技術(shù),尤其涉及一種基于python的自動化系統(tǒng)配置與監(jiān)控方法及系統(tǒng)。
技術(shù)介紹
1、在當(dāng)前的計算機(jī)系統(tǒng)管理中,系統(tǒng)配置和監(jiān)控通常是通過手動操作命令行工具或者使用一些專用的系統(tǒng)管理軟件來完成。手動操作命令行工具要求管理員具備較高的專業(yè)知識和豐富的經(jīng)驗(yàn),且操作過程繁瑣、容易出錯。專用的系統(tǒng)管理軟件雖然在一定程度上簡化了操作,但往往存在功能局限性,不能很好地適應(yīng)復(fù)雜多變的系統(tǒng)環(huán)境和多樣化的監(jiān)控需求。例如,對于一些自定義的系統(tǒng)配置參數(shù)調(diào)整和特定業(yè)務(wù)邏輯相關(guān)的監(jiān)控指標(biāo),現(xiàn)有軟件可能無法滿足要求。
2、此外,雖然一些自動化配置工具能進(jìn)行服務(wù)部署和監(jiān)控,但大多數(shù)工具未能考慮到服務(wù)節(jié)點(diǎn)的親和度、負(fù)載分布以及節(jié)點(diǎn)間的依賴關(guān)系,缺乏基于服務(wù)依賴模型的負(fù)載均衡和配置優(yōu)化策略,導(dǎo)致在應(yīng)對大規(guī)模、高復(fù)雜度系統(tǒng)時,難以滿足高效、精準(zhǔn)的服務(wù)配置需求。因此,亟需一種基于自動化腳本和多層級服務(wù)依賴模型的配置與監(jiān)控方法,以提高系統(tǒng)的自適應(yīng)能力、優(yōu)化配置效率并增強(qiáng)系統(tǒng)的健康度評估和負(fù)載均衡能力。
3、因此,亟需一種創(chuàng)新的基于python的自動化系統(tǒng)配置與監(jiān)控方法,能夠根據(jù)服務(wù)依賴關(guān)系和負(fù)載信息,自動生成并優(yōu)化配置參數(shù),實(shí)時監(jiān)控系統(tǒng)健康狀況并實(shí)現(xiàn)動態(tài)調(diào)整。
技術(shù)實(shí)現(xiàn)思路
1、本專利技術(shù)實(shí)施例提供一種基于python的自動化系統(tǒng)配置與監(jiān)控方法及系統(tǒng),能夠解決現(xiàn)有技術(shù)中的問題。
2、本專利技術(shù)實(shí)施例的第一方面,
3、提供一種基于python的自
4、采用python腳本程序讀取服務(wù)注冊中心中的服務(wù)信息,提取服務(wù)訪問路徑和調(diào)用關(guān)系,將服務(wù)訪問路徑映射為圖節(jié)點(diǎn),將調(diào)用關(guān)系映射為帶權(quán)重的連接邊,基于節(jié)點(diǎn)計算負(fù)載值構(gòu)建有向無環(huán)圖結(jié)構(gòu)的多層級服務(wù)依賴模型,利用所述python腳本程序分析多層級服務(wù)依賴模型中節(jié)點(diǎn)的連通度和負(fù)載分布,建立服務(wù)節(jié)點(diǎn)親和度矩陣,計算配置參數(shù)的依賴深度和關(guān)聯(lián)強(qiáng)度,生成考慮負(fù)載均衡的配置參數(shù)優(yōu)先級隊列,基于所述配置參數(shù)優(yōu)先級隊列讀取配置信息,將配置參數(shù)按照服務(wù)親和度矩陣分組寫入shell模板,通過分布式事務(wù)協(xié)調(diào)器創(chuàng)建帶有回滾點(diǎn)的原子事務(wù)單元,生成shell執(zhí)行指令序列完成系統(tǒng)初始配置;
5、基于所述多層級服務(wù)依賴模型和所述服務(wù)節(jié)點(diǎn)親和度矩陣確定監(jiān)控代理程序的部署位置,所述監(jiān)控代理程序根據(jù)所述負(fù)載值設(shè)置數(shù)據(jù)采樣周期,采集系統(tǒng)運(yùn)行數(shù)據(jù)并計算節(jié)點(diǎn)健康度指標(biāo),通過發(fā)布-訂閱消息總線將所述節(jié)點(diǎn)健康度指標(biāo)傳遞至相鄰節(jié)點(diǎn)構(gòu)建網(wǎng)狀共享通道,同時根據(jù)所述服務(wù)節(jié)點(diǎn)親和度矩陣確定數(shù)據(jù)傳輸路徑,在邊緣節(jié)點(diǎn)執(zhí)行數(shù)據(jù)預(yù)處理并將預(yù)處理結(jié)果傳輸至核心節(jié)點(diǎn),所述核心節(jié)點(diǎn)基于所述多層級服務(wù)依賴模型執(zhí)行數(shù)據(jù)關(guān)聯(lián)分析,生成更新后的節(jié)點(diǎn)負(fù)載值和更新后的節(jié)點(diǎn)健康度指標(biāo);
6、當(dāng)所述節(jié)點(diǎn)健康度指標(biāo)低于預(yù)設(shè)閾值時,自動觸發(fā)python告警處理模塊通過所述網(wǎng)狀共享通道向相鄰節(jié)點(diǎn)廣播告警消息,獲取相鄰節(jié)點(diǎn)反饋的本地節(jié)點(diǎn)健康度指標(biāo)完成告警確認(rèn),對所述本地節(jié)點(diǎn)健康度指標(biāo)進(jìn)行分析,生成節(jié)點(diǎn)健康狀態(tài)評估報告;基于所述節(jié)點(diǎn)健康狀態(tài)評估報告采用一致性算法選擇健康狀態(tài)最優(yōu)節(jié)點(diǎn)作為執(zhí)行節(jié)點(diǎn),所述python告警處理模塊讀取所述執(zhí)行節(jié)點(diǎn)上的更新后的節(jié)點(diǎn)負(fù)載值,基于所述服務(wù)節(jié)點(diǎn)親和度矩陣生成服務(wù)重配置模板,將所述服務(wù)重配置模板和更新后的節(jié)點(diǎn)健康度指標(biāo)組裝為shell腳本參數(shù),調(diào)用所述分布式事務(wù)協(xié)調(diào)器執(zhí)行所述shell腳本完成系統(tǒng)重配置,生成配置結(jié)果日志,并將所述配置結(jié)果日志更新至所述服務(wù)注冊中心,通過所述網(wǎng)狀共享通道廣播配置更新消息,觸發(fā)相鄰節(jié)點(diǎn)執(zhí)行配置更新腳本。
7、在一種可選的實(shí)施例中,
8、利用所述python腳本程序分析多層級服務(wù)依賴模型中節(jié)點(diǎn)的連通度和負(fù)載分布,建立服務(wù)節(jié)點(diǎn)親和度矩陣,計算配置參數(shù)的依賴深度和關(guān)聯(lián)強(qiáng)度,生成考慮負(fù)載均衡的配置參數(shù)優(yōu)先級隊列包括:
9、采集多層級服務(wù)依賴模型中每個節(jié)點(diǎn)的實(shí)時監(jiān)控數(shù)據(jù),根據(jù)所述監(jiān)控數(shù)據(jù)計算節(jié)點(diǎn)的cpu使用率和內(nèi)存占用率,設(shè)定負(fù)載閾值對節(jié)點(diǎn)進(jìn)行分類得到負(fù)載分布信息;
10、采用深度優(yōu)先搜索算法遍歷所述多層級服務(wù)依賴模型,計算任意兩個節(jié)點(diǎn)之間的最短路徑距離得到連通度信息,獲取節(jié)點(diǎn)的物理部署坐標(biāo),基于網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)計算節(jié)點(diǎn)間的物理跳數(shù)得到部署位置信息,將所述負(fù)載分布信息、連通度信息和部署位置信息分別進(jìn)行歸一化處理后加權(quán)組合,計算節(jié)點(diǎn)對之間的親和度系數(shù),構(gòu)建服務(wù)節(jié)點(diǎn)親和度矩陣;
11、以所述多層級服務(wù)依賴模型的根節(jié)點(diǎn)為起點(diǎn),采用廣度優(yōu)先搜索算法獲取到每個配置參數(shù)節(jié)點(diǎn)的所有可達(dá)路徑,統(tǒng)計每條可達(dá)路徑包含的邊數(shù),選取最大邊數(shù)作為配置參數(shù)的依賴深度,基于所述服務(wù)節(jié)點(diǎn)親和度矩陣識別與每個配置參數(shù)直接存在調(diào)用關(guān)系的關(guān)聯(lián)參數(shù)集合,根據(jù)關(guān)聯(lián)參數(shù)的被調(diào)用頻次和資源占用率計算重要程度,將每個配置參數(shù)對應(yīng)的所有關(guān)聯(lián)參數(shù)的重要程度與對應(yīng)的親和度系數(shù)相乘并求平均值,得到當(dāng)前配置參數(shù)的關(guān)聯(lián)強(qiáng)度;
12、對每個配置參數(shù)的依賴深度和關(guān)聯(lián)強(qiáng)度進(jìn)行標(biāo)準(zhǔn)化處理,基于系統(tǒng)當(dāng)前負(fù)載狀態(tài)動態(tài)調(diào)整依賴深度和關(guān)聯(lián)強(qiáng)度的權(quán)重系數(shù),將調(diào)整后的依賴深度和關(guān)聯(lián)強(qiáng)度線性組合得到配置參數(shù)的優(yōu)先級值,根據(jù)所述優(yōu)先級值對配置參數(shù)進(jìn)行降序排序,識別具有回滾依賴關(guān)系的配置參數(shù)對并確保其在隊列中相鄰放置;檢測節(jié)點(diǎn)的實(shí)時負(fù)載狀態(tài),當(dāng)檢測到超過預(yù)設(shè)負(fù)載閾值的超負(fù)載節(jié)點(diǎn)時,將部署在超負(fù)載節(jié)點(diǎn)上的配置參數(shù)順序向后順延;對同一節(jié)點(diǎn)上的配置參數(shù)進(jìn)行聚類,在保證回滾依賴關(guān)系的前提下將聚類結(jié)果相鄰放置,最終生成滿足負(fù)載均衡約束的配置參數(shù)優(yōu)先級隊列。
13、在一種可選的實(shí)施例中,
14、采用深度優(yōu)先搜索算法遍歷所述多層級服務(wù)依賴模型,計算任意兩個節(jié)點(diǎn)之間的最短路徑距離得到連通度信息,獲取節(jié)點(diǎn)的物理部署坐標(biāo),基于網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)計算節(jié)點(diǎn)間的物理跳數(shù)得到部署位置信息包括:
15、構(gòu)建多層級服務(wù)依賴模型的鄰接矩陣,所述鄰接矩陣表示服務(wù)節(jié)點(diǎn)間的調(diào)用關(guān)系,其中矩陣元素表示服務(wù)節(jié)點(diǎn)間的調(diào)用權(quán)重,設(shè)置訪問標(biāo)記數(shù)組記錄所述服務(wù)節(jié)點(diǎn)的訪問狀態(tài),初始化距離矩陣用于存儲所述服務(wù)節(jié)點(diǎn)間的最短路徑距離;
16、采用深度優(yōu)先搜索算法遍歷所述多層級服務(wù)依賴模型,遞歸訪問當(dāng)前服務(wù)節(jié)點(diǎn)的未訪問相鄰服務(wù)節(jié)點(diǎn),維護(hù)從起始服務(wù)節(jié)點(diǎn)到當(dāng)前服務(wù)節(jié)點(diǎn)的路徑距離,當(dāng)找到目標(biāo)服務(wù)節(jié)點(diǎn)時更新所述距離矩陣對應(yīng)的最短路徑距離值得到連通度信息;
17、獲取所述服務(wù)節(jié)點(diǎn)的物理部署坐標(biāo),所述物理部署坐標(biāo)包括數(shù)據(jù)中心標(biāo)識、機(jī)架標(biāo)識和服務(wù)器標(biāo)識;
18、基于網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)構(gòu)建跳數(shù)權(quán)重矩陣,所述跳數(shù)權(quán)重矩陣包括同一服務(wù)器內(nèi)通信權(quán)重、同一機(jī)架內(nèi)服務(wù)器間通信權(quán)重、同一數(shù)據(jù)中心機(jī)架間通信權(quán)重和跨數(shù)據(jù)中心通信權(quán)重;根據(jù)所述物理部署坐標(biāo)和所述跳數(shù)權(quán)重矩陣計算所述服務(wù)節(jié)點(diǎn)間的物理跳數(shù)得到部署位置信息。
19、在一種可選的實(shí)施例中,
20、基于所述配置參數(shù)優(yōu)先級隊列讀取配置信息,將配置參數(shù)按照服務(wù)親和度矩陣分組寫入shell模板,通過分布式本文檔來自技高網(wǎng)...
【技術(shù)保護(hù)點(diǎn)】
1.一種基于Python的自動化系統(tǒng)配置與監(jiān)控方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,利用所述Python腳本程序分析多層級服務(wù)依賴模型中節(jié)點(diǎn)的連通度和負(fù)載分布,建立服務(wù)節(jié)點(diǎn)親和度矩陣,計算配置參數(shù)的依賴深度和關(guān)聯(lián)強(qiáng)度,生成考慮負(fù)載均衡的配置參數(shù)優(yōu)先級隊列包括:
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,采用深度優(yōu)先搜索算法遍歷所述多層級服務(wù)依賴模型,計算任意兩個節(jié)點(diǎn)之間的最短路徑距離得到連通度信息,獲取節(jié)點(diǎn)的物理部署坐標(biāo),基于網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)計算節(jié)點(diǎn)間的物理跳數(shù)得到部署位置信息包括:
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,基于所述配置參數(shù)優(yōu)先級隊列讀取配置信息,將配置參數(shù)按照服務(wù)親和度矩陣分組寫入Shell模板,通過分布式事務(wù)協(xié)調(diào)器創(chuàng)建帶有回滾點(diǎn)的原子事務(wù)單元,生成Shell執(zhí)行指令序列完成系統(tǒng)初始配置包括:
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,監(jiān)控代理程序根據(jù)所述負(fù)載值設(shè)置數(shù)據(jù)采樣周期,采集系統(tǒng)運(yùn)行數(shù)據(jù)并計算節(jié)點(diǎn)健康度指標(biāo),通過發(fā)布-訂閱消息總線將所述節(jié)點(diǎn)健康度指標(biāo)傳遞至相鄰節(jié)點(diǎn)構(gòu)建網(wǎng)狀共享通道
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,根據(jù)所述服務(wù)節(jié)點(diǎn)親和度矩陣確定數(shù)據(jù)傳輸路徑,在邊緣節(jié)點(diǎn)執(zhí)行數(shù)據(jù)預(yù)處理并將預(yù)處理結(jié)果傳輸至核心節(jié)點(diǎn),所述核心節(jié)點(diǎn)基于所述多層級服務(wù)依賴模型執(zhí)行數(shù)據(jù)關(guān)聯(lián)分析,生成更新后的節(jié)點(diǎn)負(fù)載值和節(jié)點(diǎn)健康度指標(biāo)包括:
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,基于所述節(jié)點(diǎn)健康狀態(tài)評估報告采用一致性算法選擇健康狀態(tài)最優(yōu)節(jié)點(diǎn)作為執(zhí)行節(jié)點(diǎn)包括:
8.一種基于Python的自動化系統(tǒng)配置與監(jiān)控系統(tǒng),用于實(shí)現(xiàn)前述權(quán)利要求1-7中任一項所述的方法,其特征在于,包括:
9.一種電子設(shè)備,其特征在于,包括:
10.一種計算機(jī)可讀存儲介質(zhì),其上存儲有計算機(jī)程序指令,其特征在于,所述計算機(jī)程序指令被處理器執(zhí)行時實(shí)現(xiàn)權(quán)利要求1至7中任意一項所述的方法。
...【技術(shù)特征摘要】
1.一種基于python的自動化系統(tǒng)配置與監(jiān)控方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,利用所述python腳本程序分析多層級服務(wù)依賴模型中節(jié)點(diǎn)的連通度和負(fù)載分布,建立服務(wù)節(jié)點(diǎn)親和度矩陣,計算配置參數(shù)的依賴深度和關(guān)聯(lián)強(qiáng)度,生成考慮負(fù)載均衡的配置參數(shù)優(yōu)先級隊列包括:
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,采用深度優(yōu)先搜索算法遍歷所述多層級服務(wù)依賴模型,計算任意兩個節(jié)點(diǎn)之間的最短路徑距離得到連通度信息,獲取節(jié)點(diǎn)的物理部署坐標(biāo),基于網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)計算節(jié)點(diǎn)間的物理跳數(shù)得到部署位置信息包括:
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,基于所述配置參數(shù)優(yōu)先級隊列讀取配置信息,將配置參數(shù)按照服務(wù)親和度矩陣分組寫入shell模板,通過分布式事務(wù)協(xié)調(diào)器創(chuàng)建帶有回滾點(diǎn)的原子事務(wù)單元,生成shell執(zhí)行指令序列完成系統(tǒng)初始配置包括:
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,監(jiān)控代理程序根據(jù)所述負(fù)...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:高經(jīng)郡,高海玲,穆強(qiáng),
申請(專利權(quán))人:北京科杰科技有限公司,
類型:發(fā)明
國別省市:
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。