亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

web系統(tǒng)健康狀態(tài)檢查方法及裝置與流程

文檔序號:11154781閱讀:745來源:國知局
web系統(tǒng)健康狀態(tài)檢查方法及裝置與制造工藝

本發(fā)明涉及移動通信技術(shù)領(lǐng)域,尤其涉及一種web系統(tǒng)健康狀態(tài)檢查方法及裝置。



背景技術(shù):

隨著傳統(tǒng)的電信系統(tǒng)業(yè)務、以及近幾年逐漸普及的互聯(lián)網(wǎng)和大數(shù)據(jù)業(yè)務的迅速發(fā)展,各種產(chǎn)品和業(yè)務門戶web系統(tǒng)的數(shù)量迅速增多,而這些web系統(tǒng)都有一個共同點,即業(yè)務量和用戶量巨大。這些數(shù)量眾多的web系統(tǒng)在管理方面逐漸暴露出多方面的問題:現(xiàn)場維護工程師或客戶對web系統(tǒng)運行狀態(tài)、性能變化趨勢缺乏必要的監(jiān)控和運行狀況分析手段;web系統(tǒng)在提供服務時,由于種種突發(fā)情況,可能造成訪問web系統(tǒng)時間過長,以致用戶體驗不好,而現(xiàn)場維護工程師卻不能及時的發(fā)現(xiàn)和解決問題;web系統(tǒng)在長時間超負載的運行即將宕機的情況下,現(xiàn)場維護工程師或客戶無法在第一時間知道并進行處理,導致web系統(tǒng)發(fā)生故障,無法提供服務;當現(xiàn)場維護工程師或客戶發(fā)現(xiàn)web系統(tǒng)無法提供服務時,通常需要一系列的檢查,所以無法快速的定位到故障發(fā)生的原因。

目前,在定位web系統(tǒng)的故障或問題時,通常需要借助各種輔助工具來進行,最常用到的輔助工具就是日志,常用的日志有系統(tǒng)日志、運行日志、操作日志、安全日志等。然而運維人員雖然能夠從日志中看出一些問題,但是日志只是用于在出現(xiàn)問題后,輔助運維人員查找問題,而不能夠幫助運維人員及時的了解web系統(tǒng)的健康狀態(tài),且在出現(xiàn)問題時也不能主動通知運維人員。

因此,有必要提供一種web系統(tǒng)健康狀態(tài)檢查方法及裝置來解決上述技術(shù)問題。



技術(shù)實現(xiàn)要素:

本發(fā)明的主要目的在于提出一種web系統(tǒng)健康狀態(tài)檢查裝置,旨在解決現(xiàn)有技術(shù)中通過日志定位問題時,無法及時的發(fā)現(xiàn)問題并通知運維人員的技術(shù)問題。

為實現(xiàn)上述目的,本發(fā)明提供一種web系統(tǒng)健康狀態(tài)檢查裝置,應用于web系統(tǒng),所述web系統(tǒng)健康狀態(tài)檢查裝置包括:

數(shù)據(jù)庫檢查模塊,用于按照預設(shè)時間間隔檢查所述web系統(tǒng)的數(shù)據(jù)庫服務是否正常;

容器檢查模塊,用于按照預設(shè)時間間隔檢查所述web系統(tǒng)的容器服務是否正常,其中所述容器服務是否正常的表征參數(shù)包括CPU使用率、內(nèi)存使用率和/或web容器的可用性;

日志生成模塊,用于根據(jù)所述數(shù)據(jù)庫檢查模塊和所述容器檢查模塊的檢查結(jié)果生成對應的檢查日志,所述檢查結(jié)果包括正常和異常;

輸出模塊,用于當檢查結(jié)果為異常時,將檢查結(jié)果為異常時所對應的檢查日志輸出給運維人員。

可選地,當所述容器服務是否正常的表征參數(shù)包括CPU使用率時,所述容器檢查模塊用于:

按照預設(shè)時間間隔檢查所述CPU使用率是否大于預設(shè)CPU使用閾值,若所述CPU使用率大于所述預設(shè)CPU使用閾值,則判定檢查結(jié)果為異常。

可選地,當所述容器服務是否正常的表征參數(shù)包括內(nèi)存使用率時,所述容器檢查模塊用于:

按照預設(shè)時間間隔檢查所述內(nèi)存使用率是否大于預設(shè)內(nèi)存使用閾值,若所述內(nèi)存使用率大于所述預設(shè)內(nèi)存使用閾值,則判定檢查結(jié)果為異常。

可選地,當所述容器服務是否正常的表征參數(shù)包括web容器的可用性時,所述容器檢查模塊用于:

按照預設(shè)時間間隔向所述web容器發(fā)送http請求,根據(jù)所述web容器的反饋結(jié)果判斷所述web容器的可用性;

若所述web容器可用,則判定所述檢查結(jié)果為正常;

