如果正常運行時間超過N小時,檢查EC2實例正常運行時間並可能發送警報的最佳方法是什麼?它如何使用默認的AWS工具(如CloudWatch,Lambda)進行組織?如何檢查AWS EC2實例當前正常運行時間
2
A
回答
3
一種選擇是使用AWS CLI並獲取啓動時間。從計算運行時間,並將其發送到CloudWatch的:
aws ec2 describe-instances --instance-ids i-0ca3fa2c4f --query 'Reservations[*].Instances[*].LaunchTime' --output text
輸出
2016-05-20T19:23:47.000Z
另一種方法是定期運行cronjob
腳本:
- 電話
uptime -p
命令 - 輸出到幾小時
- 發送結果與尺寸
Count
到CloudWatch的轉換加入cronjob
後:
- 添加CloudWatch的警報發送當該值超過閾值的警報或如果有不充分的數據
- 數據不足意味着機器不在
1
我會建議尋找一個「AWS」本地方式來做到這一點。
如果它基本上是發送OS級指標(例如可用內存,運行時間,磁盤使用情況等)來的CloudWatch那麼這可以通過以下指南來實現: 這會安裝在您的EC2實例CloudWatch的日誌代理。 http://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/QuickStartEC2Instance.html
這樣做的好處是您可以在Cloudwatch日誌中顯示度量標準(請參閱附加的圖片,其中顯示了AWS控制檯中的CW日誌界面)。
2
這是另一個可以在CloudWatch中完成的選項。
用CPUUtilization之類的東西爲您的EC2實例創建一個警報 - 當實例運行時,您將始終爲此獲取值。
- 將報警設置爲> = 0;這將確保只要實例正在運行,它就會匹配。
- 設置週期和連續週期以匹配所需的警報正常運行時間,例如對於24小時,可以將週期設置爲1小時,將連續週期設置爲24.
- 設置操作以在警報發生時發送通知處於ALARM狀態。
現在,當實例已經打開時間小於設定時間時,報警將處於INSUFFICIENT DATA狀態。一旦它正常運行,它將進入ALARM狀態併發送通知。
相關問題
- 1. EC2 AWS實例:檢查tomcat是否正在運行
- 2. AWS Data Pipeline如何運行EC2實例?
- 3. AWS實例運行時間
- 4. 使用java aws檢查ec2實例是否正在運行或終止sdk
- 5. 運行Kubernetes在AWS EC2實例只
- 6. 如何檢查在AWS EC2實例中運行的應用程序
- 7. 創建新的AWS EC2實例時運行AWS Lambda代碼
- 8. 確定當前正在執行的EC2實例
- 9. 如何檢查當前時間實例之前或之後的截止時間?
- 10. 檢查ping和正常運行時間?
- 11. 獲取AWS實例的運行時間
- 12. EC2-在運行EC2實例時運行jar
- 13. AWS EC2實例夜間崩潰....只運行Magento
- 14. AWS WAF + EC2實例
- 15. EC2實例運行速度非常慢
- 16. 如何檢查IIS狀態和正常運行時間?
- 17. 如何在Windows 7中檢查系統正常運行時間
- 18. 如何在aws ec2運行實例期間設置塊設備映射?
- 19. sql server檢查實例正在運行
- 20. 在EC2中運行多個Docker實例
- 21. 如何計算運行EC2實例?
- 22. 如何EC2實例從AWS SDK
- 23. 如何識別Amazon AWS EC2實例?
- 24. Amazon AWS EC2,如何組合實例?
- 25. 如何阻止Amazon Aws EC2實例?
- 26. 無法正常阻止我的AWS EC2實例
- 27. AWS - EC2停止實例無法正常工作
- 28. 如何檢測AWS實例是否完全正常工作
- 29. AWS EC2實例:啓動多個實例
- 30. 403在AWS EC2實例
可以在沒有直接訪問服務器的情況下完成嗎?只需使用aws api或其他東西? – BigBoss
@BigBoss看到我的更新。 – helloV
您能否提供哪些結果應該作爲維度計數發送,以及在創建警報時選擇哪種類型的指標?我使用lambda來計算正常運行時間。 – BigBoss