消息總線的監控系統及方法與流程
2023-05-27 17:01:27 3

本發明涉及計算機網絡領域,尤其涉及消息總線的監控系統及方法。
背景技術:
隨著計算機網絡的發展,網絡中數據的安全性及數據轉發速率實時性等需求不斷提高,對於銀行等實時性要求極高的業務處理,對於消息總線的要求在不斷提高,現有的選用硬體設備搭建消息總線,實現消息可靠、快速的傳輸,以及跨區域的級聯,滿足了上述業務需求。
但現有技術中,基於硬體設備的消息總線的運行狀態需要運維人員人為的對其運行狀態輸出的日誌進行查看,並根據運行狀態進行分析,判斷所述消息總線是否出現異常信息,但由於所述消息總線運行狀態輸出的日誌數據量大,且包括多類信息,因此,使得運維人員對消息總線的監控變得複雜且效率低下,同時容易出現人為原因導致監控結果出錯。
技術實現要素:
本發明的主要目的在於提供一種消息總線的監控系統及方法,旨在解決消息總線監控數據獲取難度大,難以對消息總線進行方便快捷有效的監控的技術問題。
為實現上述目的,本發明提供一種消息總線的監控系統,所述消息總線由硬體設備實現,所述消息總線的監控系統包括:數據接入模塊、指標計算模塊和告警管理模塊,其中:
所述數據接入模塊用於獲取消息總線的監控數據,對所述監控數據進行效驗,對所述效驗通過的監控數據進行歸一化處理生成歸一化的監控數據;
所述指標計算模塊用於通過預設算法對所述生成的歸一化的監控數據進行計算,生成指標數據;
所述告警管理模塊用於根據所述指標數據與預設閥值進行比對,當所述指標數據超過所述預設閥值時生成告警信息,並根據所述告警信息進行告警。
優選地,所述消息總線的監控系統還包括數據存儲模塊和數據查詢模塊,其中:
所述數據存儲模塊用於存儲所述指標計算模塊生成的指標數據和/或所述告警管理模塊生成的告警信息;
所述數據查詢模塊用於接收對所述數據存儲模塊存儲的指標數據和/或告警信息進行查詢的查詢指令,根據所述查詢指令查詢所述數據存儲模塊,並返回對應的查詢結果。
優選地,所述消息總線的監控系統還包括通知管理模塊,所述通知管理模塊用於將所述告警管理模塊生成的告警信息通過預設通知方式發送給對應的告警接收人員。
優選地,所述指標計算模塊包括:
數據預處理單元,用於對所述歸一化的監控數據進行轉換和格式化處理,生成預處理數據;
複合指標計算單元,用於根據所述預處理數據通過預設配置公式生成複合指標數據;
時間維度匯總單元,用於將所述生成的指標數據根據時間維度匯總生成多種時間維度的指標數據。
優選地,所述告警管理模塊包括:
告警判定單元,用於根據所述指標數據與預設閥值的比對結果生成對應的告警信息;
告警處理單元,用於根據所述告警信息數量將所述告警信息進行合併和/或告警升級。
優選地,所述告警管理模塊還包括:
告警屏蔽單元,用於根據預設的屏蔽策略對所述告警信息進行判斷,當判斷到所述告警信息滿足所述屏蔽策略時,屏蔽所述告警信息。
此外,為實現上述目的,本發明還提供一種消息總線的監控方法,所述消息總線由硬體設備實現,所述消息總線的監控方法包括以下步驟:
獲取消息總線的監控數據,對所述監控數據進行效驗;
對所述效驗通過的監控數據進行歸一化處理生成歸一化的監控數據;
通過預設算法對所述生成的歸一化的監控數據進行計算,生成指標數據;
根據所述指標數據與預設閥值進行比對,當所述指標數據超過所述預設閥值時生成告警信息,並根據所述告警信息進行告警。
優選地,所述通過預設算法對所述生成的歸一化的監控數據進行計算,生成指標數據的步驟之後包括:
存儲所述指標數據;
接收對所述指標數據進行查詢的查詢指令,並根據所述查詢指令查詢所述存儲的指標數據,並返回對應的查詢結果。
優選地,所述根據所述指標數據與預設閥值進行比對,當所述指標數據超過所述預設閥值時生成告警信息,並根據所述告警信息進行告警的步驟之後包括:
將所述生成的告警信息通過預設通知方式發送給對應的告警接收人員。
優選地,所述通過預設算法對所述生成的歸一化的監控數據進行計算,生成指標數據的步驟包括:
對所述歸一化的監控數據進行轉換和格式化處理,生成預處理數據;
根據所述預處理數據通過預設配置公式生成複合指標數據;
將所述生成的指標數據根據時間維度匯總生成多種時間維度的指標數據。
優選地,所述根據所述指標數據與預設閥值進行比對,當所述指標數據超過所述預設閥值時生成告警信息,並根據所述告警信息進行告警的步驟包括:
根據所述指標數據與預設閥值的比對結果生成對應的告警信息;
根據所述告警信息數量將所述告警信息進行合併和/或告警升級。
優選地,所述根據所述指標數據與預設閥值進行比對,當所述指標數據超過所述預設閥值時生成告警信息,並根據所述告警信息進行告警的步驟還包括:
根據預設的屏蔽策略對所述告警信息進行判斷,當判斷到所述告警信息滿足所述屏蔽策略時,屏蔽所述告警信息。
本發明實施例提出的一種消息總線的監控系統及方法,通過獲取消息總線的監控數據,根據所述監控數據計算獲取的指標數據,將所述指標數據與預設閥值進行比對,當所述指標數據超過所述預設閥值時生成告警信息,進行告警,實現了所述監控系統對消息總線進行自動監控,且當判斷到所述消息總線的監控數據超出預設閥值時,通過生成告警信息進行告警,使得告警接收人員可以立即接收到所述告警並對所述消息總線進行處理,從而實現方便快捷的對所述消息總線進行監控。
附圖說明
圖1為本發明消息總線的監控系統第一實施例的功能模塊示意圖;
圖2為本發明消息總線的監控系統第二實施例的功能模塊示意圖;
圖3為本發明消息總線的監控系統第三實施例的功能模塊示意圖;
圖4為本發明消息總線的監控系統第四實施例的功能模塊示意圖;
圖5為本發明消息總線的監控系統第五實施例的功能模塊示意圖;
圖6為本發明消息總線的監控方法第一實施例的流程示意圖;
圖7為本發明消息總線的監控方法第二實施例的流程示意圖;
圖8為本發明消息總線的監控方法第三實施例的流程示意圖。
本發明目的的實現、功能特點及優點將結合實施例,參照附圖做進一步說明。
具體實施方式
應當理解,此處所描述的具體實施例僅僅用以解釋本發明,並不用於限定本發明。
本發明實施例的主要解決方案是提供一種消息總線的監控系統包括用於獲取消息總線的監控數據,對所述監控數據進行效驗,對所述效驗通過的監控數據進行歸一化處理生成歸一化的監控數據的數據接入模塊;用於通過預設算法對所述生成的歸一化的監控數據進行計算,生成指標數據的指標計算模塊;用於根據所述指標數據與預設閥值進行比對,當所述指標數據超過所述預設閥值時生成告警信息,並根據所述告警信息進行告警的告警管理模塊。
由於現有技術僅能通過查看消息總線的運行信息對所述消息總線進行監控。
本發明提供一種解決方案,使消息總線監控人員可以更為方便快捷且有效的監控所述消息總線,且能夠及時接收到根據所述消息總線監控數據生成的告警信息,根據告警信息及時響應,對所述消息總線進行監控。
參照圖1,為本發明消息總線的監控系統第一實施例,所述消息總線的監控系統包括:
數據接入模塊100,用於獲取消息總線的監控數據,對所述監控數據進行效驗。
獲取消息總線通過預設通訊協議發送的監控數據,並對所述監控數據進行校驗,其中,所述對監控數據進行校驗可以包括:權限校驗和數據校驗。
一實施例中,所述權限校驗包括對所述監控數據數據源的IP位址白名單進行校驗,所述監控數據數據源的IP位址在所述白名單中則校驗通過,不在所述白名單中則校驗失敗。進一步的,為了保證在異常流量下的穩定性,所述權限校驗還可以包括異常限流控制,若發生流量異常,則開啟異常限流控制。
進一步的,另一實施例中,為保證監控數據的正確性,所述數據校驗包括根據預設的適配器對所述監控數據進行正確性校驗,所述正確性校驗可以包括:判斷所述監控數據是否超過理論最大值或低於理論最小值、判斷所述監控數據的數據格式是否正確和校驗所述監測數據欄位長度及欄位的完整性。
所述數據接入模塊100還用於對所述效驗通過的監控數據進行歸一化處理生成歸一化的監控數據。
為屏蔽監控數據的數據格式差異性,對通過所述校驗的監控數據進行歸一化處理,生成歸一化的監控數據,屏蔽後續處理中的數據差異性。
指標計算模塊200,用於通過預設算法對所述生成的歸一化的監控數據進行計算,生成指標數據。
為便於對所述消息總線的進行監控,根據預設算法對所述生成的歸一化的監控數據進行計算處理,生成用於告警閥值判斷和曲線展示的指標數據,所述曲線展示用於通過用戶交互界面直觀的將所述消息總線的監控數據展示出來,為對所述消息總線的監控提供了更好的支持。
告警管理模塊300,用於根據所述指標數據與預設閥值進行比對,當所述指標數據超過所述預設閥值時生成告警信息,並根據所述告警信息進行告警。
根據所述生成的指標數據與預設閥值進行比對,所述預設閥值可以由系統默認配置或用戶設置,當所述指標數據超過所述預設閥值時,則根據所述指標數據生成對應告警信息,並根據所述告警信息進行告警。進一步的,所述告警信息可以包括告警類型和告警級別,針對不同的告警類型和不同告警級別的告警信息採用不同的告警方式進行告警。進一步的,所述預設閥值可以由運維人員管理,也可以根據所述消息總線的信息自動生成更新。
具體實施時,以所述消息總線由Solace設備實現為例,一實施例的具體實施步驟包括:
1)通過預設的SEMP協議獲取Solace管理端的所有Queue(消息隊列)的BindCount(綁定計數)信息,優選地,由於所述Solace設備中存在多個Queue,因此,為保證獲取數據的實時性及準確性,採用間歇性的、小量多次的獲取BindCount信息;
2)對所述獲取到的BindCount信息進行校驗和歸一化處理,將所述BindCount信息轉換為預設格式的監控數據,所述監控數據中BindCount的數據即為所述監控數據的指標數據;
3)將所述BindCount的數值與預設閥值進行對比,當所述BindCount的數值大於預設閥值時,根據所述BindCount與預設閥值的差值判定告警級別,生成對應的告警信息;
4)將所述告警信息推送給屏幕投影,將所述告警信息通過PC端進行實時展示。
需要說明的是,上述實施例中,所述SEMP協議是Solace Element Management Protocol的縮寫,它是Solace設備自身提供的一套基於XML文本的數據請求和響應協議。SEMP允許通過Solace CLI、HTTP等多種形式請求維護在Solace管理端中的數據。本方案作為一種遠程監控實現,利用SEMP協議採用HTTP方式完成對Solace管理端性能數據的抓取和監控。所述Queue的BindCount指的是硬體設備中每一個Queue綁定的客戶端的數量,每一個Queue都有其最大的BindCount限制,一旦超過該限制,硬體設備將會拒絕其餘的連接請求,造成的服務的不可用,因此需要在BindCount限制達到最大限制之前對其進行預警。
另一實施例中,對所述Solace設備的log進行監控,具體實施步驟包括:
a.Solace設備在Client消息報文轉發的過程中出現丟包現象;
b.Solace輸出本機log,並通過Syslog協議發送所述log信息;
c.接收所述log信息,對所述log信息的源IP和限流策略進行權限驗證;
d.對所述log信息基於關鍵字匹配,完成對告警類型、告警級別、告警持續周期等信息進行判定,確認所述log產生一條告警;
e.根據告警信息在指定的時間周期,向指定的用戶進行RTX(Real Time eXchange,一種即時通訊平臺)、郵件、微信、簡訊等方式的通知,並完成在告警投影屏幕和告警列表中的推送展示。
需要說明的是,所述Syslog協議是一種通用的日誌推送協議,硬體設備以Syslog協議的格式輸出日誌,所述日誌包括:操作日誌、系統日誌、錯誤日誌。
在本實施例中,通過獲取消息總線的監控數據,對監控數據進行校驗及歸一化處理後生成歸一化的監控數據,再通過預設算法獲得指標數據,通過對比指標數據與預設閥值,生成對應的告警信息並進行告警,使運維人員通過設置預設閥值,便能對消息總線進行監控,實時接收到告警信息,簡化了運維人員監控操作步驟,降低了監控難度。
進一步的,參照圖2,為本發明消息總線的監控系統第二實施例,基於上述圖1所示的實施例,所述消息總線的監控系統還包括:
數據存儲模塊401,用於存儲所述生成的指標計算模塊生成的指標數據和/或所述告警管理模塊生成的告警信息。
為便於後續指標數據及告警信息的查詢,對所述指標數據和/或告警信息進行存儲。一實施例中,將所述指標數據和告警信息持久化到不同的存儲介質中。進一步的,根據所述指標數據和告警信息時間粒度和存儲周期的區別,採用分表的方式將所述指標數據和告警信息持久化到不同的表庫內。進一步的,對於需要長期存儲的指標數據和告警信息,將其存儲到大數據平臺中。
數據查詢模塊402,用於接收對所述數據存儲模塊存儲的指標數據和/或告警信息進行查詢的查詢指令,並根據所述查詢指令查詢所述數據存儲模塊,並返回對應的查詢結果。
為方便管理員對所述消息總線進行監控,提供查詢服務,接收針對於所述指標數據和/或告警信息進行查詢的查詢指令,根據所述查詢指令查詢存儲的指標數據和/或告警信息,返回對應的查詢結果。一實施例中,通過WebService API的方式提供給運維人員對所述指標數據和/或告警信息進行查詢,具體實現時,運維人員可通過PC web、Pad端、微信公眾號等多終端及多種媒體上對所述存儲的指標數據和/或告警信息進行查詢。優選的,為方便運維人員獲得直觀的數據,所述指標數據和/或告警信息以曲線圖的形式進行展示。進一步的,對所述告警信息的查詢,基於告警級別、告警對象、告警狀態和告警內容等多種過濾方式的告警查詢。進一步的,對所述指標數據的查詢,基於指標ID、時間維度、時間範圍等多種過濾方式的指標數據查詢。
具體實施時,以所述消息總線由硬體設備提供為例,本實施例的具體實施步驟包括:
1)通過預設的SEMP協議獲取Solace管理端的所有Queue的BindCount信息,優選地,由於所述Solace設備中存在多個Queue,因此,為保證獲取數據的實時性及準確性,採用間歇性的、小量多次的獲取BindCount信息;
2)對所述獲取到的BindCount信息進行校驗和歸一化處理,將所述BindCount信息轉換為預設格式的監控數據,所述監控數據中BindCount的數據即為所述監控數據的指標數據;
3)將所述BindCount的數值與預設閥值進行對比,當所述BindCount的數值大於預設閥值時,根據所述BindCount與預設閥值的差值判定告警級別,生成對應的告警信息;
4)將所述Queue的BindCount值及所述告警信息進行持久化;
5)當接收到運維人員對Queue的BindCount值進行查詢時,獲取存儲的對應的BindCount值,生成BindCount監控曲線圖,當接收到運維人員對告警信息進行查詢時,獲取存儲的告警信息。
在本實施例中,基於上一實施例所述的優點,通過對生成的指標數據及告警信息進行存儲,並提供給運維人員查詢接口,使運維人員可以對消息總線的歷史監控記錄進行查詢,增加了適用性。
進一步的,參照圖3,為本發明消息總線的監控系統第三實施例,基於上述圖1所示的實施例,所述消息總線的監控系統還包括:
通知管理模塊500,用於將所述告警管理模塊生成的告警信息通過預設通知方式發送給對應的告警接收人員。
為便於運維人員能夠及時了解消息總線的信息,將所述生成的告警信息通過預設通知方式發送給對應的告警接收人員,所述通知包括簡訊、RTX、郵件、微信、公眾號等多種方式。
進一步的,在預設周期內將所述生成的告警信息通過預設通知方式發送給對應的告警接收人員。優選地,所述告警接收人員可以為告警接收人或接收人組,所述預設周期用於對通知的時間進行管理控制,一實施例中,所述預設周期為固定的工作時間段,則僅在工作時間段內將所述告警信息發送給對應的告警接收人員。
進一步的,所述預設通知方式可以為通知策略,基於告警影響的業務範圍、告警級別等區別構建出不同的通知策略,僅當在滿足某通知策略要求時,才將告警信息發給指定的接收人。進一步的,運維人員可以對告警接收人和告警接收人組進行管理,添加、修改或刪除告警接收人。
在本實施例中,基於上一實施例所述的優點,通過預設通知方式將告警信息發送給告警接收人員,使得所述消息總線產生告警時,可以及時準確的通知告警接收人員,使得告警接收人員可以及時作出響應,處理告警信息。
進一步的,參照圖4,為本發明消息總線的監控系統第四實施例,基於上述圖1所示的實施例,所述指標計算模塊200包括:
數據預處理單元201,用於對所述歸一化的監控數據進行轉換和格式化處理,生成預處理數據。
為消除原始數據和最終指標數據存在的差異性,對歸一化的監控數據進行轉換和格式化處理,例如,將所述監控數據與上一周期的數據求差值得到增量值、增加或減少預設值、轉換成百分比等。
複合指標計算單元202,用於根據所述預處理數據通過預設配置公式生成複合指標數據。
由於一個監控指標的產生依賴多個相關的指標,形成一個最終由於告警判定和曲線展示的複合指標,因此根據所述預處理數據通過預設配置公式生成複合指標數據,完成對複合指標的計算。
時間維度匯總單元203,用於將所述生成的指標數據根據時間維度匯總生成多種時間維度的指標數據。
按照指標數據的類型,將所述指標數據匯總生成多種時間維度的指標數據,例如:通過1分鐘的數據匯總成5分鐘、1小時、1天等多種時間維度的求和數據或均值數據,並用這些數據用於後續的告警判斷,或指標曲線展示。
本實施例中,基於上一實施例所述的優點,對監控數據進行處理生成對應的指標數據,使獲得的指標數據能夠更好的反映所述消息總線的情況,為生成告警信息提供可靠的數據來源。
進一步的,參照圖5,為本發明消息總線的監控系統第五實施例,基於上述圖1所示的實施例,所述告警管理模塊300包括:
告警判定單元301,用於根據所述指標數據與預設閥值的比對結果生成對應的告警信息。
根據所述指標數據的當前值和預設閥值對比,完成對告警級別的判定,並將所述指標數據的當前值和歷史值進行對比得到變化趨勢,並將結果與同環比閥值進行判定,例如:所述指標數據的當前值超過60出Waring級別告警,超過70出Critical級別告警,或同比超過50%的出Waring級別告警,環比超過100%出Critical級別告警。
進一步的,為避免流量毛刺或偶發錯誤產生的告警幹擾,對所述指標數據進行持續周期判定,在連續出現預設個數周期的閥值越線後,才產生告警。
告警處理單元302,用於根據所述告警信息數量將所述告警信息進行合併和/或告警升級。
在一定周期內產生大量同種類型的告警時,將多個同類型告警歸併為一條進行展示,或短時間內,大量低級別的告警同時出現,將升級產生一條高級別的告警,或反覆出現指標的越線和恢復時產生一條低級別的告警。
進一步的,分析告警之間的關聯關係,找出告警發生的根源,便於運維人員能在第一時間發現並解決問題。進一步的,對告警恢復策略進行管理,實現告警的自動恢復,當連續採集的預設個數指標數據都恢復正常後,自動清除掉告警信息。
進一步的,所述告警管理模塊300還包括:
告警屏蔽單元303,用於根據預設的屏蔽策略對所述告警信息進行判斷,當判斷到所述告警信息滿足所述屏蔽策略時,屏蔽所述告警信息。
根據預設屏蔽策略及屏蔽時間周期對所述告警信息進行判斷,對特定告警IP、告警對象、告警內容的告警消息的周期性屏蔽操作。
在本實施例中,基於上一實施例所述的優點,根據所述指標數據對告警信息進行判定,生成不同告警級別的告警,並對告警信息進行合併和/或升級,使所述生成的告警信息更為準確,減少了運維人員的工作負擔,且屏蔽運維人員允許的告警信息。
參照圖6,為本發明消息總線的監控方法第一實施例,所述消息總線的監控方法包括:
步驟S100,獲取消息總線的監控數據,對所述監控數據進行效驗。
獲取消息總線通過預設通訊協議發送的監控數據,並對所述監控數據進行校驗,其中,所述對監控數據進行校驗可以包括:權限校驗和數據校驗。
一實施例中,所述權限校驗包括對所述監控數據數據源的IP位址白名單進行校驗,所述監控數據數據源的IP位址在所述白名單中則校驗通過,不在所述白名單中則校驗失敗。進一步的,為了保證在異常流量下的穩定性,所述權限校驗還可以包括異常限流控制,若發生流量異常,則開啟異常限流控制。
進一步的,另一實施例中,為保證監控數據的正確性,所述數據校驗包括根據預設的適配器對所述監控數據進行正確性校驗,所述正確性校驗可以包括:判斷所述監控數據是否超過理論最大值或低於理論最小值、判斷所述監控數據的數據格式是否正確和校驗所述監測數據欄位長度及欄位的完整性。
步驟S200,對所述效驗通過的監控數據進行歸一化處理生成歸一化的監控數據。
為屏蔽監控數據的數據格式差異性,對通過所述校驗的監控數據進行歸一化處理,生成歸一化的監控數據,屏蔽後續處理中的數據差異性。
步驟S300,通過預設算法對所述生成的歸一化的監控數據進行計算,生成指標數據。
為便於對所述消息總線的進行監控,根據預設算法對所述生成的歸一化的監控數據進行計算處理,生成用於告警閥值判斷和曲線展示的指標數據,所述曲線展示用於通過用戶交互界面直觀的將所述消息總線的監控數據展示出來,為對所述消息總線的監控提供了更好的支持。
步驟S400,根據所述指標數據與預設閥值進行比對,當所述指標數據超過所述預設閥值時生成告警信息,並根據所述告警信息進行告警。
根據所述生成的指標數據與預設閥值進行比對,所述預設閥值可以由系統默認配置或用戶設置,當所述指標數據超過所述預設閥值時,則根據所述指標數據生成對應告警信息,並根據所述告警信息進行告警。進一步的,所述告警信息可以包括告警類型和告警級別,針對不同的告警類型和不同告警級別的告警信息採用不同的告警方式進行告警。進一步的,所述預設閥值可以由運維人員管理,也可以根據所述消息總線的信息自動生成更新。
具體實施時,以所述消息總線由Solace設備提供為例,一實施例的具體實施步驟包括:
1)通過預設的SEMP協議獲取Solace管理端的所有Queue的BindCount信息,優選地,由於所述Solace設備中存在多個Queue,因此,為保證獲取數據的實時性及準確性,採用間歇性的、小量多次的獲取BindCount信息;
2)對所述獲取到的BindCount信息進行校驗和歸一化處理,將所述BindCount信息轉換為預設格式的監控數據,所述監控數據中BindCount的數據即為所述監控數據的指標數據;
3)將所述BindCount的數值與預設閥值進行對比,當所述BindCount的數值大於預設閥值時,根據所述BindCount與預設閥值的差值判定告警級別,生成對應的告警信息;
4)將所述告警信息推送給屏幕投影,將所述告警信息通過PC端進行實時展示。
另一實施例中,對所述Solace設備的log進行監控,具體實施步驟包括:
a.Solace設備在Client消息報文轉發的過程中出現丟包現象;
b.Solace輸出本機log,並通過Syslog協議發送所述log信息;
c.接收所述log信息,對所述log信息的源IP和限流策略進行權限驗證;
d.對所述log信息基於關鍵字匹配,完成對告警類型、告警級別、告警持續周期等信息進行判定,確認所述log產生一條告警;
e.根據告警信息在指定的時間周期,向指定的用戶進行RTX、郵件、微信、簡訊等方式的通知,並完成在告警投影屏幕和告警列表中的推送展示。
在本實施例中,通過獲取消息總線的監控數據,對監控數據進行校驗及歸一化處理後生成歸一化的監控數據,再通過預設算法獲得指標數據,通過對比指標數據與預設閥值,生成對應的告警信息並進行告警,使運維人員通過設置預設閥值,便能對消息總線進行監控,實時接收到告警信息,簡化了運維人員監控操作步驟,降低了監控難度。
進一步的,參照圖7,為本發明消息總線的監控方法第二實施例,基於上述圖6所示的實施例,所述步驟S300,通過預設算法對所述生成的歸一化的監控數據進行計算,生成指標數據之後包括:
步驟S501,存儲所述指標數據。
為便於後續指標數據的查詢,對所述指標數據進行存儲。一實施例中,還可以將所述指標數據持久化到不同的存儲介質中。進一步的,還包括對所述告警信息進行存儲,方便對所述告警信息進行查詢。進一步的,根據所述指標數據和告警信息時間粒度和存儲周期的區別,採用分表的方式將所述指標數據和告警信息持久化到不同的表庫內。進一步的,對於需要長期存儲的指標數據和告警信息,將其存儲到大數據平臺中。
步驟S502,接收對所述指標數據進行查詢的查詢指令,根據所述查詢指令查詢所述存儲的指標數據,並返回對應的查詢結果。
為方便管理員對所述消息總線進行監控,提供查詢服務,接收針對於所述指標數據進行查詢的查詢指令,根據所述查詢指令查詢存儲的指標數據,返回對應的查詢結果。一實施例中,通過WebService API的方式提供給運維人員對所述指標數據進行查詢,具體實現時,運維人員可通過PC web、Pad端、微信公眾號等多終端及多種媒體上對所述存儲的指標數據進行查詢。優選的,為方便運維人員獲得直觀的數據,所述指標數據以曲線圖的形式進行展示。進一步的,對所述告警信息的查詢,基於告警級別、告警對象、告警狀態和告警內容等多種過濾方式的告警查詢。進一步的,對所述指標數據的查詢,基於指標ID、時間維度、時間範圍等多種過濾方式的指標數據查詢。
具體實施時,以所述消息總線由Solace設備提供為例,本實施例的具體實施步驟包括:
1)通過預設的SEMP協議獲取Solace管理端的所有Queue的BindCount信息,優選地,由於所述Solace設備中存在多個Queue,因此,為保證獲取數據的實時性及準確性,採用間歇性的、小量多次的獲取BindCount信息;
2)對所述獲取到的BindCount信息進行校驗和歸一化處理,將所述BindCount信息轉換為預設格式的監控數據,所述監控數據中BindCount的數據即為所述監控數據的指標數據;
3)將所述BindCount的數值與預設閥值進行對比,當所述BindCount的數值大於預設閥值時,根據所述BindCount與預設閥值的差值判定告警級別,生成對應的告警信息;
4)將所述Queue的BindCount值及所述告警信息進行持久化;
5)當接收到運維人員對Queue的BindCount值進行查詢時,獲取存儲的對應的BindCount值,生成BindCount監控曲線圖,當接收到運維人員對告警信息進行查詢時,獲取存儲的告警信息。
在本實施例中,基於上一實施例所述的優點,通過對生成的指標數據及告警信息進行存儲,並提供給運維人員查詢接口,使運維人員可以對消息總線的歷史監控記錄進行查詢,增加了適用性。
進一步的,參照圖8,為本發明消息總線的監控方法第三實施例,基於上述圖6所示的實施例,所述步驟S400,根據所述指標數據與預設閥值進行比對,當所述指標數據超過所述預設閥值時生成告警信息,並根據所述告警信息進行告警之後包括:
步驟S600,將所述生成的告警信息通過預設通知方式發送給對應的告警接收人員。
為便於運維人員能夠及時了解消息總線的信息,將所述生成的告警信息通過預設通知方式發送給對應的告警接收人員,所述通知包括簡訊、RTX、郵件、微信、公眾號等多種方式。
進一步的,在預設周期內將所述生成的告警信息通過預設通知方式發送給對應的告警接收人員。優選地,所述告警接收人員可以為告警接收人或接收人組,所述預設周期用於對通知的時間進行管理控制,一實施例中,所述預設周期為固定的工作時間段,則僅在工作時間段內將所述告警信息發送給對應的告警接收人員。
進一步的,所述預設通知方式可以為通知策略,基於告警影響的業務範圍、告警級別、Solace實例等區別構建出不同的通知策略,僅當在滿足某通知策略要求時,才將告警信息發給指定的接收人。進一步的,運維人員可以對告警接收人和告警接收人組進行管理,添加、修改或刪除告警接收人。
在本實施例中,基於上一實施例所述的優點,通過預設通知方式將告警信息發送給告警接收人員,使得所述消息總線產生告警時,可以及時準確的通知告警接收人員,使得告警接收人員可以及時作出響應,處理告警信息。
進一步的,為本發明消息總線的監控方法第四實施例,基於上述圖6所示的實施例,所述步驟S300,通過預設算法對所述生成的歸一化的監控數據進行計算,生成指標數據包括:
步驟S301,對所述歸一化的監控數據進行轉換和格式化處理,生成預處理數據。
為消除原始數據和最終指標數據存在的差異性,對歸一化的監控數據進行轉換和格式化處理,例如,將所述監控數據與上一周期的數據求差值得到增量值、增加或減少預設值、轉換成百分比等。
步驟S302,根據所述預處理數據通過預設配置公式生成複合指標數據。
由於一個監控指標的產生依賴多個相關的指標,形成一個最終由於告警判定和曲線展示的複合指標,因此根據所述預處理數據通過預設配置公式生成複合指標數據,完成對複合指標的計算。
步驟S303,將所述生成的指標數據根據時間維度匯總生成多種時間維度的指標數據。
按照指標數據的類型,將所述指標數據匯總生成多種時間維度的指標數據,例如:通過1分鐘的數據匯總成5分鐘、1小時、1天等多種時間維度的求和數據或均值數據,並用這些數據用於後續的告警判斷,或指標曲線展示。
本實施例中,基於上一實施例所述的優點,對監控數據進行處理生成對應的指標數據,使獲得的指標數據能夠更好的反映所述消息總線的情況,為生成告警信息提供可靠的數據來源。
進一步的,為本發明消息總線的監控方法第五實施例,基於上述圖6所示的實施例,所述步驟S400,根據所述指標數據與預設閥值進行比對,當所述指標數據超過所述預設閥值時生成告警信息,並根據所述告警信息進行告警包括:
步驟S401,根據所述指標數據與預設閥值的比對結果生成對應的告警信息。
根據所述指標數據的當前值和預設閥值對比,完成對告警級別的判定,並將所述指標數據的當前值和歷史值進行對比得到變化趨勢,並將結果與同環比閥值進行判定,例如:所述指標數據的當前值超過60出Waring級別告警,超過70出Critical級別告警,或同比超過50%的出Waring級別告警,環比超過100%出Critical級別告警。
進一步的,為避免流量毛刺或偶發錯誤產生的告警幹擾,對所述指標數據進行持續周期判定,在連續出現預設個數周期的閥值越線後,才產生告警。
步驟S402,根據所述告警信息數量將所述告警信息進行合併和/或告警升級。
在一定周期內產生大量同種類型的告警時,將多個同類型告警歸併為一條進行展示,或短時間內,大量低級別的告警同時出現,將升級產生一條高級別的告警,或反覆出現指標的越線和恢復時產生一條低級別的告警。
進一步的,分析告警之間的關聯關係,找出告警發生的根源,便於運維人員能在第一時間發現並解決問題。進一步的,對告警恢復策略進行管理,實現告警的自動恢復,當連續採集的預設個數指標數據都恢復正常後,自動清除掉告警信息。
進一步的,所述步驟S400還包括:
步驟S403,根據預設的屏蔽策略對所述告警信息進行判斷,當判斷到所述告警信息滿足所述屏蔽策略時,屏蔽所述告警信息。
根據預設屏蔽策略及屏蔽時間周期對所述告警信息進行判斷,對特定告警IP、告警對象、告警內容的告警消息的周期性屏蔽操作。
在本實施例中,基於上一實施例所述的優點,根據所述指標數據對告警信息進行判定,生成不同告警級別的告警,並對告警信息進行合併和/或升級,使所述生成的告警信息更為準確,減少了運維人員的工作負擔,且屏蔽運維人員允許的告警信息。
以上僅為本發明的優選實施例,並非因此限制本發明的專利範圍,凡是利用本發明說明書及附圖內容所作的等效結構或等效流程變換,或直接或間接運用在其他相關的技術領域,均同理包括在本發明的專利保護範圍內。