天天看點

日志系統重構之多源聚合的采集器 重構之前 重構之後 總結

最近對日志系統的采集機制進行了重構,增強了對單一主機上多個日志源采集的便捷性。

重構之前的設計以日志類型為中心,一個日志類型對應一個獨立的flume的配置模闆,一個日志類型的一個日志源(具體到某個節點上特定的日志檔案)對應一個flume配置檔案(也即一個flume agent)。flume配置模闆主要針對這個日志類型的<code>日志檔案名稱</code>、<code>是否存在多行日志</code>、<code>日志首字元</code>、<code>目标接收方有關的配置</code>等固定屬性。光靠這些配置還不夠,因為這些日志類型所對應的日志會存在于各個具體的主機節點以及可能不同的檔案系統路徑下,是以針對某個日志類型的日志源還需要配置<code>日志檔案路徑</code>、<code>日志檔案名稱的模式</code>、<code>采集器中繼資料存儲路徑</code>等動态屬性。

這裡管控台的設計完全沒有按照flume裡<code>source</code>、<code>channel</code>、<code>sink</code>區分開來。<code>sink</code>的配置是混合在flume配置模闆裡。

管控台的功能邏輯圖:

重構前zk Path設計:

重構前采集器的實體部署圖:

采集源模闆

采集器

采集源

采集槽

重構之後管控台的功能邏輯圖:

重構後的zk path設計:

重構後的實體部署圖:

其實不難看出,管控台的功能邏輯以生成flume配置檔案為目标。是以設計的變更主要展現在管控台如何組織和管理這些中繼資料資訊。

原文釋出時間為:2016-02-10

本文作者:vinoYang