2012-02-17 135 views

回答

7

CloudWatch監控就像您發現的一樣。您可以通過查看指標來推斷您的某個實例已被凍結,但CloudWatch不會例如例如,當您的應用停機或運行速度過慢時,會向您發送電子郵件。

如果您在應用程序或實例關閉時正在尋找某種通知,我建議您使用監控服務。 Pingdom是一個不錯的選擇。您也可以在AWS上設置新實例,並安裝一個監控工具,如Nagios,這將是我的首選選項。

在漫長的道路上總是值得的良好實踐:使用負載平衡(Amazon ELB),運行應用程序的多個實例,自動縮放(當實例關閉時,Amazon會自動啓動一個新實例並維護您的SLA )和自定義監控。

我的團隊已經使用了很長時間的自定義監控腳本,並且一旦發生故障,我們就始終知道故障。基本上,如果我們有兩個節點運行我們的應用程序,那麼節點1向節點2和節點2發送HTTP請求到1.如果任何請求花費比預期的多,或者返回了意外的HTTP狀態或響應正文,腳本會發送一封電子郵件給系統管理員。現在,我們依靠更強大的方法,如Nagios,它甚至可以監視操作系統的東西(線程等),應用程序服務器(連接池健康等)等等。值得投入每一分錢來設置它。

1

您可以隨時爲工具/測試提供另一個實例,該實例將根據計劃嘗試http請求並測量響應時間,然後您可以使用CloudWatch發佈該響應時間,並在其結束時設置警報一定的閾值。

你甚至可以從實例本身做到這一點。

4

CloudWatch最近添加了「狀態檢查」度量標準,可以回答您關於某個實例是否已關閉的問題之一。它不會向您的Web服務器發出請求,而是進行系統檢查。如前面的回答所示,使用ELB進行HTTP健康檢查。

10

要監控CloudWatch中的事件,請創建一個警報,該警報會根據給定閾值監控度量標準。

創建警報時,您可以添加用於發送通知的「操作」。 AWS通過SNS(簡單通知服務)處理通知。您可以訂閱通知主題,然後您會收到一封電子郵件給您。

對於EC2指標,例如CPU或磁盤利用率,這是從AWS文檔中的指南:http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/US_AlarmAtThresholdEC2.html

如已經回答,使用ELB監視HTTP。

這是可度量的ELB名單: http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/US_MonitoringLoadBalancerWithCW.html#available_metrics

爲了回答您的具體問題,監控X秒爲HTTP響應,你需要建立一個報警監視ELB「延遲」。

0

正如上面提到的Kurst Ursan,使用「狀態檢查」度量標準是一種可行的方法。在某些情況下,您將無法瀏覽該指標(即,如果您;正在使用AWS OpsWorks),那麼您將不得不自行報告該自定義指標。但是,您可以設置一個基於始終匹配的度量標準(處於OK狀態)的警報,並在狀態更改爲「INSUFFICIENT DATA」狀態時發出警報觸發,這在技術上意味着CloudWatch無法確定狀態是否正常或ALARM,因爲它無法到達您的實例,AKA您的實例處於脫機狀態。

10

亞馬遜的Route 53健康檢查是該工作的正確工具。

Route 53可以監視應用程序以及Web服務器和其他資源的運行狀況和性能。

您可以在Route 53中設置HTTP資源檢查,以便在服務器關閉或發生錯誤時作出響應時觸發電子郵件通知。

http://eladnava.com/monitoring-http-health-email-alerts-aws/

+0

感謝史蒂芬,我不知道你能做到這一點(甚至沒有域號公路上53)。每月進行50次健康檢查,這比pingdom便宜很多,如果只有一兩個EC2實例,就可以運行自己的EC2實例。 – spidie 2015-06-04 09:35:42

相關問題