電商總結(二)日誌與監控系統的解決方案

  前一篇文章聊到了小型電商網站的系統架構,而後有朋友問我,裏面的日誌與監控指的是啥,因此,今天就來聊聊這個問題。web

 

  監控系統主要用於服務器集羣的資源和性能監控以及應用異常和性能監控,日誌管理等多維度的性能監控分析。一個完善的監控系統和日誌系統對於一個系統的重要性沒必要我多說,總而言之就一句話,只有實時瞭解各系統的狀態,才能保證各系統的穩定。sql

   

  如上圖所示,監控平臺監控的範圍很廣,服務器性能及資源,還有應用系統的監控。每一個公司都有特定的平臺統一監控的需求及解決方案,可是監控平臺的任務和做用基本是一致的。數據庫

 

  一,日誌api

  日誌是監視程序運行的一種重要的方式,主要有兩個目的:1.bug的及時發現和定位,2.顯示程序運行狀態。正確詳細的日誌記錄可以快速的定位問題。一樣,經過查看日誌,能夠看出程序正在作什麼,是否是按預期的設計在執行,因此記錄下程序的運行狀態是必要的。這裏將日誌分爲兩種:1.異常日誌,2.運行日誌。緩存

  咱們主要是使用log4net,將各個系統的日誌,持久化記錄到數據庫或者文件中,以方便後續的系統異常監控和性能分析。如何集成log4net,這裏再也不說明。安全

  日誌記錄的幾個原則:服務器

    1. 區分日誌級別必定要區分清楚,哪些屬於error,warning,info,等,網絡

    2. 記錄錯誤的位置,若是是分層系統,必定要在某個層統一處理,例如,咱們的mvc架構,都是在各個action中catch異常,並處理,業務層和數據庫層這些地方的異常,都是catch到異常後,往上一層拋。架構

    3. 日誌信息清晰準確有意義,日誌儘可能詳細點,以方便處理。應該記錄相關係統,模塊,時間,操做人,堆棧信息等。方便後續處理。mvc

 

  二,監控

  監控系統是一個複雜的系統平臺,目前有不少的開源產品和平臺。不過咱們平臺小,監控任務和需求少,因此基本都是本身開發,主要有這五個方面:1.系統資源,2.服務器,3.服務,4.應用異常,5.應用性能。

  具體的架構圖以下:

  

  1,系統資源監控

    監控各類網絡參數和各服務器相關資源(cpu,內存,磁盤讀寫,網絡,訪問請求等),保證服務器系統的安全運營;並提供異常通知機制以讓系統管理員快速定位/解決存在的各類問題。目前比較流行的應該是zabbix。

 

  2,服務器監控

    服務器的監控,主要是監控各個服務器,網絡節點,網關,等網絡設備,的請求響應是否正常。

    經過定時服務,定時去ping各個網絡節點設備,以確認各網絡設備是否正常,,若是哪一個網絡設備出現異常,則發出消息提醒。

 

  3,服務監控

    服務監控,指的是各個web服務,圖片服務,搜索引擎服務,緩存服務等平臺系統的各項服務是否正常運行,

    能夠經過定時服務,每隔一段時間,就去請求相關的服務,確保平臺的各項服務正常運行。

 

  4,應用異常監控

    目前咱們平臺的全部系統的異常記錄,都記錄在數據庫中。經過定時服務,統計分析一段時間以內的異常記錄。若是發現有相關重要的模塊的系統異常,好比支付,下單模塊,頻繁發生異常,則當即通知相關人員處理,確保服務正常運行。

 

  5,應用性能監控

    在api接口和各應用的相關位置進行攔截和記錄下程序性能(sql性能,或是 程序執行效率)。相關重要模塊提供性能預警,提早發現問題。 同時統計相關監控信息並顯示給開發的人員,以方便後續的性能分析。

相關文章
相關標籤/搜索