若所述web容器不可用,則重復執(zhí)行N次按照預設(shè)時間間隔向所述web容器發(fā)送http請求,根據(jù)所述web容器的反饋結(jié)果判斷所述web容器的可用性的步驟,若N次判斷結(jié)果均為所述web容器不可用,則判定所述檢查結(jié)果為異常,其中所述N為自然數(shù)。

可選地,所述數(shù)據(jù)庫檢查模塊用于:

按照預設(shè)時間間隔通過JDBC方式與所述數(shù)據(jù)庫建立連接,操作所述數(shù)據(jù)庫服務并根據(jù)所述數(shù)據(jù)庫的反饋結(jié)果判斷所述數(shù)據(jù)庫服務是否正常;

若所述數(shù)據(jù)庫服務正常,則判定所述檢查結(jié)果為正常;

若所述數(shù)據(jù)庫服務不正常,則重復執(zhí)行N次按照預設(shè)時間間隔通過JDBC方式與所述數(shù)據(jù)庫建立連接,操作所述數(shù)據(jù)庫服務并根據(jù)所述數(shù)據(jù)庫的反饋結(jié)果判斷所述數(shù)據(jù)庫服務是否正常的步驟,若N次判斷結(jié)果均為所述數(shù)據(jù)庫服務不正常,則判定所述檢查結(jié)果為異常,其中所述N為自然數(shù)。

相較于現(xiàn)有技術(shù),本發(fā)明所提出的web系統(tǒng)健康狀態(tài)檢查裝置首先按照預設(shè)時間間隔檢查所述web系統(tǒng)的數(shù)據(jù)庫服務和容器服務是否正常,然后根據(jù)檢查結(jié)果生成對應的檢查日志,所述檢查結(jié)果包括正常和異常,且當檢查結(jié)果為異常時,將所述檢查日志輸出給運維人員,從而實現(xiàn)了運維人員及時的了解web系統(tǒng)的健康狀態(tài),且運維人員無需對所有的日志進行查找即可知道發(fā)生問題時對應的檢查日志,可以快速的定位問題。

此外,為實現(xiàn)上述目的,本發(fā)明還提供一種web系統(tǒng)健康狀態(tài)檢查方法,應用于web系統(tǒng),所述web系統(tǒng)健康狀態(tài)檢查方法包括以下步驟:

按照預設(shè)時間間隔檢查所述web系統(tǒng)的數(shù)據(jù)庫服務和容器服務是否正常,其中所述容器服務是否正常的表征參數(shù)包括CPU使用率、內(nèi)存使用率和/或web容器的可用性;

根據(jù)檢查結(jié)果生成對應的檢查日志,所述檢查結(jié)果包括正常和異常;

當檢查結(jié)果為異常時,將檢查結(jié)果為異常時所對應的檢查日志輸出給運維人員。

可選地,當所述容器服務是否正常的表征參數(shù)包括CPU使用率時,所述按照預設(shè)時間間隔檢查所述web系統(tǒng)的容器服務是否正常的步驟包括:

按照預設(shè)時間間隔檢查所述CPU使用率是否大于預設(shè)CPU使用閾值,若所述CPU使用率大于所述預設(shè)CPU使用閾值,則判定檢查結(jié)果為異常。

可選地,當所述容器服務是否正常的表征參數(shù)包括內(nèi)存使用率時,所述按照預設(shè)時間間隔檢查所述web系統(tǒng)的容器服務是否正常的步驟包括:

按照預設(shè)時間間隔檢查所述內(nèi)存使用率是否大于預設(shè)內(nèi)存使用閾值,若所述內(nèi)存使用率大于所述預設(shè)內(nèi)存使用閾值,則判定檢查結(jié)果為異常。

可選地,當所述容器服務是否正常的表征參數(shù)包括web容器的可用性時,所述按照預設(shè)時間間隔檢查所述web系統(tǒng)的容器服務是否正常的步驟包括:

按照預設(shè)時間間隔向所述web容器發(fā)送http請求,根據(jù)所述web容器的反饋結(jié)果判斷所述web容器的可用性;

若所述web容器可用,則判定所述檢查結(jié)果為正常;

若所述web容器不可用,則重復執(zhí)行N次按照預設(shè)時間間隔向所述web容器發(fā)送http請求,根據(jù)所述web容器的反饋結(jié)果判斷所述web容器的可用性的步驟,若N次判斷結(jié)果均為所述web容器不可用,則判定所述檢查結(jié)果為異常,其中所述N為自然數(shù)。

可選地,所述按照預設(shè)時間間隔檢查所述web系統(tǒng)的數(shù)據(jù)庫服務是否正常的步驟包括:

按照預設(shè)時間間隔通過JDBC方式與所述數(shù)據(jù)庫建立連接,操作所述數(shù)據(jù)庫服務并根據(jù)所述數(shù)據(jù)庫的反饋結(jié)果判斷所述數(shù)據(jù)庫服務是否正常;

若所述數(shù)據(jù)庫服務正常,則判定所述檢查結(jié)果為正常;

