1. 程式人生 > >關於系統的日誌管理

關於系統的日誌管理

等我 有一點 呵呵 結合 記錄日誌 控制 以及 直接 一個

記錄日誌對於一個系統的重要性我就不廢話了,直入正題吧!~

先說說日誌的管理大致上分為以下幾個方面吧:

1. 單個文件的大小要控制

2. 日誌要便於瀏覽

3. 日誌的安全性要得到保障

4. 日誌要定期清理

每個開發人員對日誌的收集,都是非常熟悉的,基本都是將日誌按照日期的方式進行保存。

因為大家都是通過日期方式保存的,但是因為有的人不重視日誌,經常會看到有的系統單個日誌文件上百M,有的甚至是幾G,而實際大家處理問題關註的都是最近的日誌,所以控制單個日誌文件的大小,對日誌的性能以及後期的運維都是非常便利的。

日誌文件小才便於瀏覽,日誌最好能通過網址直接訪問到,而不需要一波三折登錄服務器,花10分鐘下載下來,再來分析。

日誌內容有時會包含敏感信息,特別是error日誌,直接把系統的具體錯誤拋出來,所以日誌除了查看方便,還需要確保日誌文件的安全。如果是日誌文件是html或者txt,請一定記得把你的日誌文件權限修改下,特定用戶才能訪問,不要隨便開放,所有人都能訪問。

日誌是非常占用存儲的空間,日誌太大對存儲的性能也有一定的影響,所有日誌要定期進行清理。

  • 空間充足可以保留半年
  • 空間不足最少也要保留3個月

當然,這個也不是一定的,根據每個系統的情況去制定清理計劃就可以了。

還有一點大家一定要記得哦:日誌的等級一定要規範

比如:

debug 就是記錄的調試信息

info 用來收集或者記錄自己想要關註的信息,我以前就是經常作為調試用我也沒有辦法啊

warn 記錄警告信息,這個我倒是沒怎麽用過(沒用過),建議以後還是用吧。

error 記錄錯誤信息

規範了日誌記錄之後方便我們查詢,比如一個每日百十萬條記錄的系統,如果日誌記錄的沒有規範,那麽等我們需要查閱的時候就只能呵呵了。。。

最後給大家推薦兩款工具:

1、Elasticsearch——一個基於lucene的搜索引擎工具,解決日誌的搜索問題。當然,也能解決系統的搜索問題,而且是分布式的哦。

2、Kibana——一個可視化的日誌操作引擎,結合Elasticsearch可以達到更好的效果。

可能開發人員對日誌的需求相對而言簡單一點,但是處理不當也是會面臨嚴峻挑戰的。如果要根據某些關鍵字找日誌,沒有一個靠譜的系統處理,那麽就只能一直用ctrl+f 來回查找自己需要的信息,使用過的人都知道,這絕對是一個很差勁的體驗,那麽——就試試上邊說的兩個工具吧。

關於系統的日誌管理