亞馬遜最近宣布將改變客戶對其AWS資源進行監控的方式。新的服務名為CloudWatch Events,它允許客戶通過一個接近實時的事件流了解AWS環境中所產生的各種變更。這些事件變更還能夠通過各種規則的應用進一步觸發通知機制或其他行為。
通常來說,為了了解當前服務的健康狀況,客戶不得不自行編寫腳本及工具,以低效的輪詢方式調用各種管理API。隨后,為了確定狀態的變更,客戶還要將當前信息與歷史信息進行對比。為了讓客戶不必將時間再浪費在創建這種類型的工具上,亞馬遜發布了CloudWatch Events。
CloudWatch Events可以監控系統中的各種行為,例如某個EC2實例的啟動或關閉,并檢測到自動伸縮事件的發生。CloudWatch Events還能夠檢測到服務的設置或中止,包括Amazon DynamoDB tables、Amazon SNS topic或Amazon SQS。
CloudWatch Events通過規則策略得以觸發。規則可以在分鐘的級別上進行設置,并允許管理員將CloudWatch Events路由給一個或多個其他AWS服務,包括AWS Lambda functions、Amazon Kinesis streams和Amazon SNS topics。
Jeff Barr是AWS的首席傳教士,他對這個服務的定位是一種集中式的編排工具:“你可以將CloudWatch Events視為整個AWS環境的中樞神經系統,它將連接到所支持服務的每個角落,并時刻了解各種運維的變更。隨后,它可以由你的規則所驅動,激活函數及發送消息(如果你愿意,甚至可以讓它刺激你的肌肉組織)以響應環境變化、產生變更、獲取狀態信息、或采取糾正行為。”
CloudWatch Events由三個主要組件所構成:
事件(Event)表現為小型的JSON blob文件,可以通過四種不同方式生成:當某個服務的狀態變更時產生,例如某個服務從掛起狀態變更為運行狀態。 通過API調用或控制臺的登錄,可以由CloudTrail生成CloudWatch Events中的事件。 自定義代碼可以向CloudWatch Events發布特定于應用程序的事件。 通過預定的、類Cron風格的作業生成事件。規則(Rule)將對所傳入的事件進行評估,以確定是否觸及了某個閥值、或是發生了越界的情形。一旦結果為真,該事件就會被路由至某個目標以進行處理。 目標(Target)將對由規則所傳入的事件進行處理。一個規則可以調用多個目標,而用于表現某事件的JSON也可以在傳遞給目標之前進行預處理。在CloudWatch Events正式發布時,亞馬遜將支持四種不同類型的目標:內置目標 Lambda函數 Kinesis流 SNS主題從收費角度來說,客戶可以選擇多種部署CloudWatch Events的方式。亞馬遜將提供一種免費版本,并聲稱“大量的應用程序都應該可以在免費版本的限制之內滿足需求。”免費版本允許新客戶或現有客戶每個月建立3種儀表板及最多50種指標,而不會收取額外的費用?;A監控功能可以每5分鐘刷新一次結果,它對于Amazon EC2實例來說也是免費的。要想了解免費版本以及其他提供了更多功能的版本的詳細信息,請訪問亞馬遜的收費信息頁面。
查看英文原文:Introducing AWS CloudWatch Events