若所述數(shù)據(jù)庫服務不正常,則

重復執(zhí)行N次按照預設(shè)時間間隔通過JDBC方式與所述數(shù)據(jù)庫建立連接,操作所述數(shù)據(jù)庫服務并根據(jù)所述數(shù)據(jù)庫的反饋結(jié)果判斷所述數(shù)據(jù)庫服務是否正常的步驟,若N次判斷結(jié)果均為所述數(shù)據(jù)庫服務不正常,則判定所述檢查結(jié)果為異常,其中所述N為自然數(shù)。

相較于現(xiàn)有技術(shù),本發(fā)明所提出的web系統(tǒng)健康狀態(tài)檢查方法首先按照預設(shè)時間間隔檢查所述web系統(tǒng)的數(shù)據(jù)庫服務和容器服務是否正常,然后根據(jù)檢查結(jié)果生成對應的檢查日志,所述檢查結(jié)果包括正常和異常,且當檢查結(jié)果為異常時,將所述檢查日志輸出給運維人員,從而實現(xiàn)了運維人員及時的了解web系統(tǒng)的健康狀態(tài),且運維人員無需對所有的日志進行查找即可知道發(fā)生問題時對應的檢查日志,可以快速的定位問題。

附圖說明

圖1為本發(fā)明所述的web系統(tǒng)健康狀態(tài)檢查裝置第一實施例的模塊示意圖;

圖2為本發(fā)明所述的web系統(tǒng)健康狀態(tài)檢查方法第一實施例的實施流程示意圖;

圖3為本發(fā)明按照預設(shè)時間間隔檢查所述web系統(tǒng)的數(shù)據(jù)庫服務是否正常時一實施例的實施流程示意圖;

圖4為當容器服務是否正常的表征參數(shù)包括CPU使用率時,按照預設(shè)時間間隔檢查所述web系統(tǒng)的容器服務是否正常時一實施例的實施流程示意圖;

圖5為當容器服務是否正常的表征參數(shù)包括內(nèi)存使用率時,按照預設(shè)時間間隔檢查所述web系統(tǒng)的容器服務是否正常時一實施例的實施流程示意圖;

圖6為當容器服務是否正常的表征參數(shù)包括web容器的可用性時,按照預設(shè)時間間隔檢查所述web系統(tǒng)的容器服務是否正常時一實施例的實施流程示意圖;

圖7為本發(fā)明設(shè)置容器服務是否正常的表征參數(shù)時一實施例的用戶界面示意圖。

附圖標記:

本發(fā)明目的的實現(xiàn)、功能特點及優(yōu)點將結(jié)合實施例,參照附圖做進一步說明。

具體實施方式

應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。

現(xiàn)在將參考附圖描述實現(xiàn)本發(fā)明各個實施例的web系統(tǒng)健康狀態(tài)檢查方法及裝置。在后續(xù)的描述中,使用用于表示元件的諸如“模塊”、“部件”或“單元”的后綴僅為了有利于本發(fā)明的說明,其本身并沒有特定的意義。因此,“模塊”與“部件”可以混合地使用。

本發(fā)明的目的是提供一種web系統(tǒng)健康狀態(tài)檢查方法及裝置,用以實現(xiàn)對web系統(tǒng)的運行狀態(tài)的實時檢查。Web(World Wide Web,也稱WWW或萬維網(wǎng))是Internet上集文本、聲音、動畫、視頻等多種媒體信息于一身的信息服務系統(tǒng),整個web系統(tǒng)由Web服務器、瀏覽器(Browser)及通信協(xié)議等3部分組成。Web系統(tǒng)采用的通信協(xié)議是超文本傳輸協(xié)議(HTTP,HyperText Transfer Protocol),它可以傳輸任意類型的數(shù)據(jù)對象,是Internet發(fā)布多媒體信息的主要協(xié)議。WWW中的信息資源主要由一篇篇的網(wǎng)頁為基本元素構(gòu)成,所有網(wǎng)頁采用超文本標記語言(HTML,HyperText Markup Language)來編寫,HTML對Web頁的內(nèi)容、格式及Web頁中的超鏈進行描述。Web頁間采用超級文本(HyperText)的格式互相鏈接。當鼠標的光標移到這些鏈接上時,光標形狀變成一手掌狀,點擊即可從這一網(wǎng)頁跳轉(zhuǎn)到另一網(wǎng)頁上,這也就是所謂的超鏈。

Web服務器是指駐留于因特網(wǎng)上某種類型計算機的程序。當Web瀏覽器(客戶端)連到web服務器上并請求文件時,web服務器將處理該請求并將文件反饋到該瀏覽器上,附帶的信息會告訴瀏覽器如何查看該文件(即文件類型)。

