天天看點

系統運維監控的幾點建議

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

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

一、上線之前的準備工作

        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.資料庫監控,隻是以把資料庫監控單獨列出來,足以說明它的重要性,一般監控資料庫狀态,資料庫表或者表空間的使用情況,是否有死鎖,錯誤日志,性能資訊等等。

繼續閱讀