一種實現監控系統業務邏輯在線修改系統的制作方法
【專利摘要】本發明公開了一種實現監控系統業務邏輯在線修改系統,它包括告警事件格式化模塊,與腳本管理模塊和告警數據庫電連接;告警事件過濾模塊與腳本管理模塊、告警事件格式化模塊和告警事件壓縮模塊電連接;告警事件壓縮模塊與腳本管理模塊、告警事件過濾模塊及配置和知識豐富模塊電連接;配置和知識豐富模塊與腳本管理模塊、告警事件壓縮模塊、配置和知識數據庫、告警數據庫電連接;腳本管理模塊與告警事件格式化模塊、告警事件過濾模塊、告警事件壓縮模塊及配置和知識豐富模塊電連接;解決了因業務邏輯變更造成額外的開發成本和監控系統停運期間對告警的發現和故障處理不及時引起業務系統停運等技術問題。
【專利說明】
一種實現監控系統業務邏輯在線修改系統
技術領域
[0001]本發明屬于監控告警處理與計算機應用相結合的技術領域,尤其涉及一種實現監控系統業務邏輯在線修改系統。
【背景技術】
[0002]隨著信息化的不斷深入發展,各信息系統已成為支撐企業生產、營銷、服務、管理各環節正常運轉的重要支撐手段。為保障企業級應用系統的安全穩定運行,對信息系統的監控和告警處理的準確性和有效性就顯得尤為重要。按照一套自動化、智能化的“系統級”監控告警集中處理支持平臺的要求,需要我們能夠對現有的監控告警進行歸并、壓縮、知識豐富、配置豐富、關聯分析,并最終找到根源告警。這一系列的過程往往需要根據實際情況,逐步調整修改監控系統各個功能模塊的設置,然而在傳統的監控系統中,一旦對監控系統的業務邏輯功能進行修改調整,則必須停機對監控系統進行修改后再運行發布,這會產生額外的開發成本,并且會造成監控系統停運期間對告警的發現和故障處理不及時引起業務系統停運損失。
【發明內容】
[0003]本發明要解決的技術問題是:提供一種實現監控系統業務邏輯在線修改系統,以解決解決現有技術的監控系統業務邏輯需要停機進行修改,造成額外的開發成本和監控系統停運期間對告警的發現和故障處理不及時引起業務系統停運等技術問題。
[0004]本發明技術方案:
一種實現監控系統業務邏輯在線修改系統,它包括:
告警事件格式化模塊,從告警數據庫讀取原始告警信息進行事件格式化,與腳本管理模塊和告警數據庫電連接;
告警事件過濾模塊,接收已進行過告警事件格式化的告警信息,將提示類告警信息進行過濾,與腳本管理模塊、告警事件格式化模塊和告警事件壓縮模塊電連接;
告警事件壓縮模塊,接收已過濾過的告警信息,將接收到的告警信息進行歸并和壓縮,與腳本管理模塊、告警事件過濾模塊及配置和知識豐富模塊電連接;
配置和知識豐富模塊,從配置和知識數據庫中讀取配置和知識信息,將已經格式化、過濾和壓縮的告警信息進行配置和知識的豐富,形成最終告警信息,與腳本管理模塊、告警事件壓縮模塊、配置和知識數據庫、告警數據庫電連接;
腳本管理模塊,存放各模塊的規則腳本,為各模塊提供對應的邏輯實現程序,與告警事件格式化模塊、告警事件過濾模塊、告警事件壓縮模塊及配置和知識豐富模塊電連接。
[0005]它還包括告警數據庫,告警數據庫存放原始告警信息和最終告警信息。
[0006]告警事件格式化模塊包括事件適配,事件標識和事件創建三個子過程,所述事件適配是根據不同底層告警源告警信息格式,為基礎監控工具制訂適配器,接收基礎監控工具上報的告警信息并進行處理;所述事件標識是為不能提供監控腳本名稱的告警信息,采用監控項名稱或監控指標的標識來進行替代,和事件屬主、IP、事件消息摘要組合生成記錄標識符,將告警信息、事件名稱和記錄標識符,裝載到告警數據結構中,作為后續告警過濾和壓縮的參考信息;事件創建:裝載事件適配和標識后的事件的數據,將裝載時間戳、內存數據庫信息按照缺省值進行置位后進行裝載,將裝載完成后的事件數據結構作為一個新事件在告警內存庫中創建一個記錄,并自動生成一個序列號作為內存數據庫中告警記錄的主鍵。
[0007]所述告警事件壓縮模塊包括:
告警掃描:針對經事件過濾后的新發生事件,系統根據告警數據結構中的告警標識位,遍歷內存庫中所有記錄未關閉的告警記錄,查找是否具有相同告警標識位的告警記錄;告警歸并:內存庫中已經有告警標識位相同的告警記錄,則判斷新發生事件為重復事件,將新發生告警最后更新時間信息更新到已有的告警記錄中,并將已有告警記錄的計數器字段遞增,丟棄新發生的事件;同時將原有告警記錄的歸檔標志位置位;
告警更新:內存庫中的已有告警記錄中,沒有相同告警標識的告警記錄存在,則判斷該事件為初次新發生的告警,則將告警狀態標識為進行中,并更新時間戳到狀態改變時間字段。
[0008]所述告警事件過濾模塊包括
過濾規則匹配:根據規則腳本對基礎監控工具提供的原始告警級別進行過濾,匹配過濾規則,則直接關閉告警;
事件關閉:通過置位告警狀態標志位,將事件關閉,并更新時間戳到狀態改變時間字段,不進行后續處理,即不進行告警。
[0009]所述腳本管理模塊的實現方法為通過將告警流水表和配置表和知識表中的內容映射到內存變量中,規則腳本通過引用內存變量的方式根據告警流水表和配置表和知識表中的內容進行邏輯處理;腳本引擎裝載規則腳本并調用腳本執行引擎完成邏輯運算,運算完成后的結果同樣保存在內存變量中,通過映射機制寫入告警流水表,從而完成對告警信息的豐富處理和關聯分析。
[0010]所述規則腳本采用實時在線修改,從而實現對監控系統業務邏輯的在線變更。
[0011]本發明有益效果:
本發明通過告警事件格式化模塊通過從告警數據庫讀取原始告警信息,根據不同的底層告警源上報信息格式的特點,為基礎監控工具定制的特定適配器,接收基礎監控工具上報的告警后,對告警發生的時間、屬主信息、原始級別、事件消息等信息進行適配處理,完成事件適配后,根據監控腳本名和事件屬主、IP、事件消息摘要,組合生成記錄標識符,將告警信息、事件名稱和記錄標識符,裝載到告警數據結構中,然后裝載時間戳、內存數據庫信息,將裝載完成后的事件數據結構作為一個新事件在告警內存庫中創建一個記錄,并自動生成一個序號序列號作為內存數據庫中告警記錄的主鍵,完成數據格式化過程并推送給告警事件過濾模塊,將一線運維人員不需要關注的大量告警信息進行規則匹配后完成初次過濾,減少后續過程處理的告警數量,提升系統的運行效率,然后將告警信息推送給事件壓縮模塊,針對經事件過濾后的新發生事件,系統根據告警數據結構中的告警標識位,遍歷內存庫中所有記錄未關閉的告警記錄,查找是否具有相同告警標識位的告警記錄,如果內存庫中已經有告警標識位相同的告警,則判斷新發生事件為重復事件,將新發生告警最后更新時間等信息更新到已有的告警記錄中,如果內存庫中的已有告警記錄中,沒有相同告警標識的告警記錄存在,則判斷該事件為初次新發生的告警,則將告警狀態標識為進行中,并更新時間戳到狀態改變時間字段,通過此過程將持續、序列發生的,會產生一些特定的事件集合進行有效的歸并,自動實現故障信息的高效率壓縮,完成壓縮工作后將告警信息推送給配偶之和知識豐富模塊,通過讀取數據庫中的配置和知識信息對告警進行屬主豐富、知識豐富和業務信息豐富,并生成最終告警推送給告警數據庫。整個一系列的告警豐富和關聯分析邏輯都依賴于規則腳本提供對應的邏輯實現,由部署在各功能模塊的腳本引擎運行腳本才能完成,而規則腳本可以人工在線根據實際需求進行重新編寫,從而實現監控系統業務邏輯的在線變更。本發明實現監控系統業務邏輯在線修改的方法,通過上述過程和方法適用于對監控系統業務邏輯的在線修改,解決了因業務邏輯變更造成額外的開發成本和監控系統停運期間對告警的發現和故障處理不及時引起業務系統停運等技術問題。
【附圖說明】
[0012]圖1為本發明總體流程圖;
圖2為本發明告警事件格式化模塊流程圖;
圖3為本發明告警事件過濾模塊流程圖;
圖4為本發明告警事件壓縮模塊流程圖;
圖5為本發明配置和知識豐富模塊流程圖;
圖6為本發明腳本管理模塊流程圖。
【具體實施方式】
[0013]本發明包括(見圖1):告警事件格式化模塊、告警事件過濾模塊、告警事件壓縮模塊、配置和知識豐富模塊、腳本管理模塊;
其中腳本管理模塊通過基于動態語言的腳本引擎技術與各功能模塊進網絡連接;告警事件格式化模塊、配置和知識豐富模塊,則通過映射和調用的方式與數據庫進行網絡連接。
[0014]腳本執行引擎是系統核心組件。告警豐富和關聯分析邏輯都依賴于規則腳本提供對應的邏輯實現,由腳本執行引擎運行腳本才能完成。為使腳本與Java語言之間能直接進行數據交互,引入腳本引擎Rhino,它是一種動態類型的、繼續對象的腳本語言支持庫,它可以在腳本和Java代碼中建立橋梁,使腳本可以簡單地訪問各種Java類庫,從而為Java平臺提供運行代碼的能力。
[0015]告警事件格式化模塊,事件格式化過程分為事件標識、事件適配和事件創建三個子過程,通過基于動態語言的腳本引擎技術以及映射和調用的方式連接,實現與腳本管理模塊、告警事件過濾模塊和數據庫之間的數據交互。其工作流程(見圖2):事件適配:根據不同的底層告警源上報信息格式的特點,為基礎監控工具定制的特定適配器,接收基礎監控工具上報的告警后,對信息進行處理。獲取數據的方式有些可以直接裝載到內存數據庫中,有些需要使用預先定義的邏輯對原始信息進行字符處理后,再裝載入對應的字段中。本子過程獲取的信息有告警發生的時間、屬主信息、原始級別、事件消息等原始信息。其中,若該事件關鍵信息不滿足適配條件,則直接丟棄該事件。事件標識:完成事件適配后,根據監控腳本名,如果基礎監控工具不是通過腳本方式獲取監控數據的,或者基礎監控工具不能提供監控腳本名稱的,可以使用監控項名稱,或者監控指標的標識來進行替代,和事件屬主、IP、事件消息摘要,組合生成記錄標識符,將告警信息、事件名稱和記錄標識符,裝載到告警數據結構中,作為后續告警過濾、壓縮的主要參考信息。事件創建:繼續裝載事件適配和標識后的事件的數據:裝載時間戳、內存數據庫信息,將必要信息按照缺省值進行置位后進行裝載;將裝載完成后的事件數據結構作為一個新事件在告警內存庫中創建一個記錄,并自動生成一個序號序列號作為內存數據庫中告警記錄的主鍵。至此,完成數據格式化過程。
[0016]告警事件過濾模塊,在實際的運維環境中,有些原始監控信息并不需要一線運維人員關注,如設備以SNMP協議方式主動發出的提示類告警,不需要任何人工干預,這類告警信息通常具有告警數量大、過濾的判定規則簡單的特點,可以在進入集中處理子系統時做初次過濾,減少后續過程處理的告警數量,提升系統的運行效率。在這個過程中,系統只改變告警的狀態標志位,不會為告警的數據結構添加新的內容。通過基于動態語言的腳本引擎技術和推送的方式連接,實現與腳本管理模塊、告警事件格式化模塊和告警事件壓縮模塊之間的數據交互。其工作流程(見圖3):過濾規則匹配:本子過程中涉及的過濾規則可根據格式化告警中已有字段靈活組合,定義在規則腳本中。例如,可以根據基礎監控工具提供的原始告警級別進行過濾,級別為一般性提示信息的時候,匹配過濾規則,可直接關閉告警。事件關閉:通過置位告警狀態標志位,將事件關閉,并更新時間戳到狀態改變時間字段,不進行后續處理,即不進行告警。
[0017]告警事件壓縮模塊,在IT基礎設施的實際監控中,由于基礎監控工具對監控點的主動監控設置了輪詢周期,因此有些事件是持續、序列發生的,會產生一些特定的事件集合。告警采集器要對此類型的事件集合進行有效的歸并,自動實現故障信息的高效率壓縮。對于來自相同事件源的事件,系統不會為此后的事件添加新的告警條目,僅累計故障次數。因此,可以采用主動的自動化壓縮功能。所謂主動式的事件處理,是指來自相同事件源的告警在關閉之前,只對應于內存庫中的一條紀錄,后續的重復事件只是不斷更新該條紀錄的發生次數和最后發生告警等相關字段。在這個過程中,系統只改變告警的狀態標志位或更新已有告警的原有的幾個字段,不會為告警的數據結構添加新的內容。通過基于動態語言的腳本引擎技術和推送的方式連接,實現與腳本管理模塊、告警事件過濾模塊以及配置和知識豐富模塊之間的數據交互。其工作流程(見圖4):告警掃描:針對經事件過濾后的新發生事件,系統根據告警數據結構中的告警標識位,遍歷內存庫中所有記錄未關閉的告警記錄,查找是否具有相同告警標識位的告警記錄。告警歸并:如果內存庫中已經有告警標識位相同的告警,則判斷新發生事件為重復事件,將新發生告警最后更新時間等信息更新到已有的告警記錄中,并將已有告警記錄的計數器字段遞增,丟棄新發生的事件;同時,由于原有的告警記錄狀態被更新,還要將原有告警記錄的歸檔標志位置位,表示記錄需要同步到歷史庫待歸檔周期到達時對其進行歷史庫同步處理。告警更新:如果內存庫中的已有告警記錄中,沒有相同告警標識的告警記錄存在,則判斷該事件為初次新發生的告警,則將告警狀態標識為進行中,并更新時間戳到狀態改變時間字段。至此,告警壓縮過程結束。
[0018]配置和知識豐富模塊,將配置和知識信息加入告警信息并生成最終告警。通過基于動態語言的腳本引擎技術以及映射和調用的方式連接,實現與腳本管理模塊、告警事件壓縮模塊和數據庫之間的數據交互。其工作流程(見圖5):經過屬主信息一次豐富后的告警具有告警屬主的唯一標識,可以支撐引擎進行知識豐富;知識豐富完畢后已可上報告警,協助運維人員盡早發現和處理問題;進行屬主信息二次豐富和業務信息豐富則可提供更多的配置信息,協助運維人員快速定位和解決問題。
[0019]腳本管理模塊,包含規則腳本和用于運行規則腳本的腳本執行引擎,通過基于動態語言的腳本引擎技術與各功能模塊間進行連接,實現與各功能模塊的實時數據交互。其工作流程(見圖6):通過將告警流水表和配置、知識表中的內容映射到內存變量中,規則腳本即可通過引用內存變量的方式根據告警流水表和配置、知識表中的內容進行邏輯處理。腳本引擎裝載規則腳本并調用腳本執行引擎完成邏輯運算,運算完成后的結果同樣保存在內存變量中,通過映射機制寫入告警流水表,從而完成對告警的豐富處理和關聯分析。規則腳本可以實時在線修改,從而實現對監控系統業務邏輯的在線變更。
[0020]本發明通過上述過程和方法適用于對監控系統業務邏輯的在線修改,解決了因業務邏輯變更造成額外的開發成本和監控系統停運期間對告警的發現和故障處理不及時引起業務系統停運等技術問題。
【主權項】
1.一種實現監控系統業務邏輯在線修改系統,它包括: 告警事件格式化模塊,從告警數據庫讀取原始告警信息進行事件格式化,與腳本管理模塊和告警數據庫電連接; 告警事件過濾模塊,接收已進行過告警事件格式化的告警信息,將提示類告警信息進行過濾,與腳本管理模塊、告警事件格式化模塊和告警事件壓縮模塊電連接; 告警事件壓縮模塊,接收已過濾過的告警信息,將接收到的告警信息進行歸并和壓縮,與腳本管理模塊、告警事件過濾模塊及配置和知識豐富模塊電連接; 配置和知識豐富模塊,從配置和知識數據庫中讀取配置和知識信息,將已經格式化、過濾和壓縮的告警信息進行配置和知識的豐富,形成最終告警信息,與腳本管理模塊、告警事件壓縮模塊、配置和知識數據庫、告警數據庫電連接; 腳本管理模塊,存放各模塊的規則腳本,為各模塊提供對應的邏輯實現程序,與告警事件格式化模塊、告警事件過濾模塊、告警事件壓縮模塊及配置和知識豐富模塊電連接。2.根據權利要求1所述的一種實現監控系統業務邏輯在線修改系統,其特征在于:它還包括告警數據庫,告警數據庫存放原始告警信息和最終告警信息。3.根據權利要求1所述的一種實現監控系統業務邏輯在線修改系統,其特征在于:告警事件格式化模塊包括事件適配,事件標識和事件創建三個子過程,所述事件適配是根據不同底層告警源告警信息格式,為基礎監控工具制訂適配器,接收基礎監控工具上報的告警信息并進行處理;所述事件標識是為不能提供監控腳本名稱的告警信息,采用監控項名稱或監控指標的標識來進行替代,和事件屬主、IP、事件消息摘要組合生成記錄標識符,將告警信息、事件名稱和記錄標識符,裝載到告警數據結構中,作為后續告警過濾和壓縮的參考信息;事件創建:裝載事件適配和標識后的事件的數據,將裝載時間戳、內存數據庫信息按照缺省值進行置位后進行裝載,將裝載完成后的事件數據結構作為一個新事件在告警內存庫中創建一個記錄,并自動生成一個序列號作為內存數據庫中告警記錄的主鍵。4.根據權利要求1所述的一種實現監控系統業務邏輯在線修改系統,其特征在于:所述告警事件壓縮模塊包括: 告警掃描:針對經事件過濾后的新發生事件,系統根據告警數據結構中的告警標識位,遍歷內存庫中所有記錄未關閉的告警記錄,查找是否具有相同告警標識位的告警記錄;告警歸并:內存庫中已經有告警標識位相同的告警記錄,則判斷新發生事件為重復事件,將新發生告警最后更新時間信息更新到已有的告警記錄中,并將已有告警記錄的計數器字段遞增,丟棄新發生的事件;同時將原有告警記錄的歸檔標志位置位; 告警更新:內存庫中的已有告警記錄中,沒有相同告警標識的告警記錄存在,則判斷該事件為初次新發生的告警,則將告警狀態標識為進行中,并更新時間戳到狀態改變時間字段。5.根據權利要求1所述的一種實現監控系統業務邏輯在線修改系統,其特征在于:所述告警事件過濾模塊包括 過濾規則匹配:根據規則腳本對基礎監控工具提供的原始告警級別進行過濾,匹配過濾規則,則直接關閉告警; 事件關閉:通過置位告警狀態標志位,將事件關閉,并更新時間戳到狀態改變時間字段,不進行后續處理,即不進行告警。6.根據權利要求1所述的一種實現監控系統業務邏輯在線修改系統,其特征在于:所述腳本管理模塊的實現方法為通過將告警流水表和配置表和知識表中的內容映射到內存變量中,規則腳本通過引用內存變量的方式根據告警流水表和配置表和知識表中的內容進行邏輯處理;腳本引擎裝載規則腳本并調用腳本執行引擎完成邏輯運算,運算完成后的結果同樣保存在內存變量中,通過映射機制寫入告警流水表,從而完成對告警信息的豐富處理和關聯分析。7.根據權利要求1或6所述的一種實現監控系統業務邏輯在線修改系統,其特征在于:所述規則腳本采用實時在線修改,從而實現對監控系統業務邏輯的在線變更。
【文檔編號】H04L12/24GK105915381SQ201610249391
【公開日】2016年8月31日
【申請日】2016年4月21日
【發明人】羅念華, 龍玉江, 汪浩, 鐘掖, 朱穎琪, 王杰峰, 朱彬, 徐敬峰, 何衡, 顧毅
【申請人】貴州電網有限責任公司信息中心