首先,本發(fā)明提出一種web系統(tǒng)健康狀態(tài)檢查裝置400,所述web系統(tǒng)健康狀態(tài)檢查裝置400適用于任一web系統(tǒng)中。如圖1所示,是本發(fā)明所述的web系統(tǒng)健康狀態(tài)檢查裝置400第一實施例的模塊示意圖。在本實施例中,所述web系統(tǒng)健康狀態(tài)檢查裝置400可以被分割成一個或多個模塊,所述一個或多個模塊被存儲于存儲器中,并由一個或多個控制器所執(zhí)行,以完成本發(fā)明。例如,在圖1中,所述web系統(tǒng)健康狀態(tài)檢查裝置400可以被分割成數(shù)據(jù)庫檢查模塊401、容器檢查模塊402、日志生成模塊403以及輸出模塊404。其中本發(fā)明所稱的模塊是指一種能夠完成特定功能的一系列計算機程序指令段,比程序更適合于描述所述web系統(tǒng)健康狀態(tài)檢查裝置400在執(zhí)行web系統(tǒng)健康狀態(tài)檢查時的實現(xiàn)過程。以下將就上述各模塊401-404的具體功能進行詳細描述,首先需要說明的是,本發(fā)明中web系統(tǒng)健康狀態(tài)檢查分為兩部分:數(shù)據(jù)庫服務檢查和容器服務檢查,當兩者中有一者異常時,則判定檢查結(jié)果為異常,只有兩者均正常時,檢查結(jié)果才為正常。

所述數(shù)據(jù)庫檢查模塊401,用于按照預設(shè)時間間隔檢查所述web系統(tǒng)的數(shù)據(jù)庫服務是否正常。具體的,數(shù)據(jù)庫檢查模塊401的具體實現(xiàn)過程如下:(1)按照預設(shè)時間間隔通過JDBC方式與所述數(shù)據(jù)庫建立連接,操作所述數(shù)據(jù)庫;(2)根據(jù)所述數(shù)據(jù)庫的反饋結(jié)果判斷所述數(shù)據(jù)庫服務是否正常,若所述數(shù)據(jù)庫服務正常,則判定所述檢查結(jié)果為正常,若所述數(shù)據(jù)庫服務不正常,則判定檢查結(jié)果為異常。而為了提高檢查結(jié)果的準確性,當檢查到一次數(shù)據(jù)庫服務不正常時,為了驗證當前數(shù)據(jù)庫服務確實不正常,可以重復檢查多次,只有多次檢查到數(shù)據(jù)庫服務都不正常時,才判定數(shù)據(jù)庫服務不正常,檢查結(jié)果為異常。如:當檢查到一次數(shù)據(jù)庫服務不正常時,對檢查次數(shù)進行計數(shù)得到一計數(shù)值,然后判斷計數(shù)值是否大于等于預設(shè)檢查次數(shù)N,若判斷結(jié)果為是,則判定檢查結(jié)果為異常,反之則重復執(zhí)行按照預設(shè)時間間隔通過JDBC方式與所述數(shù)據(jù)庫建立連接,操作所述數(shù)據(jù)庫并根據(jù)所述數(shù)據(jù)庫的反饋結(jié)果判斷所述數(shù)據(jù)庫服務是否正常的步驟,直至N次判斷結(jié)果均為所述數(shù)據(jù)庫不正常時,則判定所述檢查結(jié)果為異常,其中所述N是根據(jù)實際評估確定的自然數(shù),如N的取值為2、3、4等。其中,預設(shè)時間間隔也是根據(jù)實際評估確定的,如預設(shè)時間間隔為3s,當然預設(shè)時間間隔的取值還可以為其他數(shù)值。JDBC(Java Data Base Connectivity,java數(shù)據(jù)庫連接)是一種用于執(zhí)行SQL語句的Java API,可以為多種關(guān)系數(shù)據(jù)庫提供統(tǒng)一訪問,它由一組用Java語言編寫的類和接口組成。JDBC提供了一種基準,據(jù)此可以構(gòu)建更高級的工具和接口,使數(shù)據(jù)庫開發(fā)人員能夠編寫數(shù)據(jù)庫應用程序。簡單地說,JDBC可做三件事:與數(shù)據(jù)庫建立連接、發(fā)送操作數(shù)據(jù)庫的語句并處理結(jié)果。有了JDBC,向各種關(guān)系數(shù)據(jù)發(fā)送SQL語句就是一件很容易的事。換言之,有了JDBC API,就不必為訪問Sybase數(shù)據(jù)庫專門寫一個程序,為訪問Oracle數(shù)據(jù)庫又專門寫一個程序,或為訪問Informix數(shù)據(jù)庫又編寫另一個程序等等,程序員只需用JDBC API寫一個程序就夠了,它可向相應數(shù)據(jù)庫發(fā)送SQL調(diào)用。同時,將Java語言和JDBC結(jié)合起來使程序員不必為不同的平臺編寫不同的應用程序,只須寫一遍程序就可以讓它在任何平臺上運行,這也是Java語言編寫一次,處處運行的優(yōu)勢。

