weblogic中介軟體自動監控告警及分析

jaymarco發表於2020-09-24

今天筆者又為大家介紹一下weblogic中介軟體執行健康指標如何實現自動化監控告警與分析。大家細細品。


      一、背景介紹                                                                                 

我感到 很遺憾的一件事,我們們 長期以來IT運維對weblogic中介軟體運維停留在人工模式,卻沒有一套完善weblogic自動化監控告警平臺,無法實時把握weblogic平臺的執行健康情況,同時也無法提前做到故障告警提醒。一旦系統出緩慢現象,還是需要人工去檢查,找出盲點來做優化。但是一旦系統出現癱瘓狀態,沒有告警通知,運維人員也有可能茫然不知。對於故障問題分析工程師需要人工登入伺服器去收集相關配置和日誌資訊,即使是很熟練的工程師,估計也得消耗半小時或者更長時間才能有個初步的診斷,而對於那些不熟悉環境的工程師,估計消耗時間更加長。對客戶來說,這樣的處理效率無疑是一場災難。這樣勢必會讓客戶覺得我們的工作不專業,也會給IT維護組帶來大量投訴。因此為了有效果的保障業務系統在weblogic平臺執行良好,提升客戶的滿意度,需要對業務系統建立起weblogic中介軟體效能自動監控和告警,以保障業務系統正常動作,這也是現有 業務發展的迫切需要


        二、痛點介紹                                                                           

對於現有運維技術缺乏提前預防措施和問題精確定位分析,主要存在如下幾個方面問題:

1、 使用者報障當業務已經受到影響,使用者報障過來,第一時間無法判斷是中介軟體、伺服器主機、網路和資料庫等效能導致業務緩慢原因,還需要花費大量人力物力來收集資訊和定位分析問題。

2、 人工檢查:IT 運維人員對中介軟體服務巡檢還是要依靠人工檢查,工作效率相當低,時效性不高和準確性難以保證,且不利於後期巡檢記錄資料分析。  

3、  問題及時率:當業務出現緩慢時,同時中介軟體當時是否可能存在異常,不得而知,需要人工去web介面檢查,由於系統多的情況,檢查相當耗時間,無法及時發現中介軟體是哪個指標存在問題。對於故障定位大打折扣,同時也無法讓IT運維人員時刻把握中介軟體的健康執行狀態,問題處理效果非常低。

 4、故障被動處理:當中介軟體服務出現異常時沒有一套中介軟體效能指標告警,IT維護人員無法第一時間接收到問題報障,卻是由使用者發起報障過來才知曉,導致故障處理延時。


三、解決方案                                                                                 

針對上面介紹的痛點問題制定一套機制有效地weblogic中介軟體效能自動監控告警和分析方法,通過日常對中介軟體的執行情況資訊採集,然後對監控指標做告警,一旦weblogic中介軟體效能指標有異動觸碰到設定的告警閥值,就會產生告警,並將告警推送簡訊介面平臺,以簡訊方式下發給相關部門人員。同時通過告警級別做出相應簡單分析。不需要完全依賴於人工處理,直接發現中介軟體效能問題。解脫了運維人員人工巡檢和問題排查的工作,也讓應用能夠更加高效地平穩地執行,減少故障的發生。對weblogic中介軟體效能進行提前預警,在處理緊急事件時,有實時監控資料做輔助分析,效能問題和故障問題分析快速定位。大大提升業務系統的效能穩定性,提升問題處理效率。

針對此架構分來三個模組從下至上分別是採集層、告警層和分析層。


1 、  採集層

此模組負責對業務系統所使用的weblogic 的中介軟體效能指標資料進行實時採集,針對大型業務系統,業務本身訪問比較繁忙,頻繁採集所有業務模組效能資料,勢必干擾業務正常使用。weblogic 指標資料採集工作,可以通過weblogic 自帶的wlst 工具與JMX Client weblogicMBean 來通訊, 獲取WLS 實時動態執行的指標資料,此採集方法對weblogic 服務效能無任何影響。 weblogic 採集監控只需要在業務系統的其中一臺 weblogic 伺服器上面部署,並配置 cron 定時任務,每隔 3 分鐘自動排程採集監控指令碼。並將採集的資料以文字方式儲存。採集監控是通過主程式 shell 指令碼呼叫 wlst 工具,通過 WLST 執行 python 採集指令碼,最終會採集到兩份資料,一份用於歷史資料監控分析,用於故障後瞭解決故障前的效能情況。另一份資料用於告警分析,並將這份資料推送給告警模組來處理。




1)   WebLogicMBean  主要具有以下三種型別的MBeans

a)   Adminserver MBeans,  封裝從config.xml 讀取的整個weblgoicdomain 的配置資訊。

b)Configuration MBeans, 每個weblogic 被管伺服器一份,是AdminserverMBeans copy,  用於server 配置自己。

c)   Runtime MBeans, 代表著執行時刻WebLogic Server 的各種元件和子系統。


2)     Weblogic 自動監控指令碼會連線weblogic MBeans 來捕獲的以下資料:a)       實時採集WLS 管理/ 被管理伺服器服務狀態資訊;

b)       實時採集WLS JVM 堆記憶體使用資訊;

c)       實時採集WLS 執行緒池相關指標資訊;

d)       實時採集WLS 連線池相關指標資訊;

e)       實時採集WLS JMS 訊息列隊資訊。


2、告警層

此模組負責指標異常告警和簡訊下發。通過上層採集模組推送過來的指標採集的資料,根據該模組對應指標定義的指標閥值來做判斷,超過預定的告警閥值,將告警資訊推送給簡訊介面平臺,然後簡訊平臺根據告警級別下發下發手機簡訊給相關部門。


  

1)    weblogic 告警指標預定義閥值:

監控項

監控時間

間隔(s)

一級告警

二級告警

三級告警

JVM堆記憶體使用率

180

>90%

>95%

=100%

weblogic伺服器狀態

180

WARNING

WARNING

SHUTDOWN

執行緒佇列

180

>1


執行緒阻塞數

180

>1

>10

>50

連線池狀態

180

WARNING

WARNING

SHUTDOWN

可用連線數

180

=0

洩露連線數

180

大於定義

最小值80%

JMS訊息阻塞數

180

>20

>60

>100

2)    告警級別分為三級:

     a)    一級告警(普通級別):weblogic 中介軟體服務正常,但會有個別指標有異常告警,不會影響業務提供服務。超過了指定的一級告警指標閥值,簡訊介面會自動下發告警資訊給運維部門人員關注。

     b)     二級告警(中級級別):weblogic 中介軟體服務有異常告警,中介軟體服務效能會慢慢下降,可能會存在效能和服務不可用的問題。效能隨著中介軟體資源耗盡業務會慢慢無法提供服務。超過了指定的二級告警指標閥值,簡訊介面會自動下發告警資訊給開發部門和運維部門人員重點關注。

     c)     三級告警(嚴重級別):weblogic 中介軟體服務嚴重異常,服務效能下降,資源耗盡,基本中介軟體服務處於癱瘓狀態,業務無法正常提供服務。超過了指定的三級告警指標閥值,簡訊介面會自動下發告警資訊給業務部門、開發部門和運維部門人員重點關注。    


3、分析層


該層主要負責指標異常告警後的分析,故障時間提前做資料收集和日誌提取。我們從三個方面來分析。

1)         監控資料分析

1、當系統產生故障時IT運維工程師可以藉助這份歷史監控資料來做輔助定位分析。這份監控資料也能讓工程師瞭解故障前後weblogic中介軟體各指標的效能情況,降低工程師分析問題的難度,最終可以通過資料做出相應判斷。

2、當系統出現一級,二級告警時,會對歷史監控資料做出簡單分析,給出對應告警指標簡單的優化建議。


2)         日誌分析

當weblogic服務產生異常時,發出三級告警後,系統基本上無法提供服務。分析指令碼會自動收集weblogic配置資訊,以及在日誌目錄中搜尋BEA程式碼,Error,Notice,exception等日誌相關的錯誤資訊。當工程師介入分析的時候,不需要人工花費很多時間去收集相關的日誌,只需要在日誌採集目錄下獲取檔案來分析。對於那些不熟悉這個故障環境的工程師來說是非常方便的一件事,同時節省了大量收集資訊的時候,從而為故障的快速處理贏得了時間,讓工程師重點只關注問題分析。


3)         執行緒分析

1、當weblogic出現執行緒阻塞、JVM記憶體耗盡和記憶體洩露等類似告警,會自動通過weblogic.Admin命令生成thread dump,GC和記憶體dump檔案。

2、藉助 IBM HA ,JCA,GA,mat等效能分析工具,用於分析執行緒和記憶體使用,GC資源回收等情況。


四、總結                                                                                     

通過採用這個解決方案會給我們weblogic工程師在日常運維中介軟體和問題故障分析帶來如下好處:

1、使用自動監控歷史資料保留有據可查,免去臨時採集資料的過程,大為減少故障處理時間。

      2、實現了對weblogic中介軟體效能指標直接監控,幫助IT運維人員減輕人工巡檢的繁瑣工作。在也不需要花費太多時間去做巡檢工作,讓IT運維人員做自己更有價值的事情。

   3、大大減少了中介軟體效能引數調優不恰當引起的故障。故障處理時縮短一半,並且避免了過於依賴於處理人員對於系統的熟悉程度,技術水平等條件。提高了故障處理的成功率,減少了企業的損失。

   4、監控告警能提前發現中介軟體系統存在隱患,方便提前預防問題發生。提前做好優化應對措施準備,保障中介軟體效能穩定性,提升IT運維自動化管理。

   5、日誌過濾採集處理,直接將故障產生的關鍵字日誌採集出來,方便問題定位分析。大大減少了日誌查詢時間。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28833846/viewspace-2723975/,如需轉載,請註明出處,否則將追究法律責任。

相關文章