1. 程式人生 > >輕量級流式日誌計算分析plog+(zabbix+grafana)

輕量級流式日誌計算分析plog+(zabbix+grafana)

python 流日誌分析 plog

plog是一個用python寫的流式計算分析框架,適用於輕量級流式數據的分析場景,大數據場景下大家自然想到使用spark等方案。

拿當前的業務場景看,需要對機器上nginx的流日誌進行狀態碼、響應時間、QPS的實時分析,通過zabbix展現在grafana裏,QPS在1000以內。傳統方法是用shell腳本來計算各種數據,然後通過主動或被動模式傳到zabbix裏,此種方法有很大局限性,一是grep或awk過濾日誌時,很難控制好過濾的數量,過濾的多了嚴重影響性能,可能上一個數據都沒計算出來,這一次的計算又得開始了,二是過濾的少了可能丟日誌,三是不好控制計算推送周期,總結一句話就是不科學。對於這種數據量不大的流式數據,plog恰巧能解決所有問題,采用流式分析,對數據進行實時計算,通過編寫zabbix的sink插件,將計算結果用zabbix_sender推到zabbix。

默認的channel模塊支持正則和grok正則的方式匹配,由於日誌的復雜性,重新編寫了用split分割符的插件進行處理,目前對2xx、3xx、4xx、5xx、qps、request_time、404、499、500、502、504進行了流式監控,詳細介紹一下配置部署二開過程。

傳統shell處理方式詳見之前博客:zabbix_sender主動上傳k/v監控nginx日誌狀態碼

瀏覽全部請點擊運維網咖社地址:輕量級流式日誌計算分析plog+(zabbix+grafana)

本文出自 “奔跑的linux” 博客,請務必保留此出處http://benpaozhe.blog.51cto.com/10239098/1926943

輕量級流式日誌計算分析plog+(zabbix+grafana)