所述容器檢查模塊402,用于按照預設(shè)時間間隔檢查所述web系統(tǒng)的容器服務是否正常,其中所述容器服務是否正常的表征參數(shù)包括CPU使用率、內(nèi)存使用率和/或web容器的可用性。檢查時,只要判斷容器服務是否正常的表征參數(shù)中有一者為異常,則判定檢查結(jié)果為異常,只有當容器服務是否正常的所有表征參數(shù)均正常時,容器服務檢查結(jié)果才為正常。需要說明的是,容器服務是否正常的表征參數(shù)可以由程序員預先設(shè)計,對于不同的web系統(tǒng),其可以提供一個選擇界面,由運維人員選擇采用哪些參數(shù)來表征容器服務是否正常,如圖7所示,用戶可以選擇容器服務是否正常的表征參數(shù)包括CPU使用率、內(nèi)存使用率以及web容器的可用性,則本發(fā)明web系統(tǒng)健康狀態(tài)檢查方法在應用時,會檢查CPU使用率、內(nèi)存使用率以及web容器的可用性這些參數(shù)的健康狀態(tài)。當然,所述容器服務是否正常的表征參數(shù)不僅僅可以為以上幾種實現(xiàn)形式,其還可以包括其他參數(shù),此處不再一一舉例說明。

具體的,當所述容器服務是否正常的表征參數(shù)包括CPU使用率時,所述容器檢查模塊用于:按照預設(shè)時間間隔檢查所述CPU使用率;判斷所述CPU使用率是否大于預設(shè)CPU使用閾值,若所述CPU使用率大于所述預設(shè)CPU使用閾值,則判定CPU使用率對應的檢查結(jié)果為異常,其中預設(shè)CPU使用閾值是根據(jù)數(shù)據(jù)量以及系統(tǒng)的配置等因素評估得到的一個CPU使用飽和的值,如70%或其他數(shù)值。此外,預設(shè)時間間隔是根據(jù)實際評估確定的,如預設(shè)時間間隔的取值3s、4s、5s等,當預設(shè)時間間隔為3s時,則每隔3s檢查一次CPU使用率。具體的,可以通過操作系統(tǒng)命令sar、ps等命令來讀取CPU使用情況,即CPU使用率。

當所述容器服務是否正常的表征參數(shù)包括內(nèi)存使用率時,所述容器檢查模塊用于:按照預設(shè)時間間隔檢查所述內(nèi)存使用率;判斷所述內(nèi)存使用率是否大于預設(shè)內(nèi)存使用閾值,若所述內(nèi)存使用率大于所述預設(shè)內(nèi)存使用閾值,則判定檢查結(jié)果為異常。其中,預設(shè)內(nèi)存使用閾值是根據(jù)數(shù)據(jù)量以及系統(tǒng)的配置等因素評估得到的一個內(nèi)存使用飽和的值,如70%或其他數(shù)值;預設(shè)時間間隔是根據(jù)實際評估確定的,如預設(shè)時間間隔的取值3s、4s、5s等,當預設(shè)時間間隔為3s時,則每隔3s檢查一次內(nèi)存使用率。具體的,可以通過操作系統(tǒng)命令top、vmstat等命令來讀取內(nèi)存使用情況,如內(nèi)存使用率。

當所述容器服務是否正常的表征參數(shù)包括web容器的可用性時,所述容器檢查模塊用于:(1)按照預設(shè)時間間隔向所述web容器發(fā)送http請求;(2)根據(jù)所述web容器的反饋結(jié)果判斷所述web容器的可用性,若所述web容器可用,則判定所述檢查結(jié)果為正常;若所述web容器不可用,則判定檢查結(jié)果為異常。而為了提高檢查結(jié)果的準確性,當檢查到一次web容器不可用時,為了驗證當前web容器確實不可用,可以重復檢查多次,只有多次檢查到web容器不可用時,才判定web容器不可用,檢查結(jié)果為異常。如:當檢查到一次web容器不可用時,對檢查次數(shù)進行計數(shù)得到一計數(shù)值,然后判斷計數(shù)值是否大于等于預設(shè)檢查次數(shù)N,若判斷結(jié)果為是,則判定檢查結(jié)果為異常,反之則重復執(zhí)行按照預設(shè)時間間隔向所述web容器發(fā)送http請求;根據(jù)所述web容器的反饋結(jié)果判斷所述web容器的可用性的步驟,直至N次判斷結(jié)果均為所述web容器不可用時,則判定所述檢查結(jié)果為異常,其中所述N是根據(jù)實際評估確定的自然數(shù),如N的取值為2、3、4等。其中,預設(shè)時間間隔也是根據(jù)實際評估確定的,如預設(shè)時間間隔為3s,當然預設(shè)時間間隔的取值還可以為其他數(shù)值。

其中,當所述容器服務是否正常的表征參數(shù)包括CPU使用率、內(nèi)存使用率以及web容器的可用性這三者中的任意兩者或多者時,只要判定其中一者異常,則判定檢查結(jié)果為異常。且數(shù)據(jù)庫服務和容器服務,當兩者中有一者異常時,檢查結(jié)果就為異常。

