[發明專利]一種堆棧分析以及郵件實時報警的實現方法在審
| 申請號: | 201711014787.7 | 申請日: | 2017-10-25 |
| 公開(公告)號: | CN107797901A | 公開(公告)日: | 2018-03-13 |
| 發明(設計)人: | 李波;岳永勝;孫小波 | 申請(專利權)人: | 四川長虹電器股份有限公司 |
| 主分類號: | G06F11/30 | 分類號: | G06F11/30;G06F11/32;G06F11/20;G06F11/07 |
| 代理公司: | 四川省成都市天策商標專利事務所51213 | 代理人: | 秦華云,李潔 |
| 地址: | 621000 四*** | 國省代碼: | 四川;51 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 堆棧 分析 以及 郵件 實時 報警 實現 方法 | ||
技術領域
本發明涉及系統運維技術領域,特別涉及一種堆棧分析以及郵件實時報警的實現方法。
背景技術
軟件系統已經運用到社會生產的各行各業,軟件項目也越來越復雜。日常生活中,當軟件系統出現問題時最簡單的處理方法便是重啟軟件,或者重啟計算機。這種處理方法雖然簡單,但是實際上隱藏的問題依然沒有得到很好的解決。尤其在金融、在線商城等交易系統方面,這樣的錯誤往往是致命的。
現有技術中,雖然已經有各種工具均提供查看系統運行參數,比如實時查看運行堆內存大小、GC運行情況、CPU運行情況等。然而面對如此多的參數,只有分析人員能力極高時才能準確定位到問題所在,一般的人是無法定位問題的,無法確認導致系統慢的問題在哪里,其帶來的工作效率的降低,對于企業來說又無疑是在增加運營成本。
發明內容
本發明的目的是克服上述背景技術中不足,提供一種堆棧分析以及郵件實時報警的實現方法,通過該方法能實時獲取系統運行參數,并在系統出現異常時能自動觸發備用方案,降低系統異常對企業運營的影響。
為了達到上述的技術效果,本發明采取以下技術方案:
一種堆棧分析以及郵件實時報警的實現方法,包含以下流程:
A.使用jps命令實時獲取java虛擬機的進程號及堆棧信息;
B.將獲取到的信息數據替換到預設的shell命令腳本中特定位置,并分析獲取到的信息數據,判定是否進入預警狀態;
C.進入預警狀態時向預設的預警郵件的收件人發送預警郵件,獲取并分析java虛擬機運行參數,并切換至備用服務器。
進一步地,所述步驟A具體為:
A1.使用java自帶的jdk命令行工具:jps獲取java虛擬機中的java應用進程號;
A2.在cron中添加定時任務,定時獲取java虛擬機的堆棧信息。
進一步地,所述定時任務執行的命令為:jstat-gcutil[java進程號]。
進一步地,所述步驟B具體為:
B1.將定時任務獲取的數據追加到shell命令腳本的文本文件中;
B2.根據所述文本文件中保存的數據信息分析java虛擬機中各區的內存分布值;
B3.將獲取到的內存分布值與預設安全閾值比較,當所述內存分布值超過所述安全閾值時,判定所述java虛擬機中發生內存泄露,并進入預警狀態。
進一步地,所述步驟C具體為:
C1.進入預警狀態時,首先通過jstat獲取java虛擬機運行參數,并將獲取的運行參數發送至分析程序,分析程序使用awk對收到的運行參數進行編寫分析;
C2.將當前堆棧信息dump到文件中,并切換到備用服務器;
C3.將dump出的文件發送到預設的預警郵件的收件人的郵箱中。
進一步地,所述步驟C1中,具體為使用Linux管道的方式將獲取的運行參數發送至分析程序。
進一步地,所述java虛擬機中至少包含eden區和survivor區。
本發明與現有技術相比,具有以下的有益效果:
本發明的一種堆棧分析以及郵件實時報警的實現方法,通過java提供的命令行工具實時獲取java虛擬機運行的參數,對堆棧中的各種參數指標進行分析,從而預測系統是否有可能會出現異常,并在有可能出現異常的情況下將獲取到的實時數據發送給系統運維人員,同時,在系統出現異常的情況下自動執行重啟系統的shell命令,通過該方法能實時獲取系統運行參數,并在系統出現異常時能自動觸發備用方案,降低系統異常對企業運營的影響。
附圖說明
圖1是本發明的一種堆棧分析以及郵件實時報警的實現方法流程示意圖。
具體實施方式
下面結合本發明的實施例對本發明作進一步的闡述和說明。
實施例:
如圖1所示,一種堆棧分析以及郵件實時報警的實現方法,其原理為通過shell定時任務實時獲取java虛擬機的運行參數,通過分析運行參數對java虛擬機的工作狀態進行分析,其主要的分析思路是對特定參數指標進行判斷,當參數運行超過正常值時即分析出可能會出現異常,并進一步判斷是否觸發自動發送郵件,及切換到備用服務器等一系列操作。
其具體包含以下步驟:
第一步、使用java自帶的jdk命令行工具:jps獲取java虛擬機中的java應用進程號。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于四川長虹電器股份有限公司,未經四川長虹電器股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711014787.7/2.html,轉載請聲明來源鉆瓜專利網。





