日志伺服器設計(草稿)
我的想方式實作一個log伺服器,然後把所有日志推向這個伺服器。
同時相容現有的
rsyslog
log4j, log4cpp...
可以通過tcp/udp/和管道,向日志伺服器抛日志。
日志伺服器,采用多線程處理,然後放入列隊。另一個程序從列隊取日志,然後進行過濾,通過特征庫比對。
例如: 放行,抛棄,報警(通過email和手機短信)
放行資料将通過存儲引擎,進行日志儲存,可以進入資料庫,檔案。如果是檔案通過gzip管道流,在做日志切割。
用戶端
用戶端是一個控制台可以實時看到列隊中的最新資訊,并滾動顯示。與tail -f 原理類似,同時可以通過正則篩選資料。
還可以生成報表。等等。。
請看下圖,先寫到這裡。