一種日誌管理方法及系統與流程
2023-12-04 04:17:16 1

技術領域
本發明屬於計算機軟體,尤其涉及一種日誌管理方法及系統。
背景技術:
隨著資訊時代的到來,即使是中小型公司每天產生的日誌數據量也能到數億這個級別,傳統的開源關係型資料庫無法支撐如此大量的日誌數據,如何高效收集、管理、分析日常各項業務產生的海量數據已經成為當前急需解決的問題。
現在沒有成套的日誌管理系統,只是簡單的把各個應用產生的日誌從應用的節點定期的搬遷到一個中心節點。然後又開發工程師或者數據工程師在中心節點使用腳本分析搜索日誌,非常不方便。搜索日誌由於沒有索引所以非常消耗時間,分析日誌由於需求變化巨大導致分析腳本的復用程度很低,每次分析都需要重新實現分析腳本,耗時耗力並且中心節點的承載能力是有極限的當日誌量超過中心節點的最大上限整個流程就無法工作,並且一旦中心節點出現單點故障就會造成數據丟失。
技術實現要素:
本發明所要解決的技術問題是旨在為開發工程師和數據工程師提供一個方便的日誌管理系統,可以對已結構化的數據進行搜索、統計分析,減少用腳本處理文本日誌的消耗,大幅提高工作的效率,適用於大量日誌管理。
為解決上述技術問題,本發明提供了一種日誌管理方法,其特徵是包括以下步驟:
進行日誌收集,將需求端產生的若干日誌收集;
進行日誌集中,並推送;
進行日誌預處理,所述日誌預處理的步驟包括格式整理, 數據過濾,及日誌分類,所述日誌分類,用於將日誌分為冷數據和熱數據;
進行日誌存儲,將冷數據存入分布式文件存儲系統,將熱數據存入分布式搜尋引擎;
進行日誌搬遷,將分布式搜尋引擎中冷卻的日誌搬遷到分布式文件存儲系統;
進行日誌檢索分析;
進行結果輸出。
進一步所述日誌分類是根據時間和/或訪問次數的閾值分為冷數據和熱數據。
進一步所述進行日誌檢索分析包括對日誌進行SQL解析的步驟。
本發明還提供一種日誌管理系統,其特徵是包括日誌分布式收集模塊,日誌集中傳輸模塊,日誌預處理模塊,分布式文件存儲系統,分布式搜尋引擎,日誌搬遷模塊,日誌檢索分析模塊;
所述日誌分布式收集模塊,用於將需求端產生的若干日誌收集;
所述日誌集中傳輸模塊,用於進行日誌集中,並推送;
所述日誌預處理模塊,用於進行日誌預處理,所述日誌預處理的步驟包括格式整理, 數據過濾,及日誌分類,所述日誌分類,用於將日誌分為冷數據和熱數據;
所述分布式文件存儲系統,用於存儲冷數據;
所述分布式搜尋引擎,用於存儲熱數據;
所述日誌搬遷模塊,用於將分布式搜尋引擎中冷卻的日誌搬遷到分布式文件存儲系統;
所述日誌檢索分析模塊,用於對日誌進行檢索分析。
優選地,所述日誌分布式收集模塊是開源的Logstash工具。
優選地,所述日誌集中傳輸模塊是開源的Apache Kafka集群。
優選地,所述分布式文件存儲系統是開源的Hadoop分布式文件系統。
優選地,所述分布式搜尋引擎是ElasticSearch工具。
優選地,所述日誌檢索分析模塊包括SQL解析模塊。
採用上述技術方案,可達到以下效果:
1.使用集群代替中心節點既可以保證擴容性也能避免單點故障造成的數據丟失;
2.日誌預處理模塊,格式整理提升日誌分析的效率,減少存儲日誌的成本, 髒數據清理防止分析過程中的解析錯誤,提升系統穩定性;日誌分類用於將日誌區分為冷數據和熱數據,使日誌的分析搜索更具有針對性;
3.所述日誌檢索分析模塊包括SQL解析模塊, SQL復用程度高,寫起來比較省時省力,而不用每次都寫一個統計、分析的腳本。
附圖說明
此處所說明的附圖用來提供對本發明的進一步理解,構成本申請的一部分,本發明的示意性實施例及其說明用於解釋本發明,並不構成對本發明的不當限定。在附圖中:
圖1示出了一種日誌管理方法的流程示意圖;
圖2示出了一種日誌管理系統的結構框圖。
具體實施方式
下面結合附圖和具體實施方式對本發明的技術方案作進一步具體說明。
為解決上述技術問題,本發明提供了一種日誌管理方法,如圖1所示,
圖1示出了一種日誌管理方法的流程示意圖,其特徵是包括以下步驟:
(1)進行日誌收集,將需求端產生的若干日誌收集,用開源的Logstash工具收集若干個應用節點產生的若干日誌;
(2)將上述步驟收集的若干日誌進行日誌集中,優先用開源的Apache Kafka集群進行日誌集中,並推送到日誌預處理模塊;
(3)將上述集中的數據接收後,進行日誌預處理,所述日誌預處理的步驟包括格式整理, 數據過濾,及日誌分類,所述日誌分類,用於將日誌區分為冷數據和熱數據,使日誌的分析搜索更具有針對性;
(4)進行日誌存儲,包括將冷數據存入分布式文件存儲系統,優選地,所述分布式文件存儲系統是開源的Hadoop分布式文件系統;還包括將熱數據存入分布式搜尋引擎,優選地,所述分布式搜尋引擎是ElasticSearch工具;上述冷數據和熱數據是根據時間和/或訪問次數的閾值劃分的;
(5)進行日誌搬遷,將分布式搜尋引擎中冷卻的日誌搬遷到分布式文件存儲系統;
(6)進行日誌檢索分析,包括日誌檢索和日誌分析,日誌分析提供SQL解析功能;
(7)對分析/檢索結果輸出。
為解決上述技術問題,本發明提供了一種日誌管理系統,如圖2示,
圖2出了一種日誌管理方法的結構示意圖,其特徵是包括:
日誌分布式收集模塊,日誌集中傳輸模塊,日誌預處理模塊,分布式文件存儲系統,分布式搜尋引擎,日誌搬遷模塊,日誌檢索分析模塊;
所述日誌分布式收集模塊,用於將需求端產生的若干日誌收集,優選地,所述日誌分布式收集模塊是開源的Logstash工具;
所述日誌集中傳輸模塊,用於進行日誌集中,並推送,優選地,所述日誌集中傳輸模塊是開源的Apache Kafka集群;
所述日誌預處理模塊,用於進行日誌預處理,所述日誌預處理的步驟包括格式整理, 數據過濾,及日誌分類,所述日誌分類,用於將日誌分為冷數據和熱數據;
所述分布式文件存儲系統,用於存儲冷數據,所述分布式文件存儲系統是開源的Hadoop分布式文件系統;
所述分布式搜尋引擎,用於存儲熱數據,優選地,所述分布式搜尋引擎是ElasticSearch工具;
所述日誌搬遷模塊,用於將分布式搜尋引擎中冷卻的日誌搬遷到分布式文件存儲系統;
所述日誌檢索分析模塊,用於對日誌進行檢索分析,優選地,所述日誌檢索分析模塊包括SQL解析模塊。
本領域技術人員還應當理解,以上所述僅為本發明的優選實施例而已,並不用於限制本發明,對於本領域的技術人員來說,本發明可以有各種更改和變化。凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護範圍之內。