線上應用日誌有神馬用?DEBUG?

應用上線後,日誌漲的很快,沒有監控的時候,一不留神,用戶投訴:應用是不是掛了?服務器一看:#df -h,磁盤空間滿了。趕快清理了,# >xxx.log,重啟應用好了。

後來加了磁盤空間監控,自動清理腳本,保留30天日誌,這種問題就避免了。

#find 。./logs/ -mtime +7 -name "*.log" -exec rm -rf {} \\;

幹得久了,做得應用越來越多,日誌也越來越多,難道日誌只是用來核查bug嗎?

其實日誌很有用,只是我們的打開方式得調整一下,也就是說我們從一開始就不能隨便debug,而要按照某種約定去debug。

線上應用日誌有神馬用?DEBUG?


在PC時代,網站分析還很流行,像百度統計,google analysis等。只要在自己的網站增加一段js代碼,即可統計網站的流量情況,用戶點擊圖,用戶來源國家,訪問終端等等。起初覺得好神奇,後來發現他們的原理竟然是日誌。那段神奇的js收集用戶的主機信息,瀏覽器信息,網頁信息,用戶操作信息等,按某種格式,悄悄的發送到服務器,記錄到應用訪問日誌中。然後從這些格式化的日誌中,統計相關信息,提供給各網站站長。站長根據日誌統計信息,可以調整頁面佈局,內容重點等。這是很重要的一條反饋神經。可惜PC時代過去了,現在已經進入移動互聯網時代,用戶信息越來越難獲取。

每個應用幾乎都要用到數據庫,而數據庫存放是格式化的數據。人們從數據庫的日誌文件中,mysql的binlog,oracle的redolog,讀來做數據庫同步,離線統計分析等。尤其是分佈式環境下更是這樣。分佈式環境下,日誌系統必須出生時就帶著。方便統一監控,方便管理,方便監控。

ELK套件為我們收集日誌,清洗日誌,展示日誌提供了方便的工具,真正的開箱即用。

ELK 不是一款軟件,而是 Elasticsearch、Logstash 和 Kibana 三種軟件產品的首字母縮寫。這三者都是開源軟件,通常配合使用,而且又先後歸於 Elastic.co 公司名下,所以被簡稱為 ELK。


線上應用日誌有神馬用?DEBUG?


線上應用日誌有神馬用?DEBUG?


分享到:


相關文章: