Home Blog DevOps EC2 Instance တခုကို CloudWatch သုံးၿပီး Monitor ၾကမယ္
ကျွန်တော် ဒီတခေါက် sharing လုပ်ချင်တာကတော့ မိမိရဲ့AWS EC2 Instance တွေကို AWS ရဲ့CloudWatch သုံးပြီး Monitoring လုပ်ခြင်းပါပဲ။ ယနေ့ခေတ်ကြီးမှာ မိမိတို့ရဲ့Service တွေကို Monitoring လုပ်ခြင်းဟာ အလွန်ကို အရေးပါလှပါတယ်။ AWS မှာ Default အနေနဲ့basic monitoring က အစကတည်းက enable ဖြစ်ပီးသားပါ။AWS မှာ Basic Monitoring & Detailed Monitoring ဆိုပြီး နှစ်မျိုးပါပါတယ်။ Basic Monitoring ကတော့ အချိန်ငါးမိနစ်အတွင်းမှာ ရရှိတဲ့ Data တွေကို Charges မကုန်ပဲ ကြည့်နိုင်တာဖြစ်ပြီး Detailed Monitoring ကတော့ အချိန် ၁ မိနစ် အတွင်းမှာ ရရှိတဲ့ Data တွေကို monitoring လုပ်နိုင်တာပဲ ဖြစ်ပါတယ်။
အခုထပပြှောခငွတြာက ဘာတှကေို Monitor လုပလြို့ရမလဲဆိုတာတှပေါ
အလကားတော့ မရတော့ပါဘူး Pricing ရှိပါတယ် ဒီ လင့်မှာ ကြည့်နိုင်ပါတယ် https://aws.amazon.com/cloudwatch/pricing/
အခုထပ်ပြောချင်တာက ဘာတွေကို Monitor လုပ်လို ့ရမလဲဆိုတာတွေပါ
1-CPU Utilization
2-Network Utilization
3-Disk Performance
4-Disk Reads/Writes
5-Memory Utilization,disk swap utilization,disk space utilization,log collection
အစရှိသည်တို့ကို Monitor လုပ်လို့ရပါတယ်။
Cloudwatch ရဲ ့Agent ကိုအသုံးပြုပြီးတော့လည်း EC2-instances တွေအပြင်အခြားသော cloud service providers တွေရဲ ့vps တွေက logs တွေ Metrics တွေကိုလည်း collect လုပ်နိုင်ပါသေးတယ်။
Window servers တွေမှာ Collect လုပ်ထားတဲ့ Log တွေကိုလည်း Cloudwatch agent စီကို Migrate လုပ်နိုင်ပါသေးတယ်။
အခုထပ်ပြောပြချင်တာကတော့ EC2 instance တခုမှာ Cloudwatch monitoring ဘယ်လို On မလဲဆိုတာနဲ ့
Cloudwatch alarm တခုကို Create လုပ်ပြီး Email Notification တခုကို ပုံနဲ့တကွ ပြောပြသွားချင်ပါတယ်။
ပထမဆုံးအနေနဲ ့EC2 instance ရဲ ့Console Page ကိုသွားလိုက်ပါ ပြီးရင် ဘေးက Navigation Pane မှာ Instances ဆိုတဲ ့tab လေးရှိပါတယ်။ သူ့ကိုထက်သွားပြီးတဲ့အခါ ကိုယ် Monitoring လုပ်ချင်တဲ့ Instance ကိုရွေးလိုက်ပါ ။ပြီးရင် အပေါ်က Actions လေးကို နှိပ်လိုက်ပါ နောက်ပြီး CloudWatch Monitoring ကို နှိပ်
ပြီးရင် Enable Detailed Monitoring ကိုရွေး dialog box လေးကျလာတဲ့အခါ Yes Enable ပေါ့။ဒါဆိုရင်တော့ ကျွန်တော်တို့Monitoring ON ပြီးသွားပါပြီ။ ပုံမှာကြည့်နိုင်ပါတယ်
နောက်တခုကတော့ CloudWatch Alarm တွေ Create လုပ်တာပါပဲ။ဒီမှာကတော့ Instance အောက်က monitoring tab ကနေပဲ သွားလိုက်ပါမယ်။CloudWatch ဆိုတဲ့Service Page ကနေလည်း Create လုပ်လို့ရပါသေးတယ်။
ဒီအဆင့်မှာဆိုရင်တော့ အပေါ်က ပုံအတိုင်းကျွန်တော်တို့တွေ Condition တွေရွေးချယ်လို့ရတယ် ပြီးတော့ ဥပမာ CPU Load % ဘယ်လောက်ဆိုရင် Alarm ပြပြီး Shutdown or reboot or အထဲမှပြထားတဲ့ Option တခုကို ရွေးလို့ရပါသေးတယ်။
Send A notification ဘေးက Create Topic ကနေ ကိုယ့် Alarm ပို့ချင်တဲ့ Email ကိုထည့်ရပါလိမ့်ပါမယ်။ Email ထည့်လိုက်တာနဲ့မရသေးပါဘူး ကိုယ့် Email မှာ AWS Subscribe လုပ်မယ်ဆိုတဲ့ Mail ကို Confirm လုပ်ပေးဖို့လိုပါသေးတယ်။
Confirm လုပ်ပြီးရင်တော့ အကုန်အဆင်ပြေသွားပါပြီ။
Monitoring လုပ်မလုပ် ကျွန်တော့်တို့စမ်းကြည့်ဖို့လိုသေးတယ်ဗျ ။ဒီအဆင့်မှာတော့ ကျွန်တော် Stress ဆိုတဲ့ Load Testing Command line Tool တခုကို သုံးချင်ပါတယ်။
Debian မှာဆိုရင်တော့ apt-get install stress နဲ့သုံးလို့ရပြီး
CentOS ဘာညာ တွေမှာတော့ yum install stress နဲ့သုံးနိုင်ပါတယ်။
ကျွန်တော်ကတော့ stress ကို Upgrade လုပ်ထားတဲ့ stress-ng ကိုသုံးပါတယ်။
apt-get install stress-ng ပါ။ command ကတော့ stress-ng -c 4 -t 10 -v ပါ
အခြားသုံးနည်းတွေလည်းရှိပါတယ်။
အလုပ်လုပ်လားမလုပ်လား သေချာအောင်တော့ ကျွန်တော်တို့% ကိုလျော့ချပြီးဖြစ်စေ Condition ကိုပြောင်းလဲခြင်းဖြင့်ဖြစ်စေ စမ်းသပ်နိုင်ပါတယ်။ Alarm Rule နဲ့ညီတယ်ဆိုရင်တော့ ကိုယ့် Email မှာ Alarm ဝင်လာတော့မည်ဖြစ်ပါတယ်။
ဟိုးအပေါ်ဆုံးမှာ ပြောပြခဲ့တဲ့ Metrics တွေကိုလည်း ဒီနည်းအတိုင်းနဲ့Monitoring လုပ်နိုင်ပါတယ်။
အားလုံးကိုကျေးဇူးတင်ပါတယ်။ လေးစားစွာဖြင့်
ကောင်းသန့်လွင်(DevOps @ Duwun)
AWS UG Myanmar