服務器告警機制配置技巧 避免草木皆兵
現在的服務器都配置了成堆的傳感器,一旦任何傳感器發生狀況都會發出告警,令人頭昏目眩。但是管理員必須盡早知道:服務器監控工具產生的告警不一定都重要。如果服務器動輒發出警報,那你會在短時間內被迫接收大量信息,其中真正重要的信息可能會被淹沒。本文的目的就是幫助管理員認清哪些服務器告警是重要的,管理員需要服務器監控工具怎樣正確提供警報。
配置告警機制的技巧
在開始之前,我想先指出一點:配置告警并沒有絕對正確或錯誤的方法。本文中的建議主要基于我二十年的IT經驗,但它們終歸是我個人的偏好。所以,雖然希望你們能從我的建議中獲取好處,但我更建議每個管理員配置服務器告警時,盡量緊貼與自己公司的特定要求。
另一點我要指出的是:管理員可以用很多方法讓服務器產生告警。有的服務器可以在硬件級產生告警,這雖然很有用,但還遠遠達不到作為獨當一面的告警機制的要求。服務器供應商提供的服務器監控工具有大量信息,作為操作系統級的服務器監控工具,比如微軟的System Center Operations Manager。因為監控工具的選擇很多,我會普遍地講一講,而不是單獨講某個特定的工具。
為服務器告警機制配置優先級
想讓服務器監控變得有效,關鍵在于對監控工具的告警機制進行優先級配置。我推薦把告警分為高級、中級、低級三種。
我通常把優先級高的告警定義成最最關鍵的事務。比如,服務器磁盤空間全部耗盡就是一個關鍵事件,同樣一個群集化應用服務器出現故障也會釀成大禍。
中級優先級的告警比較難以定義。我所認為的中級告警可能對于其他組織來說是高級的。對我來說,如果警報中的問題不會帶來整體停機,那么優先級就是中級。比如說一個群集中的某個節點不知道為什么斷電了,但不會影響整個群集的運行,那我就把它定義為優先級中級。當然這和所處的工作環境有很大關系。我任職過的一些大公司就把這類問題定義為關鍵事務。
但是,如果你的公司不能容忍任何宕機事件發生,那比較聰明的方法就是根據問題是否有發生故障的潛在風險來決定優先級。比如說你有一個RAID列陣,能夠在不離線的情況下處理兩個磁盤的失誤,那如果其中一個故障了,你可以把這件事當成中等優先級的告警,因為該陣列還能正常處理另一個磁盤的故障。但如果兩個磁盤都發生故障,那就是高等優先級了,因為如果還有一個磁盤故障,那整個陣列就完了。
雖然我覺得這種方法評定優先級很好用,但是比起簡單地在故障時觸發告警,根據部件數量來配置告警更難。依靠了你使用的監控的種類及其監控軟件的可用功能,安裝這種告警系統是值得選擇,毫無疑問的。
配置監控機制
一旦你決定了如何對告警進行分類,你就需要決定告警如何通知。我個人比較喜歡讓服務器監控工具把優先級高的告警通過手機信息發給我。因為手機隨身帶,所以把關鍵告警發送到我手機上是最好的方法,這樣我就可以最快收到。
而優先級中等的告警雖然重要,但不是絕對關鍵的,所以我傾向于通過電子郵件發送。如圖所示,Windows Server有發送電子郵件的功能,這意味你很容易就能根據操作系統內發生的時間來發送郵件告警。
Windows能自動發送電子郵件告警
我每天檢查電子郵件,所以告警不會被忽視,有的告警我可能并不想通過手機第一時間知道。中高級的區分很重要,我并不想在和朋友歡度周末的時候,還得為中等優先級的告警所打擾。當然這只是告警工作的一個例子,還有其他選項。比如有個公司叫Server Density,他們裝了一個iPhone的服務器監控應用程序,支持所有的告警。
當然,高等優先級的組成對象還是有待探討的,還有一件事情得考慮一下,就是高優先級的告警不一定和系統故障有關。大部分服務器只要系統case打開了,就能觸發告警。如果能打開服務器case的只有你,那一個case的警報顯然就是高等優先級的告警。同樣,溫度過高的告警也是高優先級的,因為服務器過熱最終會導致停機。