所述日志生成模塊403,用于根據(jù)所述數(shù)據(jù)庫檢查模塊和所述容器檢查模塊的檢查結(jié)果生成對應的檢查日志,所述檢查結(jié)果包括正常和異常。具體的,檢查結(jié)果的對象包括數(shù)據(jù)庫服務檢查結(jié)果和容器服務檢查結(jié)果,檢查結(jié)果的狀態(tài)包括正常和異常,當檢查結(jié)果為正常時,只需生成對應的檢查日志,而當檢測結(jié)果為異常時,不僅需要生成對應的檢查日志,還需要將檢查日志輸出給運維人員。對于CPU使用率,當檢查到CPU使用率大于CPU預設(shè)閾值時,其檢查日志包括當時線程、Thread Dump、數(shù)據(jù)庫日志等文件內(nèi)容。對于內(nèi)存使用率,當檢查到內(nèi)存使用率大于內(nèi)存預設(shè)閾值時,其檢查日志包括當時線程、Thread Dump、數(shù)據(jù)庫日志等文件內(nèi)容。

所述輸出模塊404,用于當檢查結(jié)果為異常時,將檢查結(jié)果為異常時所對應的檢查日志輸出給運維人員。如以發(fā)送消息或發(fā)送郵件的方式通知運維人員,方便運維人員及時的了解web系統(tǒng)的健康狀態(tài),且無需查找即可知道發(fā)生問題時對應的檢查日志,可以快速的定位問題。

通過上述模塊401-404,本發(fā)明所提出的web系統(tǒng)健康狀態(tài)檢查裝置首先按照預設(shè)時間間隔檢查所述web系統(tǒng)的數(shù)據(jù)庫服務和容器服務是否正常,然后根據(jù)檢查結(jié)果生成對應的檢查日志,所述檢查結(jié)果包括正常和異常,且當檢查結(jié)果為異常時,將所述檢查日志輸出給運維人員,從而實現(xiàn)了運維人員及時的了解web系統(tǒng)的健康狀態(tài),且運維人員無需對所有的日志進行查找即可知道發(fā)生問題時對應的檢查日志,可以快速的定位問題。

可選地,本發(fā)明提出一種web系統(tǒng)健康狀態(tài)檢查方法,該方法應用于任一web系統(tǒng)中。如圖2所示,是本發(fā)明所述的web系統(tǒng)健康狀態(tài)檢查方法第一實施例的實施流程圖。在本實施例中,根據(jù)不同的需求,圖2所示的流程圖中的步驟的執(zhí)行順序可以改變,某些步驟可以省略。

步驟S510,按照預設(shè)時間間隔檢查所述web系統(tǒng)的數(shù)據(jù)庫服務和容器服務是否正常,其中所述容器服務是否正常的表征參數(shù)包括CPU使用率、內(nèi)存使用率和/或web容器的可用性。具體的,本發(fā)明中web系統(tǒng)健康狀態(tài)檢查分為兩部分:數(shù)據(jù)庫服務檢查和容器服務檢查,當兩者中有一者異常時,則判定檢查結(jié)果為異常,只有兩者均正常時,檢查結(jié)果才為正常。而所述容器服務是否正常的表征參數(shù)包括CPU使用率、內(nèi)存使用率以及web容器的可用性中的任意一者、兩者或多者,只要容器服務是否正常的表征參數(shù)中有一者為異常,則判定檢查結(jié)果為異常,只有當容器服務是否正常的所有表征參數(shù)均正常時,檢查結(jié)果才為正常。需要說明的是,容器服務是否正常的表征參數(shù)可以由程序員預先設(shè)計,對于不同的web系統(tǒng),其可以提供一個選擇界面,由運維人員選擇采用哪些參數(shù)來表征容器服務是否正常,如圖7所示,用戶可以選擇容器服務是否正常的表征參數(shù)包括CPU使用率、內(nèi)存使用率以及web容器的可用性,則本發(fā)明web系統(tǒng)健康狀態(tài)檢查方法在應用時,會檢查CPU使用率、內(nèi)存使用率以及web容器的可用性這些參數(shù)的健康狀態(tài)。當然,所述容器服務是否正常的表征參數(shù)不僅僅可以為以上幾種實現(xiàn)形式,其還可以包括其他參數(shù),此處不再一一舉例說明。

請參考圖3,圖3為步驟S510中按照預設(shè)時間間隔檢查所述web系統(tǒng)的數(shù)據(jù)庫服務是否正常時一實施例的實施流程示意圖。如圖3所示,其包括以下步驟:

