云創造了一個復雜的IT環境,所以在監控基礎架構,應用性能及成本方面,我們需要十八般兵器,一應俱全。
對于AWS,企業只需為他們使用的部分付費,而這影響了管理員對使用的監控方式。云是個高度動態的環境,因為服務器來來去去,自動擴展改變著環境的構造,以及拓撲結構的不斷進化。此外,公有云是由配置管理系統來支持的,這催生了更多的日志和系統事件。
為了能理解這一切,你需要學會掌控AWS監控的功能。云監控工具通常分為以下的三大類:
基礎架構和實時監控;應用性能監控(APM);及成本分析和監控。
云基礎架構和實時監控
自下而上的方式是從底層數據庫-計算監控開始,一直到上層的應用監控。
CloudWatch,即AWS的監控層,允許你查看諸如CPU使用,內部的數據傳輸,磁盤使用和日志這樣的指標并可以用來創建警報。管理員可以使用CloudWatch來取得實時數據指標,或者可以使用更傳統的監控工具,例如Nagios、Zabbix和Cacti。
使用這些監控工具的挑戰在于,找出一個可以根據環境的改變進行自動配置的方法。
比如說,當你在使用Nagios時,環境的每個改動都需要一次重啟。而雖然它是個開源工具,它并不是為了支持不斷變化的環境而打造的。有些云用戶為了支持環境的自動變更,在這些工具的API之上又開發了一個層級。
當云計算的不斷變化的環境幾乎壓垮了Nagios時,Sensu相比之下則顯得更為簡單,更可擴展。Sensu的配置功能跟Nagios和Zabbix的幾乎一模一樣,但在實例增加或刪除的時候,Sensu的客戶端會自動連上Sensu服務器。當新的實例開始運行時,Sensu客戶端會自動與相應的Sensu服務器同步。
專用工具類別除了Google最近才收購的Stackdriver之外還包括了如DataDog、Sysdig和BigPanda這樣的綜合工具。除了聚集信息來表現云環境里發生的事件以外,這些工具也使用綜合性的用戶界面(UI)來支持快速的修復行動。
使用傳統的工具,通常很難判斷一個事件或者一個警報是否是真的。當提到這種類型的專有工具,他們事實上提供了更全面的開箱即用的功能,比如一個應用程序拓撲結構的自動顯示,正在發生的不同類型的警報之間的關聯發現。
使用這些方法降低了“噪音”,讓你能夠快速的采取必要的措施。同樣重要的是要注意這些系統有強壯的API和開箱即用的集成技術支持,這將它們同上述的開源工具區別開來。
應用性能監控
監控應用程序同樣很重要。除了基礎架構層,CloudWatch還監控如DynamoDB這樣的數據庫和關系型數據庫服務。它還支持自定義監控選項,這樣就可以從棧的更高層獲得更多的指標。然后你可以監控日志并設置警報來創建動作觸發器。
商業工具更廣泛的是和APM一起使用。他們能夠追蹤諸如應用交易這樣的指標(比如,處理的交易量和響應次數),并最終對用戶體驗透明。
當涉及到云的應用管理和監控時,特別是對AWS,傳統技術廠商遠遠落后于像New Relic,AppDynamics和Compuware這樣的專業技術公司,根據2014年APM Gartner Magic Quadrant的研究表明。
成本分析和監控
由于云的動態性,AWS的成本監控也發生了演變。AWS的環境是通過一個API構建的,Amazon的應用程序開發者通過其API來擴展使用AWS,使得成本難以控制。比如說,一個小的應用程序bug,就可能讓一個月的AWS帳單翻倍—或者甚至變成三倍。
AWS Trusted Advisor,作為亞馬遜的支持計劃的一部分,提供了你的環境中最近的包括成本,性能和安全方面的變化通知。與此類似的一個工具Ice,是一個由Netflix工程師開發的開源工具。Ice提供給用戶一個大的視圖可以看到一個環境中有多少資源正在被使用(和被誰用)。它還可以通過使用AWS Programmatic Billing Access來根據用戶的帳號,區域,服務等追蹤支出,使得預算分配成為可能。另外,AWS成本監控能夠幫你找到正確的采購計劃,比如有效利用一個適當的預留實例計劃。
成本監控不光是監控最近的變更。它還意味著在時間推移的基礎上識別趨勢和異常狀況。這使得成本監控變成主要是大數據的問題,涉及到追蹤你的歷史來評估當前的狀態并作出成本預測。只有這樣云計算的消費者才能規劃預算,退款,以及成本配置過程。在成本監控這一類別上,除了老牌廠商Cloudyn和Cloudability之外還有新興的廠商,如CloudCheckr和CloudHealth Technologies的加入。