本技術(shù)涉及計算機,尤其涉及一種基于日志的api網(wǎng)關(guān)調(diào)控方法、裝置、設備及存儲介質(zhì)。
背景技術(shù):
1、在現(xiàn)代微服務架構(gòu)中,api網(wǎng)關(guān)的性能管理是確保服務穩(wěn)定性和可靠性的關(guān)鍵。現(xiàn)今,對于api網(wǎng)關(guān)的性能管理,通常是:1、靜態(tài)配置:配置在系統(tǒng)部署時設定,并在運行時保持不變;2.人工監(jiān)控:運維團隊通過人工監(jiān)控api網(wǎng)關(guān)的性能指標,如響應時間和錯誤率,來識別潛在的性能問題。3.設置固定不變的閾值觸發(fā)告警,當監(jiān)控指標超過這些閾值時,觸發(fā)告警系統(tǒng),通知運維人員進行干預;4.日志分析:使用elk等日志分析工具收集和分析api網(wǎng)關(guān)的日志數(shù)據(jù),以識別問題和性能瓶頸。因此,現(xiàn)有的api網(wǎng)關(guān)的性能管理,缺乏動態(tài)性無法適應系統(tǒng)負載的動態(tài)變化,管理效果差,增加了人為錯誤的風險并且分析日志只能在事后發(fā)現(xiàn)問題,實時性差。
技術(shù)實現(xiàn)思路
1、本技術(shù)實施例提供一種基于日志的api網(wǎng)關(guān)調(diào)控方法、裝置、設備及存儲介質(zhì),以解決相關(guān)技術(shù)存在的至少一個問題,技術(shù)方案如下:
2、第一方面,本技術(shù)實施例提供了一種基于日志的api網(wǎng)關(guān)調(diào)控的方法,包括:
3、獲取api網(wǎng)關(guān)中各個api的日志數(shù)據(jù);
4、根據(jù)預設規(guī)則,確定每一所述api的標簽;
5、根據(jù)所述標簽以及所述日志數(shù)據(jù),訓練得到調(diào)控模型;
6、獲取所述api網(wǎng)關(guān)中各個api的實時日志數(shù)據(jù),根據(jù)所述標簽、所述調(diào)控模型以及所述實時日志數(shù)據(jù),對所述api網(wǎng)關(guān)進行調(diào)控。
7、在一種實施方式中,所述根據(jù)預設規(guī)則,確定每一所述api的標簽包括:
8、響應于配置指令,在所述api在所述api網(wǎng)關(guān)中進行注冊時為所述api配置標簽;
9、或者,
10、基于預設列表,在所述api在所述api網(wǎng)關(guān)中進行注冊時,從所述預設列表中匹配對應的標簽。
11、在一種實施方式中,所述根據(jù)所述標簽以及所述日志數(shù)據(jù),訓練得到調(diào)控模型包括:
12、提取各個所述api的日志數(shù)據(jù)的關(guān)鍵性能指標;
13、根據(jù)所述標簽對所述關(guān)鍵性能指標進行分類,確定不同標簽對應的目標關(guān)鍵性能指標;
14、根據(jù)所述標簽以及對應的所述目標關(guān)鍵性能指標,對隨機森林模型進行訓練;
15、在訓練的過程中,調(diào)整樹的數(shù)量、樹的最大深度、最小樣本分割葉節(jié)點數(shù),以訓練得到所述調(diào)控模型。
16、在一種實施方式中,所述在訓練的過程中,調(diào)整樹的數(shù)量、樹的最大深度、最小樣本分割葉節(jié)點數(shù),以訓練得到所述調(diào)控模型包括:
17、在訓練的過程中,調(diào)整樹的數(shù)量、樹的最大深度、最小樣本分割葉節(jié)點數(shù),得到初始參數(shù)以及對應的初始模型;
18、通過交叉驗證和性能指標,對所述初始模型進行評估,得到評估結(jié)果;
19、當所述評估結(jié)果滿足預設閾值,將所述初始模型作為所述調(diào)控模型;
20、當所述評估結(jié)果不滿足預設閾值,通過網(wǎng)格搜索對所述初始參數(shù)進行調(diào)優(yōu),直至調(diào)優(yōu)后的初始模型對應的評估結(jié)果滿足預設閾值,將調(diào)優(yōu)后的初始模型作為所述調(diào)控模型;所述調(diào)控模型部署至所述api網(wǎng)關(guān)中。
21、在一種實施方式中,所述根據(jù)所述標簽、所述調(diào)控模型以及所述實時日志數(shù)據(jù),對所述api網(wǎng)關(guān)進行調(diào)控包括:
22、提取各個api的實時日志數(shù)據(jù)的實時關(guān)鍵性能指標;
23、通過所述調(diào)控模型、不同api的標簽以及對應的實時關(guān)鍵性能指標,預測不同的所述實時關(guān)鍵性能指標的性能閾值;
24、根據(jù)所述調(diào)控模型、所述性能閾值以及所述實時關(guān)鍵性能指標,對所述api網(wǎng)關(guān)進行調(diào)控。
25、在一種實施方式中,所述根據(jù)所述調(diào)控模型、所述性能閾值以及所述實時關(guān)鍵性能指標,對所述api網(wǎng)關(guān)進行調(diào)控包括:
26、通過所述調(diào)控模型,對所述實時關(guān)鍵性能指標進行分析;其中,所述性能閾值包括請求數(shù)閾值、第一時間閾值、第二時間閾值、第一超時閾值、第二超時閾值、失敗閾值、并發(fā)閾值、頻率閾值、使用閾值;所述實時關(guān)鍵性能指標包括api請求數(shù)、平均響應時間、超時率、失敗率、并發(fā)連接數(shù)、錯誤碼、資源使用率;
27、當所述api請求數(shù)大于所述請求數(shù)閾值,若api的所述標簽為高優(yōu)先級,增加分配的服務器資源,若api的所述標簽為非高優(yōu)先級,減少分配的服務器資源;
28、若api的所述標簽為高優(yōu)先級,控制api的平均響應時間為所述第一時間閾值,否則控制api的平均響應時間為所述第二時間閾值,所述第一時間閾值小于所述第二時間閾值;
29、若api的所述標簽為高優(yōu)先級,當超時率大于所述第一超時閾值,發(fā)送故障排查通知信息,若api的所述標簽為非高優(yōu)先級,當超時率大于所述第二超時閾值,發(fā)送故障排查通知信息,所述第一超時閾值小于所述第二超時閾值;
30、當所述失敗率超過所述失敗閾值,定位失敗問題并實施對應api的限流;
31、當所述并發(fā)連接數(shù)超過所述并發(fā)閾值,增強所述api網(wǎng)關(guān)的并發(fā)處理能力;
32、當所述錯誤碼的出現(xiàn)頻率超過所述頻率閾值,強化出現(xiàn)錯誤碼的api的告警;
33、當所述資源使用率超過所述使用閾值,擴展服務器實例;
34、若api的所述標簽為大流量,將api的流量通過負載均衡分散至多個服務器;
35、若api的所述標簽為資源密集型,為api分配專用服務器資源或為api預留服務器資源;
36、若api的所述標簽為安全性敏感,為api進行加密通信和添加訪問控制;
37、若api的所述標簽為內(nèi)容類型,為api進行配置序列化和反序列化機制;
38、若api的所述標簽為用戶群體,基于不同預設群體為api提供對應的差異化服務;
39、若api的所述標簽為可降級,當服務器資源不足時,減少對api的響應以及延遲更新。
40、在一種實施方式中,所述方法還包括:
41、對所述實時關(guān)鍵性能指標進行異常波動檢測,當存在異常波動時,發(fā)送通知信息并提供解決策略;
42、或者,
43、根據(jù)實時的實時日志數(shù)據(jù)優(yōu)化所述調(diào)控模型。
44、第二方面,本技術(shù)實施例提供了一種基于日志的api網(wǎng)關(guān)調(diào)控裝置,包括:
45、獲取模塊,用于獲取api網(wǎng)關(guān)中各個api的日志數(shù)據(jù);
46、確定模塊,用于根據(jù)預設規(guī)則,確定每一所述api的標簽;
47、訓練模塊,用于根據(jù)所述標簽以及所述日志數(shù)據(jù),訓練得到調(diào)控模型;
48、調(diào)控模塊,用于獲取所述api網(wǎng)關(guān)中各個api的實時日志數(shù)據(jù),根據(jù)所述標簽、所述調(diào)控模型以及所述實時日志數(shù)據(jù),對所述api網(wǎng)關(guān)進行調(diào)控。
49、在一種實施方式中,所述調(diào)控模塊還用于:
50、將所述調(diào)控模型部署至所述api網(wǎng)關(guān)中;
51、通過所述調(diào)控模型以及不同標簽對應的關(guān)鍵性能指標,預測不同的所述關(guān)鍵性能指標的性能閾值。
52、在一種實施方式中,所述調(diào)控模塊還用于:
53、對所述實時關(guān)鍵性能指標進行異常波動檢測,當存在異常波動時,發(fā)送通知信息并提供解決策略;
54、或者,
55、根據(jù)實時的實時日志數(shù)據(jù)優(yōu)化所述調(diào)控模型。
56、第三方面,本技術(shù)實施例提供了一種電子設備,包括:處理器和存儲器,該存儲器中存儲指令,該指令由該處理器加載并執(zhí)行,以實現(xiàn)上述各方面任一種實施方式中的方法。
57、第四方面,本技術(shù)實施例提供了一種計算機可讀存儲介質(zhì),計算機可讀存儲介質(zhì)存儲有計算機程序,計算機程序被執(zhí)行時實現(xiàn)上述各方面任一種實施方式中的方法。
58、上述技術(shù)方案中的有益效果至少包括:
59、通過獲取api網(wǎng)關(guān)中各個api的日志數(shù)據(jù),根據(jù)預設規(guī)則,確定每一api的標簽,根據(jù)標簽以及日志數(shù)據(jù),訓練得到調(diào)控模型,獲取api網(wǎng)關(guān)中各個api的實時日志數(shù)據(jù),根據(jù)標簽、調(diào)控模型以及實時日志數(shù)據(jù),對api網(wǎng)關(guān)進行調(diào)控,基于調(diào)控模型分析實時日志數(shù)據(jù)對api網(wǎng)關(guān)進行調(diào)控,實時性強,且有利于避免人為錯誤,強化管理效果。
60、上述概述僅僅是為了說明書的目的,并不意圖以任何方式進行限制。除上述描述的示意性的方面、實施方式和特征之外,通過參考附圖和以下的詳細描述,本技術(shù)進一步的方面、實施方式和特征將會是容易明白的。