大家好,我是章魚貓。
今天給大家推薦的這個開源專案,非常好。
這個開源專案就是:wLogger 。
它是一款集合日誌採集,日誌解析持久化儲存,web 流量實時監控的開源專案。
wLogger 是一款集合 日誌採集,日誌解析持久化儲存,web 流量實時監控 。三位一體的 web 服務流量監控應用。三大功能模組均可獨立部署啟用互不干擾。目前已內建 nginx 和 apache 的日誌解析儲存器,簡單配置一下,開箱即用。雖然市面上已經很多類似的開源日誌採集監控服務比如 goaccess,用了一圈之後始終沒有一款用的特別舒心。
它可以在日誌採集的時候可以按照日誌檔案的大小,或者在指定時間內自動對日誌進行切割日誌,儲存到指定的目錄 (已測 2W 併發切割日誌不丟資料)它可以不用像 goaccess 那樣必須配置指定格式才能解析到資料,只用指定當前使用的 nginx/apache 日誌格式名稱 即可解析資料它可以指定不同的專案走不同的佇列服務,分別解析儲存到不同的資料庫,完全可以自己按需靈活配置它天然支援分散式,日誌採集服務佇列已內建 redis LIST 結構,可執行拓展 kafka ,mq 等其它佇列服務它支援自定義持久化儲存引擎,日誌解析持久化儲存服務已內建 mongodb 和 mysql , 可執行拓展其它資料庫簡單配置,開箱即用,無入侵,高拓展,靈活配置,按需應用執行環境:python3+ linux 平臺功能說明
採集器 inputer
實時日誌採集,同時支援多個 web 日誌同時採集可指定按照日誌檔案大小或指定時間,自動切割檔案到指定目錄,(日誌切割不丟資料.)可自定義佇列服務軟體,接受採集的日誌資訊。已內建 redis 如需 kafka 等其它 mq 佇列可自行拓展極低的 cpu 記憶體佔用,低配小主機也能愉快的玩耍解析儲存器 outputer
實時解析日誌並存儲到指定的資料庫,已內建 mysql 和 mongodb 如需使用 elastic 全家桶或其它儲存引擎 可自行拓展采集器,解析器,web 服務均可 獨立分佈到不同的伺服器節點上執行目前已內建 nginx,apache 解析器,可隨意指定日誌格式,只需在配置檔案裡面指定格式名稱即可正確解析並存儲支援按日期天,周,月,年。自動分表或集合儲存日誌支援指定工作程序來快速消費佇列資料,大流量也能實時解析並存儲日誌,虛擬機器中 ab 實測 2W 併發延遲小於 1 秒注:當海量流量來的時候發現解析儲存延遲過高的情況,可將解析器部署到叢集中其它多個節點同時消費佇列資料,提升解析儲存效率web 服務 web
已內建大屏監控 web 面板,流量情況一目瞭然同時支援 mysql 或者 mongodb 作為 資料來源您也可以從資料庫中取資料自己定義流量監控的 UI 介面和資料展現方式;
大屏實時監控效果圖 本人顯示器太小,截圖略顯擁擠;
開源專案地址:https://github.com/jyolo/wLogger