Amazon-Ec2
更詳細的 EC2 實例監控?
我目前正在使用 AWS Cloudwatch 來監控我的 EC2 伺服器的基本指標。
但它缺乏詳細的監控,如分區空間使用、記憶體空閒等。
我應該安裝和使用 Nagios 還是其他更好的替代品?
(我想盡可能的自動化,難道我不喜歡Nagios嗎……)
我所擁有的是我編寫的一個簡單腳本,它檢查 CPU 或記憶體是否達到我認為是高負載的門檻值。如果是,該腳本將呼叫另一個腳本,該腳本將為我收集資訊以分析導致高負載的原因並將其作為附件發送到我的電子郵件地址。以下是我的腳本範例,您可能需要考慮對其進行增強並將其應用於您的需求。
#!/bin/bash GATHER_INFO=<SCRIPT_NAME_HERE> CPU_LOAD=$(uptime | cut -d"," -f4 | cut -d":" -f2 | cut -d" " -f2 | sed -e "s/\.//g") CPU_THRESHOLD=<VALUE_HERE> MEMORY_USAGE=$(free -m | grep -i "buffers/cache" | awk '{ print $3 }') MEMORY_THRESHOLD=<VALUE_HERE> if [ $CPU_LOAD -gt $CPU_THRESHOLD ] ; then $GATHER_INFO # I call another script here. <SEND_INFORMATION_GATHERED_BY_EMAIL_HERE> # I use nail/mailx here. exit 0 elif [ $MEMORY_USAGE -gt $MEMORY_THRESHOLD ] ; then $GATHER_INFO # I call another script here. <SEND_INFORMATION_GATHERED_BY_EMAIL_HERE> # I use nail/mailx here. exit 0 fi exit 0
請注意,外部腳本 $GATHER_INFO 取決於系統中已經安裝的工具(例如 sysstat)。
我已經回答了類似的問題,並位於此處供您參考。
我也使用了Munin,它使用起來非常簡單,但它的問題是 Munin 伺服器上的磁碟 I/O 太高,如果您將它託管在其中一個 EC2 實例中,這是不切實際的,除非您只監控幾個實例實例數。