S610,按照預設(shè)時間間隔通過JDBC方式與所述數(shù)據(jù)庫建立連接,操作所述數(shù)據(jù)庫。其中預設(shè)時間間隔是根據(jù)實際評估確定的,如預設(shè)時間間隔的取值為3s、4s、5s等。JDBC(Java Data Base Connectivity,java數(shù)據(jù)庫連接)是一種用于執(zhí)行SQL語句的Java API,可以為多種關(guān)系數(shù)據(jù)庫提供統(tǒng)一訪問,它由一組用Java語言編寫的類和接口組成。JDBC提供了一種基準,據(jù)此可以構(gòu)建更高級的工具和接口,使數(shù)據(jù)庫開發(fā)人員能夠編寫數(shù)據(jù)庫應用程序。簡單地說,JDBC可做三件事:與數(shù)據(jù)庫建立連接、發(fā)送操作數(shù)據(jù)庫的語句并處理結(jié)果。有了JDBC,向各種關(guān)系數(shù)據(jù)發(fā)送SQL語句就是一件很容易的事。換言之,有了JDBC API,就不必為訪問Sybase數(shù)據(jù)庫專門寫一個程序,為訪問Oracle數(shù)據(jù)庫又專門寫一個程序,或為訪問Informix數(shù)據(jù)庫又編寫另一個程序等等,程序員只需用JDBC API寫一個程序就夠了,它可向相應數(shù)據(jù)庫發(fā)送SQL調(diào)用。同時,將Java語言和JDBC結(jié)合起來使程序員不必為不同的平臺編寫不同的應用程序,只須寫一遍程序就可以讓它在任何平臺上運行,這也是Java語言編寫一次,處處運行的優(yōu)勢。本發(fā)明中通過Shell腳本循環(huán)調(diào)用Java程序即可完成數(shù)據(jù)庫服務檢查。

步驟S620,根據(jù)所述數(shù)據(jù)庫的反饋結(jié)果判斷所述數(shù)據(jù)庫服務是否正常,若判斷結(jié)果為是,則判定所述檢查結(jié)果為正常,返回步驟S610,反之,則執(zhí)行步驟S630。

步驟S630,對檢查次數(shù)進行計數(shù)得到一計數(shù)值。即對執(zhí)行步驟S610-620的執(zhí)行次數(shù)進行計數(shù),當?shù)谝淮螜z查到所述數(shù)據(jù)庫服務異常時,計數(shù)值為1。

步驟S640,判斷計數(shù)值是否大于等于預設(shè)檢查次數(shù)N,若判斷結(jié)果為是,則執(zhí)行步驟S650,反之返回步驟S610。其中,N是根據(jù)實際評估確定的自然數(shù),如N的取值為2、3、4等。當N的取值為3時,則重復3次檢查到數(shù)據(jù)庫服務異常時,判定數(shù)據(jù)庫服務檢查為異常,檢查結(jié)果為異常。

步驟S650,判定檢查結(jié)果為異常。

本實施例中,當檢查到一次數(shù)據(jù)庫服務不正常時,為了提高檢查結(jié)果的準確性,可以重復檢查多次(即預設(shè)檢查次數(shù)),只有多次檢查到數(shù)據(jù)庫服務都不正常時,才判定檢查結(jié)果為異常。

請參考圖4,圖4為當判斷容器服務是否正常的表征參數(shù)包括CPU使用率時,所述按照預設(shè)時間間隔檢查所述web系統(tǒng)的容器服務是否正常時一實施例的子流程圖。如圖4所示,包括以下步驟:

步驟S710,按照預設(shè)時間間隔檢查所述CPU使用率。其中預設(shè)時間間隔是根據(jù)實際評估確定的,如預設(shè)時間間隔的取值3s、4s、5s等,當預設(shè)時間間隔為3s時,則每隔3s檢查一次CPU使用率。具體的,可以通過操作系統(tǒng)命令sar、ps等命令來讀取CPU使用情況,如內(nèi)存使用率。

步驟S720,判斷所述CPU使用率是否大于預設(shè)CPU使用閾值,若判斷結(jié)果為是,則執(zhí)行步驟S730,反之重復執(zhí)行步驟S710。其中,預設(shè)CPU使用閾值是根據(jù)數(shù)據(jù)量以及系統(tǒng)的配置等因素評估得到的一個CPU使用飽和的值,如70%或其他數(shù)值。

步驟S730,判定檢查結(jié)果為異常。

請參考圖5,圖5為當判斷容器服務是否正常的表征參數(shù)包括內(nèi)存使用率時,所述按照預設(shè)時間間隔檢查所述web系統(tǒng)的容器服務是否正常時一實施例的子流程圖。如圖5所示,包括以下步驟:

步驟S810,按照預設(shè)時間間隔檢查所述內(nèi)存使用率。

步驟S820,判斷所述內(nèi)存使用率是否大于預設(shè)內(nèi)存使用閾值,若判斷結(jié)果為是,則執(zhí)行步驟S830,反之重復執(zhí)行步驟S810。其中,預設(shè)內(nèi)存使用閾值是根據(jù)數(shù)據(jù)量以及系統(tǒng)的配置等因素評估得到的一個內(nèi)存使用飽和的值,如70%或其他數(shù)值。

步驟S830,判定檢查結(jié)果為異常。

