一種日志采集方法及系統的制作方法
【技術領域】
[0001]本發明涉及日志處理相關技術領域,特別是一種日志采集方法及系統。
【背景技術】
[0002]現有的日志文件的采集方法,主要是應用將所生成的日志文件保存在一個預設路徑中,然后數據接收端自行從路徑中獲取。一般的日志采集系統會通過web界面提供各種可選的數據類型和需要傳輸的路徑,用戶根據需要選擇指定數據類型通過指定的傳輸路徑到達指定的數據接收端,所有的配置好以后數據才能通過指定的路徑傳輸到指定的數據接收端。
[0003]然而,現有技術方案需要通過人工手動配置數據傳輸的路徑和數據接收終端,如果新增一種數據類型的傳輸又需要手動去干預,另外對于通過自動擴容或者彈性規則(生成的數據也不能正確的進行采集和傳輸。
【發明內容】
[0004]基于此,有必要針對現有技術對日志文件的采集不便,需要人工干預的技術問題,提供一種日志采集方法及系統。
[0005]一種日志采集方法,包括:
[0006]日志文件獲取步驟,包括:獲取應用按照預設目錄規則所保存的日志文件,所述目錄規則根據應用的應用參數和接收器標識確定日志文件的保存目錄;
[0007]解釋步驟,包括:對所述日志文件根據所述目錄規則進行解釋確定所述日志文件的應用參數和接收器標識;
[0008]查找步驟,包括:根據所述接收器標識查找接收器在啟動時所注冊與接收器標識關聯的接收器地址;
[0009]轉發步驟,包括:將所述日志文件發送到所述接收器地址。
[0010]一種日志采集系統,包括:
[0011 ]日志文件獲取模塊,用于:獲取應用按照預設目錄規則所保存的日志文件,所述目錄規則根據應用的應用參數和接收器標識確定日志文件的保存目錄;
[0012]解釋模塊,用于:對所述日志文件根據所述目錄規則進行解釋確定所述日志文件的應用參數和接收器標識;
[0013]查找模塊,用于:根據所述接收器標識查找接收器在啟動時所注冊與接收器標識關聯的接收器地址;
[0014]轉發模塊,用于:將所述日志文件發送到所述接收器地址。
[0015]本發明將日志文件按照預設規則保存,則在獲取日志文件時能夠根據目錄規則解釋出相應的應用參數和接收器標識,從而進行準確的采集、轉發和接收。本發明整個過程無需人工干預,日志文件的采集靈活方便。
【附圖說明】
[0016]圖1為本發明一種日志采集方法的工作流程圖;
[0017]圖2為本發明最佳實施例的系統架構圖;
[0018]圖3為本發明最佳實施例的工作流程圖;
[0019]圖4為本發明一種日志采集系統的結構模塊圖。
【具體實施方式】
[0020]下面結合附圖和具體實施例對本發明做進一步詳細的說明。
[0021]如圖1所示為本發明一種日志采集方法的工作流程圖,包括:
[0022]步驟S101,包括:獲取應用按照預設目錄規則所保存的日志文件,所述目錄規則根據應用的應用參數和接收器標識確定日志文件的保存目錄;
[0023]步驟S102,包括:對所述日志文件根據所述目錄規則進行解釋確定所述日志文件的應用參數和接收器標識;
[0024]步驟S103,包括:根據所述接收器標識查找接收器在啟動時所注冊與接收器標識關聯的接收器地址;
[0025]步驟S104,包括:將所述日志文件發送到所述接收器地址。
[0026]步驟SlOl中,應用程序(簡稱:應用)按照預設的目錄規則保存日志文件,由于目錄規則是根據應用參數和接收器標識所確定的,因此,在步驟S102中,就可以采用相同的目錄規則,根據日志文件所保存的目錄解釋出應用參數和接收器標識。
[0027]步驟S103接收器在啟動時預先將接收器地址和接收器標識進行注冊,使得在步驟S104中能夠將日志文件準確地轉發到接收器。接收器地址一般為網絡地址,例如IP (Internet Protocol)地址等。
[0028]本發明采用目錄規則確定日志文件,并完善整個日志文件的獲取流程,從而對日志文件進行準確的采集、轉發和接收。本發明整個過程無需人工干預,日志文件的采集靈活方便。
[0029]在其中一個實施例中,所述應用參數包括:應用名稱和數據類型。
[0030]應用名稱用于標識應用,另外,由于同一個應用可以采用不同的接收器以接收不同的數據類型,因此對于不同的數據類型也應該進行標識,以便不同的接收器(也可以是相同的接收器)獲取相應類型的日志文件。
[0031 ] 在其中一個實施例中,所述目錄規則在預先規定的基準目錄后按照預設格式確定保存目錄,所述格式依次為:基準目錄、目錄分隔符、應用名稱、目錄分隔符、數據類型、目錄分隔符、接收器標示、目錄分隔符。
[0032]作為一個例子,基準目錄為'/export/logs/”,目錄分隔符為“/”,應用名稱是appnamel,數據類型是datatypel,接收器標示有idl和id2,日志文件名稱是file, log,那么最終應用生成的日志文件的全路徑是:/export/logs/appnamel/datatypel/idl_id2/file, log
[0033]在其中一個實施例中:
[0034]所述步驟SlOl,具體包括:
[0035]日志采集客戶端獲取應用按照預設目錄規則所保存的日志文件,所述目錄規則根據應用的應用參數和接收器標識確定日志文件的保存目錄;
[0036]所述步驟S102,具體包括:
[0037]日志采集客戶端對所述日志文件根據所述目錄規則進行解釋確定所述日志文件的應用參數和接收器標識,并將所述日志文件的應用參數和接收器標識關聯發送到管理中心;
[0038]所述步驟S103,具體包括:
[0039]管理中心根據所述接收器標識查找接收器在啟動時在所述管理轉發中心所注冊與接收器標識關聯的接收器地址,并將所述接收器標識、接收器地址和對應的應用參數關聯后發送到轉發中心,所述轉發中心將接收器標識、接收器地址和對應的應用參數關聯保存;
[0040]所述步驟S104,具體包括:
[0041]日志采集客戶端將所述日志文件和應用參數發送到轉發中心,轉發中心根據獲取與應用參數關聯的接收器地址,根據接收器地址將所述日志文件發送到接收器。
[0042]其中,管理中心和轉發中心可以是同一設備也可以是不同設備。
[0043]如圖2所示為本發明最佳實施例的系統架構圖,包括:日志采集客戶端201、管理中心202、轉發中心203和接收器204。
[0044]如圖3所示為本發明最佳實施例的工作流程圖,包括:
[0045]步驟S301,給所有生成日志數據的應用規定了基準目錄(如/export/logs/),每一個應用按照規定的目錄生成對應的日志文件,生成的具體格式是:基準目錄+應用名稱+數據類型+接收器標示+日志文件名稱,接收器標示可以有多個,使用下劃線(_)進行分隔。例如應用名稱是appnamel,數據類型是datatypel,接收器標示有idl和id2,日志文件名稱是file, log,那么最終應用生成的日志文件的全路徑是:
[0046]/export/logs/appnamel/datatypel/idl_id2/file.log。
[0047]步驟S302,接收器啟動時自動注冊自己的地址(ip)和標示(id)到管理中心;
[0048]步驟S303,日志采集的客戶端以基準目錄(/export/logs/)以后開始解析目錄結構來確定日志的應用名稱、數據類型和傳輸路徑(最終到達的目的地,即接收器地址);
[0049]步驟S304,日志采集客戶端解析完應用名稱、數據類型等信息以后,就開始調用管理中心api在管理中心注冊相應的應用名稱和數據類型,并且也采用接收器標識注冊這個應用名稱和數據類型具體到哪些接收器;
[0050]步驟S305,管理中心根據接收到的注冊信息生產相應的應用和數據類型的采集和轉發信息,并且將轉發信息推送給轉發中心,那么日志采集客戶端發送數據到轉發中心以后,轉發中心就根據轉發信息將數據轉發到相應的接收器;
[0051 ] 步驟S306,接收器最終接收到日志數據,完成了這個日志采集、轉發和接收的自動化處理。
[0052]在其中一個實施例中,所述步驟S103具體包括:
[0053]管理中心根據所述接收器標識查找接收器在啟動時在所述管理轉發中心所注冊與接收器標識關聯的接收器地址;
[0054]對應用參數和接收器標識進行檢查:
[0055]如果接收器標識在管理中心中未關聯應用參數,則將所述接收器標識、接收器地址和對應的應用參數關聯后發送到轉發中心,所述轉發中心將接收器標識、接收器地址和對應的應用參數關聯保存;
[0056]如果接收器標識在管理中心中已關聯應用參數,則將管理中心中與接收器標識關聯的應用參數作為舊應用參數,將從日志采集客戶端獲取的應用參數作為新應用參數,如果舊應用參數與新應用參數不一致,則將舊應用參數更新為新應用參數,將所述接收器標識、接收器地址和對應的應用參數關聯后發送到轉發中心,所述轉發中心將接收器標識、接收器地址和對應的應用參數關聯保存,否則,如果舊應用參數與新應用參數一致,則結束。
[0057]采用本方案以后,因為所有的日志文件生成都是根據固定的目錄規則生成,那么日志采集客戶端通過定期自動掃描日志生成的目錄和按照規則進行解析,解析以后把相應信息通過接口調用傳輸到管理中心,同樣的管理中心就可以通知轉發中心數據根據需要進行轉發。
[0058]應用可以在日志文件采集過程中生成新的數據類型,對于新的數據類型,將在新的目錄中保存,日志采集客戶端獲取到日志文件后重新解釋后則能自動確定新的數據類型,并在管理中心中進行更新。
[0059]如圖4所示為本發明一種日志采集系統的結構模塊圖,包括: