系統運維監控的幾點建議

信仰聖光吧發表於2014-06-30

目前很多企業資訊化系統都有自己的監控平臺和監控手段,無論是採用哪種手段去實現對系統的實時監控和故障告警,大多采用的方式也只有兩種:集中式監控和分散式監控。本文根據自身公司監控存在的問題,總結了一些經驗並提出一些在監控平臺的建議,以供大家參考學習。

        為了更好、更有效的保障系統上線後的穩定的執行,對於伺服器的硬體資源、效能、頻寬、埠、程式、服務等都必須有一個可靠和可持續的監測機制,統計分析每天的各種資料,從而能及時反映出伺服器哪裡存在效能瓶頸、安全隱患等。另外是要有危機意識,就是了解伺服器有可能出現哪些嚴重的問題,出現這些問題後該如何去迅速處理。比如資料庫的資料丟失,日誌容量過大,被駭客入侵等等。

一、上線之前的準備工作

        1、首先是備份,做好定時備份策略,備份所有你認為重要的資料,並且定期檢查你的備份是否有效、全面;

        2、日誌輪換,無論你想用哪種輪換方式,控制日誌增長避免驅動器已滿是你的目的;

        3、做一定的安全措施,如防火牆iptables的訪問控制,用denyhosts防止駭客遠端暴力破解;

        4、mysql遠端登入許可權等等;

        5、最後就是伺服器、網元裝置的監控。

二、監控策略

        1、定義告警優先順序策略
        一般的監控到的結果是成功或者失敗,如Ping不通、訪問網頁出錯、連線不到Socket,發生時這些稱之為故障,故障是最優先的告警。除此之外,還能監控到返回的延時、內容等,如Ping返回的延時、訪問網頁的時間、訪問網頁取到的內容等。利用返回的結果可以自定義告警條件,如Ping監控的返回延時一般是10-30ms之間,當延時大於100ms時候,表示網路或者伺服器可能出現問題,引起網路響應慢,需要立即檢查是否流量過大或者伺服器CPU太高等問題。

        2、定義告警資訊內容標準
        當伺服器或應用發生故障時告警資訊內容非常多,如告警執行業務名稱、伺服器IP、監控的線路、監控的服務錯誤級別、出錯資訊、發生時間等。預先定義告警內容及標準使收到的告警內容具有規範性及可讀性。這點對於用簡訊接受告警內容特別有意義,簡訊內容最多是70個字元,要在70個字元完全知道故障內容比較困難,更需要預先定義內容規範。如:“影片直播伺服器10.0.211.65 在2012-10-18 13:00電信線路監控第到1次失敗”,清晰明瞭的知道故障資訊。

        3、透過郵件接收匯總報表
        每天收到一封網站伺服器監控的彙總報表郵件,花個兩三分鐘就大致瞭解網站和伺服器狀態。

        4、 集中監控和分散式監控相結合
        主動(集中)監控雖然能不需要安裝程式碼和程式,非常安全和方便,但缺少很多細緻的監控內容,如無法獲取硬碟大小、CPU的使用率、網路的流量等,這些監控內容非常有用,如CPU太高表示有網站或者程式出問題,流量太高表示可能被攻擊等。

        被動(分散式)監控常用的是SNMP(簡單網路管理協議),透過SNMP能監控到大部分你感興趣的內容。大部分作業系統支援SNMP,開通管理非常方便,也非常安全。SNMP缺點是比較佔用頻寬,會消耗一定的CPU和記憶體,在CPU太高和網路流量大情況下,無法有效進行監控。

        5、定義故障告警主次
        對於監控同一臺伺服器的服務,需要定義一個主要監控物件,當主要監控物件出現故障,只傳送主要監控物件的告警,其它次要的監控物件暫停監控和告警。例如用Ping來做主要監控物件,如果Ping不通出現Timeout,表示伺服器已經當機或者斷網,這時只傳送伺服器Ping告警持續監控Ping,因為再繼續監控和告警其它服務已經沒有必要。這樣能大大減少告警訊息數量,又讓監控更加合理、更加有效率。

        6、本地監控指令碼的規範化部署。對在本地部署的監控指令碼要進行統一規範的部署並記錄到KM系統。

        7、實現對常見性故障業務自我修復功能。
        實現對常見性故障業務自我修復功能指令碼進行統一部署並對修復後故障進行檢查告警檢查頻次不多於3次。

        8、對監控的業務系統進行分級。
        一級系統實現7*24小時告警,二級系統實現7*12小時告警,三級系統實現5*8小時告警。

        9、 監控範圍及目標。
        實現對負載均衡裝置、網路裝置、伺服器、儲存裝置、安全裝置、資料庫、中介軟體及應用軟體等IT資源的全面監控管理;同時自動收集、過濾、關聯和分析各種管理功能產生的故障事件,實現對故障的提前預警和快速定位;對網路和業務應用等IT資源的效能進行監控,定期提供效能報表和趨勢報表,為效能最佳化及未來系統擴容提供科學依據。

        通常情況下,我們可以將監控物件這麼來分:

        1.伺服器監控,主要監控伺服器如:CPU 負載、記憶體使用率、磁碟使用率、登陸使用者數、程式狀態、網路卡狀態等。

        2.應用程式監控,主要監控該應用程式的服務狀態,吞吐量和響應時間,因為不同應用需要監控的物件不同,這裡不一一列舉。

        3.資料庫監控,只所以把資料庫監控單獨列出來,足以說明它的重要性,一般監控資料庫狀態,資料庫表或者表空間的使用情況,是否有死鎖,錯誤日誌,效能資訊等等。

        4.網路監控,主要監控當前的網路狀況,網路流量等。

        以上四條應該算是最基本的,也是保證網站正常執行必須要知道的幾點內容,這樣才能實現我們常說的“運籌帷幄之中,決勝千里之外”。

(文章來源:暢享網)
 


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29714215/viewspace-1199928/,如需轉載,請註明出處,否則將追究法律責任。

相關文章