系統運維秘訣:變化,監控,擴展(技術篇)(2) |
發布時間: 2012/5/28 10:18:54 |
監控正確的東西 ◆監控你能監控的所有東西,而且要用正確的方法來進行監控。如果你的NFS服務器掛掉了,不要讓你的監控工具發送1000條警報。如果對你的系統來說,超時的警報沒有什么實際意義,那就別讓它發。要針對各種具體的情況進行成功性測試:是的,這個服務可以進行一個新的TCP連接,它甚至可以響應,但是它還記得它要做什么工作嗎? ◆如果你有500個Web服務器,其中一個掛掉了,你可能不必馬上知道這個情況。但是,如果負載均衡器沒有把這臺機子踢出去,導致錯誤報告出現在了用戶的屏幕上,那么你必須知道這個情況! 有關數據圖形化,歷史數據 ◆圖形的作用是讓趨勢可視化。歷史數據的作用是讓你對數據進行精確的分析。不要把這兩者混為一談!對圖形進行目測,很容易獲得錯誤的數值。許多站點都使用rrd類型的系統或其他的數據聚合系統,此類系統按照時間對數據進行平均化處理,然后保存在存儲空間中。這不僅僅是難以閱讀的問題:這根本是錯誤的! ◆如果你要瀏覽數百張圖才能精確地對一個問題進行定位,那真是糟透了。想要找出極值?請使用腳本提取數據。 ◆如果你必須使用圖形來解決問題,盡量把各種高級的概念整合到一個單一的頁面中,然后讓這個頁面鏈接到擁有具體信息的子頁面中。如果你在數據庫負載中可以看到一個峰值,你可以點擊這個頁面對那些數據庫進行概覽,然后找到那一兩臺可疑的機器。基本的理念是盡快地縮小范圍,盡可能的減少猜測。 日志記錄,使用多個數據流 ◆無論是獨立工作還是與開發部門合作,都要把盡可能多的有用的信息記錄到日志中。無論是分析之后再保存,還是直接扔進數據庫中生成報告,這些都無所謂。信息終歸是有用的。 ◆有用的例子:頁面呈現時間(哪個頁面?哪個設備?),面向用戶的錯誤,數據庫和內部服務錯誤,帶寬使用率等。 ◆建立圖表,報告,并對產生的歷史數據進行比較。 ◆報告是十分重要的。每周或每天對你的基礎設施變更進行匯總。 數據存儲方式,數據庫 ◆誠然,數據庫運維是一套完整而獨立的知識體系。但是有時,你不能把一切都丟給你的DBA。 ◆擁有多個冗余的數據庫會給你帶來很多好處。對于一個龐大的Oracle實例來說,從前,很多運維工作需要好幾個小時的關機維護時間;而現在,完全可以在服務運行的同時進行。MySQL和數據庫復制功能是一件奇妙的事情。 ◆和DBA們一起努力,盡量為可能會發生問題的數據庫爭取到最好的硬件。RAID 10,大量的RAM,高速硬盤,乃至于強悍的RAM磁盤和SSD。運維人員對提供商要貨比三家,這樣可以減輕DBA對硬件的恐懼。從長遠來看,找出哪個品牌的硬件更加優秀會節省大量的資金。 ◆數據庫配置一直在改變。現在出現了HiveDB,MySQL Proxy,DPM這些軟件。我們絕對應該對巨大的數據集進行分割。我們也可以考慮一下像starling和Gearman這樣具有一定創新性的軟件。了解一下這些軟件的用途,同時,了解一下并不是一切東西都要保存在一個數據庫中的。 ◆善用你的過濾器!如果這些數據很重要,應該對它們進行備份!單片的NFS服務器的快照很奇妙,它并不是一個備份! ◆可以慮一下替代的解決方案。MogileFS現在變得越來越好了(參考閱讀:分布式文件系統試用比較)。實際上,還有其他類似的項目可以免費(或廉價)地維護大量的存儲文件。類似的系統基本上都是是為youtube.com、archive.org等站點而開發的。我們最終會讓廉價的NFS過濾器成為標準!
本文出自:億恩科技【www.vbseamall.com】 |