請參考圖6,圖6為當判斷容器服務是否正常的表征參數(shù)包括web容器的可用性時,所述按照預設(shè)時間間隔檢查所述web系統(tǒng)的容器服務是否正常時一實施例的子流程圖。如圖6所示,包括以下步驟:

步驟S910,按照預設(shè)時間間隔向所述web容器發(fā)送http請求,其中預設(shè)時間間隔是根據(jù)實際評估確定的,如預設(shè)時間間隔的取值為3s、4s、5s等。其中,web容器是一種服務程序,在服務器一個端口就有一個提供相應服務的程序,而這個程序就是處理從客戶端發(fā)出的請求,如JAVA中的Tomcat容器,ASP的IIS或PWS都是這樣的容器,一個服務器可以包括多個web容器。

步驟S920,根據(jù)所述web容器的反饋結(jié)果判斷所述web容器的可用性,若判斷結(jié)果為web容器可用,則判定所述檢查結(jié)果為正常,返回步驟S910,若判斷結(jié)果為web容器不可用,則執(zhí)行步驟S930。具體的,向所述web容器發(fā)送http請求后,如果返回成功則表示web容器服務可用,如果返回失敗則表示web容器停止服務。需要說明的是,當判斷結(jié)果為web容器不可用時,在再次執(zhí)行步驟S910之前,需要重啟服務,然后執(zhí)行步驟S910。

步驟S930,對檢查次數(shù)進行計數(shù)得到一計數(shù)值。即對執(zhí)行步驟S910-920的執(zhí)行次數(shù)進行計數(shù),當?shù)谝淮螜z查到所述web容器不可用時,計數(shù)值為1。

步驟S940,判斷計數(shù)值是否大于等于預設(shè)檢查次數(shù)N,若判斷結(jié)果為是,則執(zhí)行步驟S950,反之返回步驟S910。其中,N是根據(jù)實際評估確定的自然數(shù),如N的取值為2、3、4等。當N的取值為3時,則重復3次檢查到web容器不可用時,判定web容器可用性為異常,檢查結(jié)果為異常。

步驟S950,判定檢查結(jié)果為異常。

本實施例中,當檢查到一次web容器不可用時,為了提高檢查結(jié)果的準確性,可以重復檢查多次(即預設(shè)檢查次數(shù)),只有多次檢查到web容器不可用時,才判定檢查結(jié)果為異常。

步驟S520,根據(jù)檢查結(jié)果生成對應的檢查日志,所述檢查結(jié)果包括正常和異常。具體的,檢查結(jié)果的對象包括數(shù)據(jù)庫服務檢查結(jié)果和容器服務檢查結(jié)果,檢查結(jié)果的狀態(tài)包括正常和異常,當檢查結(jié)果為正常時,只需生成對應的檢查日志,而當檢測結(jié)果為異常時,不僅需要生成對應的檢查日志,還需要將檢查日志輸出給運維人員。對于CPU使用率,當檢查到CPU使用率大于CPU預設(shè)閾值時,其檢查日志包括當時線程、Thread Dump、數(shù)據(jù)庫日志等文件內(nèi)容。對于內(nèi)存使用率,當檢查到內(nèi)存使用率大于內(nèi)存預設(shè)閾值時,其檢查日志包括當時線程、Thread Dump、數(shù)據(jù)庫日志等文件內(nèi)容。

步驟S530,當檢查結(jié)果為異常時,將檢查結(jié)果為異常時所對應的檢查日志輸出給運維人員。如以發(fā)送消息或發(fā)送郵件的方式通知運維人員,方便運維人員及時的了解web系統(tǒng)的健康狀態(tài),且無需查找即可知道發(fā)生問題時對應的檢查日志,可以快速的定位問題。

通過上述步驟S510-S530,本發(fā)明所提出的web系統(tǒng)健康狀態(tài)檢查方法首先按照預設(shè)時間間隔檢查所述web系統(tǒng)的數(shù)據(jù)庫服務和容器服務是否正常,然后根據(jù)檢查結(jié)果生成對應的檢查日志,所述檢查結(jié)果包括正常和異常,且當檢查結(jié)果為異常時,將所述檢查日志輸出給運維人員,從而實現(xiàn)了運維人員及時的了解web系統(tǒng)的健康狀態(tài),且運維人員無需對所有的日志進行查找即可知道發(fā)生問題時對應的檢查日志,可以快速的定位問題。

需要說明的是,在本文中,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者裝置不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者裝置所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括該要素的過程、方法、物品或者裝置中還存在另外的相同要素。

上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。

通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到上述實施例方法可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過硬件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)(如ROM/RAM、磁碟、光盤)中,包括若干指令用以使得一臺終端設(shè)備(可以是手機,計算機,服務器,空調(diào)器,或者網(wǎng)絡設(shè)備等)執(zhí)行本發(fā)明各個實施例所述的方法。

以上僅為本發(fā)明的優(yōu)選實施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護范圍內(nèi)。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1