容量規劃
有效的監控能夠避免絕大多數問題的擴大化,但是還是做不到防患于未然。監控告警機制完善后,就需要著手考慮容量規劃(Capacity Planning)的問題。
所謂的容量規劃,也就是一個公司為了滿足商業目標的需求而決定生產能力的過程。俗語說,”人無遠慮,必有近憂”,容量規劃,需要的是”遠慮”。對應到運維的工作上來,一方面是商業目標帶來的容量需求,一方面是針對相關歷史數據的分析帶來的預測。這里的歷史數據,是需要運維團隊采集、整理的。(從這個角度上說),容量規劃是一個長期的過程。
相關的數據保存和圖表生成,基本上都會采用 RRDtool (http://oss.oetiker.ch/rrdtool/)來做。 RRDtool 也已經是業界的事實上的標準,但畢竟 RRDtool 只能算是一套引擎。而規模化的數據管理工作則需要求助其它工具,則不能不提 Cacti (http://www.cacti.net/)這是現在相當通用的做法。老牌的 MRTG 已經很少有人用了。
利用 Cacti,很容易得到一段時間內某項數據指標的變化趨勢(比如網絡流量的增長趨勢、服務器負載的趨勢等)。這是運維過程中最主要的參考數據之一,缺乏此類數據而做決策是不可想象的。
如上圖,可以發現被監控的服務器上進程數量半年內的增長趨勢,在 2 月份間的進程數并不高(春節期間),隨后的幾個月突破 4000 個進程,對于普通的服務器來說,這是比較危險的。盡管當前系統運行可能比較平穩,但運維技術人員絕對有必要考慮中期解決方案。
容量規劃中的另外一個重要參考維度是 Web 訪問日志的趨勢圖。對于中小網站來說,Awstats 足以勝任,更大一點的規模或是對統計要求更高的站點或許只能自己寫統計工具了,還沒聽說有什么針對大型網站而且性價比好的商業工具。這里筆者要強調一下的是,商業站點盡量不要用第三方的流量統計工具,這樣很容易泄漏比較關鍵的商業信息。
補充后記
容量規劃其實遠遠不止這些,比如應用服務器容量規劃方面、數據庫容量規劃,主機容量規劃、存儲容量規劃等等,把整個架構拆成各個組件,每個組件的容量規劃都是值得大書特書的一塊內容。
另外一個關鍵點是團隊的”容量規劃”,團隊成長這一方面如果跟不上也很容易成為瓶頸。