一種用于集群的日志管理方法
【專利摘要】本發明涉及一種用于集群的日志管理方法,該方法給集群中的每個節點配置底層的日志管理系統LOG、日志管理中心LMC以及RabbitMq服務,所述方法包括步驟:1)啟動集群中的一個節點,并同時啟動該節點的LOG、LMC和RabbitMq服務;2)啟動集群中的其他節點,并同時只需啟動該節點的LOG和RabbitMq服務;3)日志管理系統LOG負責記錄集群中的日志,日志管理中心LMC負責收集每個節點的日志并提供在WEB訪問的服務。與現有技術相比,本發明具有自動記錄文件、方便快捷并可以通過WEB方式查看等優點。
【專利說明】一種用于集群的日志管理方法
【技術領域】
[0001]本發明涉及一種日志管理方法,尤其是涉及一種用于集群的日志管理方法。
【背景技術】
[0002]當前計算機已經成為人類工作學習和生活中的一部分,隨著計算機的運行會產生許多日志,這些日志記錄著計算機在運行過程中系統調用以及程序運行的異常和正常情況。當計算機出現異常時,通過查看日志可快速定位異常原因,修復問題,使計算機能夠穩定工作。
[0003]特別是在企業中日志的作用不容小覷,可以幫助管理員和運維人員排查問題,提升系統性能,提高企業的生產效率,減少損失。所以如何管理分類和保存這些日志,對我們的生活和工作是非常重要的。大多數的企業都是會使用多臺服務器,來存放企業中的應用、軟件和數據。當一臺機器發生故障時,排查問題繁瑣,消耗大量的人力財力,還受限于地點時間等各種外在因素。
[0004]集群是一種計算機系統,它由一組松散集成的計算機軟件或硬件連接起來,高度緊密地協作完成計算工作。在某種意義上,他們可以被看作是一臺計算機。集群中的單個計算機通常稱為節點,集群通過局域網連接,也支持其它的連接方式。集群通常用來改進單個計算機的計算速度和數據流的負載均衡。集群以其極快的計算速度和低廉的價格,受到企業的青睞并在企業中普及開來。集群是由節點組成的一個龐大的系統,其節點數量從幾臺到幾百臺甚至上千臺不等。
【發明內容】
[0005]本發明的目的就是為了克服上述現有技術存在的缺陷而提供一種自動記錄文件、方便快捷并可以通過WEB方式查看的用于集群的日志管理方法,用于分類管理集群中的日志,包括系統日志,軟件日志,存放在指定目錄下,有詳細的時間和描述,也可以通過WEB訪問查看日志,做到無論何時何地都可以監控系統的運行情況,提高企業和個人的工作效率,節約了企業和個人的時間和資源。
[0006]本發明的目的可以通過以下技術方案來實現:
[0007]—種用于集群的日志管理方法,其特征在于,該方法給集群中的每個節點配置底層的日志管理系統LOG、日志管理中心LMC以及RabbitMq服務,所述方法包括步驟:
[0008]I)啟動集群中的一個節點,并同時啟動該節點的LOG、LMC和RabbitMq服務;
[0009]2)啟動集群中的其他節點,并同時只需啟動該節點的LOG和RabbitMq服務;
[0010]3)日志管理系統LOG負責記錄集群中的日志,日志管理中心LMC負責收集每個節點的日志并提供在WEB訪問的服務。
[0011]所述日志管理中心LMC啟動服務時會創建一個數據庫,該數據庫含有表格I和表格D,所述表格I記錄激活節點信息,用于保證只有在激活節點上運行LMC服務,表格D記錄日志的詳細信息。[0012]所述的日志的詳細信息包括日志記錄時間、記錄者名稱、記錄者所在節點IP和日志內容,該日志內容包括調用CPU使用率、運行是否正常。
[0013]所述日志管理系統LOG提供服務包括步驟:
[0014]411)某服務調用日志管理系統;
[0015]412)日志管理系統判斷是否首次調用,若為是,執行步驟413),若為否,則執行步驟 414);
[0016]413)LOG為該服務在制定路徑下創建文件夾并在文件夾內創建一個以該服務命名的文件夾,在該文件夾下創建一個目志文件,并將日志寫入該日志文件中,并執行步驟
415);
[0017]414) LOG掃描制定路徑下所有文件夾名,找到該服務對應的文件夾后,將日志內容寫入該文件夾下的日志文件中,并執行步驟415);
[0018]415) LOG通過RabbitMq服務向LMC發送日志,LMC負責將收到的日志記錄到數據中。
[0019]所述日志管理中心提供服務包括步驟:
[0020]421) LOG通過RabbitMq服務發送消息給LMC模塊;
[0021]422) LMC判斷是否為多條消息,若為是,執行步驟423),若為否,則執行步驟424);
[0022]423) LMC將多條消息排成隊列,并執行步驟424);
[0023]424) LMC檢測是否已經創建數據庫,若為是,執行步驟426),若為否,則執行步驟
425);
[0024]425)創建一個數據庫,再將消息記錄到數據庫中;
[0025]426)直接將消息記錄到已創建的數據庫中。
[0026]與現有技術相比,本發明具有以下優點:
[0027]I)由于采用了本發明日志管理的方法,方便快捷,減輕了集群管理人員的工作任務,做到了成本低、效率高。
[0028]2.)將集群中的日志統一由LOG和LMC服務進行管理,極大的方便了日志的查看、刪除、列舉等操作,大大提高了集群的工作效率,集群中的節點越多,這種優勢越明顯。
[0029]3)在集群的發現節點的過程中,多數情況下由程序自動執行,無需人工干預,不影響集群正常運轉,不需要復雜的配置和額外的工具,因此本方案具有易操作、易維護的特點。
[0030]4)本發明不僅適用于不同品牌的服務器平臺,對于各種虛擬機也同樣適用,因此具有很好的硬件平臺適應性,得益于RabbitMQ服務,該服務的穩定性極高,可以保證集群在長時間高負荷穩定工作,減少了維護集群系統時對用戶業務的影響。
[0031]5)在集群運行過程中,當集群中的某一個節點發生異常或者需要查看某一個節點的運行狀況時候,可以直接打開指定目錄查看某服務的運行狀態,當由于地理位置無法直接進入機房查看時,可以通過WEB輕松訪問日志,極大的便利了維護人員的工作。
【專利附圖】
【附圖說明】
[0032]圖1為本發明的工作流程圖;
[0033]圖2為本發明日志管理系統提供服務的工作流程圖;[0034]圖3為本發明日志管理中心提供服務的工作流程圖;
[0035]圖4為本發明日志文件組織結構示意圖。
【具體實施方式】
[0036]下面結合附圖和具體實施例對本發明進行詳細說明。本實施例以本發明技術方案為前提進行實施,給出了詳細的實施方式和具體的操作過程,但本發明的保護范圍不限于下述的實施例。
[0037]如圖1所示為本發明主要步驟,本發明中,主要涉及三個較關鍵的部分,LOG服務,RabbitMq服務和LMC服務。下面是對本發明的實施例進一步說明。
[0038]I)女裝Linux系統并啟動。
[0039]2)選取集群中的一臺計算機,正確安裝好所需要的Linux系統,并對Linux系統配置后啟動。正確安裝LOG服務并啟動,RabbitMq服務和LMC服務。此時啟動的計算機成為ACTIVE節點,注意LMC服務只需要在ACTIVE節點啟動,其他節點無需啟動。
[0040]啟動方法:只需要找到上述服務的安裝目錄,在目錄下執行命令seviceLmcserver start sevice LOG server start sevice RabbitMq_server start 即可。
[0041]3)啟動其他節點。
[0042]啟動集群中的其他節點,正確安裝LOG、RabbitMq服務并啟動,無需啟動LMC服務。然后啟動集群其他服務:在集群中所有節點上正確啟動集群中的其他服務。并根據業務需要相應的增加服務和軟件。
[0043]4)集群日志的記錄過程。
[0044]LOG服務在指定目錄下(默認路徑為/var/log/service_log)創建以調用者命名的文件夾和一個記錄文件(默認名稱為Logger, pki),該文件記錄了所有調用者的名稱,和每個調用者最多能記錄的文件數(默認為100個)。每個文件夾下會有所有日志文件(默認最多為100個,命名為1gO, logl...依次類推)和一個標識文件(默認名稱為Log.pki),該文件記錄了當前記錄的文件位置和需要記錄的行數(默認一條日志記錄一行)。文件組織結構如圖4所示,log為文件名,10000表示1gO文件已經記錄了 10000條日志(默認一個文件做多可以記錄10000條日志,超過10000條則需要新創建新的文件來記錄日志
[0045]41) LOG服務的運行過程如圖2所示:
[0046]4兒)服務甲調用LOG服務;
[0047]412)日志管理系統判斷是否首次調用,即LOG服務會首先查詢logger, pki文件,查看服務甲在文件里面是否有記錄,若為是,執行步驟413),若為否,則執行步驟414),此處注意如果該文件已寫滿,同樣執行步驟413);
[0048]413)創建文件夾并在文件夾內創建一個文件A,寫入日志;
[0049]414)打開所述文件A并寫入日志。
[0050]如圖3所示,所述日志管理中心提供服務包括步驟:
[0051 ] 421) LOG通過RabbitMq服務發送消息給LMC模塊;
[0052]422) LMC判斷是否為多條消息,若為是,執行步驟423),若為否,則執行步驟424);
[0053]423) LMC將多條消息排成隊列,并執行步驟424);
[0054]424) LMC檢測是否已經創建數據庫,若為是,執行步驟426),若為否,則執行步驟425);
[0055]425)創建一個數據庫,再將消息記錄到數據庫中;
[0056]426)直接將消息記錄到已創建的數據庫中。
[0057]LMC服務啟動之后,會創建一個數據庫(默認名稱為LMC —db)該數據庫有兩張數據庫表格,數據庫表格I記錄激活節點的IP,數據庫表格D記錄了日志的內容。當收到消息之后,LMC服務會首先判斷數據庫是否存在,若不存在,則去創建,否則將解析消息內容,并且記錄到數據庫中。
[0058]43)各個服務共同完成集群中的日志記錄。
[0059]當服務A調用LOG服務記錄一條日志時,在記錄完成之后,LOG服務會向LMC服務通過RabbitMq向LMC服務發送一條消息,LMC收到消息之后,會解析消息內容,并將消息內容記錄到數據庫中。此時打開WEB可以通過網頁查看服務A記錄的日志。
[0060]上述過程即為集群中一種日志的記錄方法,在服務運行過程中可記錄任意日志,方便查看,不影響服務的正常使用,即使集群日志服務異常甚至停止亦不影響服務A的正常使用。`
【權利要求】
1.一種用于集群的日志管理方法,其特征在于,該方法給集群中的每個節點配置底層的日志管理系統LOG、日志管理中心LMC以及RabbitMq服務,所述方法包括步驟: 1)啟動集群中的一個節點,并同時啟動該節點的LOG、LMC和RabbitMq服務; 2)啟動集群中的其他節點,并同時只需啟動該節點的LOG和RabbitMq服務; 3)日志管理系統LOG負責記錄集群中的日志,日志管理中心LMC負責收集每個節點的日志并提供在WEB訪問的服務。
2.根據權利要求1所述的一種用于集群的日志管理方法,其特征在于,所述日志管理中心LMC啟動服務時會創建一個數據庫,該數據庫含有表格I和表格D,所述表格I記錄激活節點信息,用于保證只有在激活節點上運行LMC服務,表格D記錄日志的詳細信息。
3.根據權利要求2所述的一種用于集群的日志管理方法,其特征在于,所述的日志的詳細信息包括日志記錄時間、記錄者名稱、記錄者所在節點IP和日志內容,該日志內容包括調用CPU使用率、運行是否正常。
4.根據權利要求1所述的一種用于集群的日志管理方法,其特征在于,所述日志管理系統LOG提供服務包括步驟: 411)某服務調用日志管理系統; 412)日志管理系統判斷是否首次調用,若為是,執行步驟413),若為否,則執行步驟414); 413)LOG為該服務在制定路徑下創建文件夾并在文件夾內創建一個以該服務命名的文件夾,在該文件夾下創建一個日志文件,并將日志寫入該日志文件中,并執行步驟415); 414)LOG掃描制定路徑下所有文件夾名,找到該服務對應的文件夾后,將日志內容寫入該文件夾下的日志文件中,并執行步驟415); 415)LOG通過RabbitMq服務向LMC發送日志,LMC負責將收到的日志記錄到數據中。
5.根據權利要求1所述的一種用于集群的日志管理方法,其特征在于,所述日志管理中心提供服務包括步驟: 421)LOG通過RabbitMq服務發送消息給LMC模塊; 422)LMC判斷是否為多條消息,若為是,執行步驟423),若為否,則執行步驟424); 423)LMC將多條消息排成隊列,并執行步驟424); 424)LMC檢測是否已經創建數據庫,若為是,執行步驟426),若為否,則執行步驟425); 425)創建一個數據庫,再將消息記錄到數據庫中; 426)直接將消息記錄到已創建的數據庫中。
【文檔編號】G06F11/34GK103870560SQ201410080882
【公開日】2014年6月18日 申請日期:2014年3月6日 優先權日:2014年3月6日
【發明者】趙亞萍 申請人:上海愛數軟件有限公司