Skip to main content

Logging and Monitoring

 Application Logging and Monitoring

Application တစ်ခုα€€ server α€’ါα€™ှα€™α€Ÿုတ် cloud α€™ှာ run α€›ုံပဲဆိုရင်တော့ α€œွα€š်ပါα€œိα€™့်α€™α€š်။ personal ထမြင် ထရဆိုရင်တော့ proper monotorings and alerts တွေ α€™α€›ှိရင် application α€€ိုရပ်ထားတာ ထကောင်းဆုံးပါပဲ။ α€˜ာα€œို့α€œဲဆိုတော့ α€€ိုα€š့် application/service α€€ α€˜ာတွေα€–ြα€…်α€”ေα€α€š်၊ α€˜ာ error တက်α€”ေα€α€š်၊ users တွေα€€ α€α€€α€š်α€›ောα€žုံးα€œို့α€›α€›ဲ့α€œား ထစရှိတာတွေ α€žိα€–ို့α€œိုပါα€α€š်။ Application α€™ှာ error တစ်ခုခု တက်တာα€”ဲ့ α€€ိုα€š်α€€ α€žိα€–ို့α€œိုပါα€α€š်၊ user ကပြောα€™ှα€žိတာα€™ျိုးဆိုရင်တော့ ထတော်α€€ိုထဆင်မပြေပါα€˜ူး။ Bad VOC(Voice of Customers) တွေပဲရပြီး α€˜α€š်α€žူα€™ှα€žုံးချင်တော့α€™ှာα€™α€Ÿုတ်ပါα€˜ူး။
α€’ါတွေထဲα€€ တစ်α€…ိတ်တစ်ပိုင်းα€–ြေα€›ှင်းα€–ို့ထတွα€€် Logging and Alerts tools တွေထများα€€ြီးα€›ှိပါα€α€š်။
  1. Splunk
  2. ELK
  3. Graylog
  4. Etc...
α€’ီထဲα€€α€™ှ Splunk ထကြောင်းα€€ိုα€”α€Š်းα€”α€Š်း ပြောချင်ပါα€α€š်။
Splunk α€€ log management and centralized logging tool တစ်ခုα€–ြα€…်α€α€š်။
α€˜ာα€œို့ α€’ီ log management α€€ိုα€žုံးα€›α€œဲ ဆိုတော့ α€€ိုα€š့် Application/Service α€€ very high performance α€”ဲ့ very high QPS တွေα€”ဲ့ run α€α€š်ဆိုရင် log တွေα€€ို α€‘α€œွα€š်တကူα€€ြα€Š့်α€–ို့ α€›ှာα€–ို့ဆိုတာ α€™α€œွα€š််ပါα€˜ူး။ Instances တွေထများα€€ြီး α€žုံးထားရင်ပိုα€œိို့တောင်ဆိုးပါα€žေးα€α€š် request α€€ို α€˜α€š် instance α€€ handle α€œုပ်α€žွားα€œဲတောင် α€žိα€–ို့α€™α€œွα€š်ပါα€˜ူး။ α€’ီထဲα€€α€€α€™ှ containerized architecture α€”ဲ့ ဆိုရင် ပိုဆိုးα€žွားပါပြီ၊ ပုံα€™ှα€”်ဆိုရင် logs တွေα€€ container destory α€–ြα€…်တာα€”ဲ့ ထကုα€”်ပျောα€€်α€žွားα€™ှာပါ။ ထဲ့α€’ါတွေα€€ြောင့် centralized log management tools တွေα€žုံးα€–ို့α€œိုပါα€α€š်။

Splunk α€˜α€š်α€œို α€‘α€œုပ်α€œုပ်α€œဲ/ α€˜ာတွေα€œိုထပ်α€œဲ

  1. Log server
  2. Log forwarder
ထဲ့α€’ါတွေα€œိုပါα€α€š်။ တစ်ခုα€›ှိတာα€€ Splunk α€€ free မရပါα€˜ူး α€α€š်α€žုံးရပါα€α€š်

1. Log Server

ထခြေခံထားα€–ြင့်ဆိုရင်တော့ log server α€™ှာ logs တွေα€žိα€™်းα€™α€š်၊ ထဲ့α€™ှာပဲ α€›ှာတာတွေ၊ alerts တွေ α€”ဲ့ monitoring တွα€€် graph တွေ α€€ို logs ပေါ်ထခြေခံပြီးတော့ setup α€œုပ်α€œို့ရပါα€α€š်။

2. Log forwarder

Log forwarder ကတော့α€›ှင်းပါα€α€š်။ α€žူ့α€”ာα€™α€Š် ထတိုင်းပဲ logs တွေα€€ို α€žα€်α€™ှတ်ထားတဲ့ server α€€ို realtime forward α€œုပ်ပေးပါα€α€š်။ Applications α€’ါα€™ှα€™α€Ÿုတ် containers run တဲ့ server α€™ှာပဲ forward α€œုပ်α€›α€™α€š့် log files α€€ို configure α€œုပ်ပေးရပါα€α€š်။

Log တွေα€€ို α€˜α€š်α€œိုα€›ှာα€€ြα€™α€œဲ

α€€ြα€Š့်ချင်တဲ့ application α€›ဲ့ sourcetype ပေါ်α€™ူα€α€Š်ပြီး α€€ြα€Š့်α€œို့α€œို့ရပါα€α€š်။ α€€ြα€Š့်ချင်တဲ့ထချိα€”်ထပိုင်းထခြားα€”ဲ့ α€›ှာချင်တဲ့ keyword α€œေးα€›ိုα€€်ပြီးα€œဲ α€›ှာα€œို့ရပါα€α€š်။ α€₯ပမာ user တစ်α€šောα€€်α€›ဲ့ action α€€ို α€€ြα€Š့်ချင်α€α€š်ဆိုရင် logs α€›ိုα€€်ထားတဲ့ user id α€”ဲ့α€€ြα€Š့်ချင်တဲ့ ထချိα€”်ထပိုင်းခြားα€›ွေးα€œိုα€€်ရင် ထကုα€”်α€€ြα€Š့်α€œို့ရပါပြီ။ Application α€™ှာတော့ logs တွေα€€ို α€…α€”α€…်တကျ α€›ိုα€€်ထားα€–ို့α€œိုတာပေါ့ ထဲ့α€’ါα€€ြောင့် ထရင်တစ်ခါα€›ေးခဲ့တဲ့ post α€œိုပဲ DevOps knowledge α€›ှိα€”ေရင်တော့ပိုα€€ောင်းပါα€α€š်။

Alerts တွေα€˜α€š်α€œို α€‘α€œုပ်α€œုပ်α€œဲ

Alerts တွေα€€ိုα€œဲ logs တွေ ပေါ်ထခြေခံပြီး α€œုပ်ပါα€™α€š်။ α€₯ပမာ α€€ိုα€š့် Application α€›ဲ့ log α€™ှာ ERROR α€’ါα€™ှα€™α€Ÿုတ် Exception ဆိုတဲ့ text α€€ို 5α€™ိα€”α€…်တစ်ခါ Splunk α€€ိုα€›ှာα€…ေပြီး တွေ့တာα€”ဲ့ alert email α€€ို trigger α€œုပ်ထားα€œို့ရပါα€α€š်။

Monitoring and Dashboard

Monitoring α€”ဲ့ Dashboard တွေα€€ိုα€œဲ ထုံးα€…ံထတိုင်း log ပေါ် ထခြေခံပြီး α€œိုထပ်α€žα€œို setup α€œုပ်ထားα€œို့ရပါα€α€š်။
α€₯ပမာ - α€€ိုα€š်α€€ alerts α€œဲ α€™α€œုပ်ထားချင်α€˜ူး α€…ောင့်α€œဲα€…ောင့်α€€ြα€Š့်ချင်တဲ့ ထနေထထားပေါ့၊ ဆိုα€€ြပါα€…ို့ Unauthorized/ Forbidden α€œိုα€Ÿာα€™ျိုးဆိုရင် α€žာα€™ာα€”် users တွေα€œဲ password α€™ှားα€›ိုα€€်တာတွေ၊ permission α€™α€›ှိတဲ့ function တွေα€€ို α€žွားα€€ြα€Š့်α€™ိတာတွေဆိုရင်α€–ြα€…်တတ်α€α€š်။ Error α€œဲα€™α€Ÿုတ်α€˜ူး၊ α€’ါပေα€™α€š့် Unauthorized/ Forbidden တွေထရမ်းα€™ျားရင်α€œဲ attack α€œုပ်ခံရတာα€–ြα€…်α€”ိုင်ပါα€α€š်။ α€’ီα€œို ထခြေα€”ေα€™ျိုးα€™ှာα€œဲα€žုံးα€œို့ရပါα€α€š်။ α€’ါα€€ို Alerts ထနေα€”ဲ့α€œဲ occurrences α€€ 5 minutes α€™ှာ ထခါ ၁၀၀ ထက်ပိုရင် Alert email trigger α€œုပ်ဆိုပြီးတော့α€œဲ setup α€œုပ်ထားα€œို့ရပါα€α€š်။
α€”ောα€€်ထပ်α€₯ပမာ တစ်ခု ထနေα€”ဲ့ - α€˜α€š်functions တွေα€€ို user access α€˜α€š်α€œောα€€်α€›ှိα€α€š် ဆိုတာα€™ျိုးတွေ α€€ို analysis ထနေα€”ဲ့α€œဲ dashboard တွေ setup α€œုပ်ထားα€œို့ရပါα€α€š်။

Popular posts from this blog

Pigeon Myanmar's free Wireguard VPN

Pigeon Myanmar's free Wireguard VPN  Pigeon Myanmar α€›ဲ့ Free VPN service α€€ိုα€‘α€žုံးပြုα€›α€”်ထတွα€€် ထောα€€်ပါ Telegram Chatbot α€€ို message ပို့ပြီး Config file α€’ါα€™ှα€™α€Ÿုတ် QR Code α€€ိုα€›α€šူα€”ိုင်ပါα€α€š်။ α€‘α€žုံးမပြုα€œိုα€žူα€™ျား၊ newvpn request α€™α€œုပ်α€–ို့မတ္တာရပ်ခံထပ်ပါα€α€š်၊ client α€€ limit α€›ှိတာα€€ြောင့် α€œိုထပ်တဲ့α€žူတွေα€™α€›α€™ှာα€…ိုးα€œို့ပါ။ Telegram Chat Bot Telegram Chat Bot:  https://t.me/pigeonmyanmarbot Chat Bot α€™ှာ /start α€€ိုα€œို့ပို့ပြီး α€žα€€်ဆိုင်α€›ာ Operation α€€ိုα€›ေးပြီး VPN α€‘α€žုံးပြုα€›α€”်ထတွα€€် QR Code α€’ါα€™ှα€™α€Ÿုတ် Config file α€›α€šူα€”ိုင်ပါα€α€š်။ Telegram Account တစ်ခုα€€ို client တစ်ခုα€žα€်α€™ှတ်ထားα€’ါα€€ြောင့် α€”ောα€€်ထကြိα€™်တွေ ထပ်α€™ှတ်α€›α€šူပါα€€α€œα€Š်း client α€‘α€Ÿောင်းα€€ိုα€žာ α€›α€›ှိတော့α€™ှα€–ြα€…်ပါα€α€š်။ QR Code/Config File α€€ို ပျောα€€်ပျα€€်α€žွားတဲ့ထခါα€™ှာα€œα€Š်း ထပ်α€™ံတောင်းခံ α€€ြα€Š့်α€›ှူα€”ိုင်ပါα€α€š်။   /newvpnqr - VPN QR Code α€›α€šူα€›α€”်။ /newvpn - VPN Config File α€›α€šူα€›α€”်။ VPN Installation and Setup α€žα€€်ဆိုင်α€›ာ Application α€€ိုထောα€€်ပါ link α€™ျားα€™ှ install α€œုပ်ပါ။  Application α€™ှာ  + / Add a tunnel α€α€œုတ်α€”ှိပ်ပါ။  Create from file or archive α€’ါα€™ှα€™α€Ÿုတ် Create from QR

How to use GIT? GIT α€€ိုα€˜α€š်α€œို α€‘α€žုံးပြုα€€ြα€™α€œဲ (Cheat sheet)...

How to use GIT?  Git α€‘α€žုံးပြုပုံα€€ို α€”ားα€œα€Š်α€€ျွα€™်းα€€ျင်α€–ို့ GIT α€˜α€š်α€œိုα€‘α€œုပ်α€œုပ်α€œဲ ဆိုတာ α€”α€Š်းα€”α€Š်းတော့ α€žိထားα€–ို့α€œိုα€œိα€™့်α€™α€š်။  File α€›ဲ့ statuses တွေα€”ဲ့ file transitions တွေα€€ို α€žေချာ α€”ားα€œα€Š်ထားα€–ို့α€œိုα€α€š်။ File status α€™ှာဆိုရင် file တစ်ခုα€€ို git α€€α€˜α€š်ထချိα€”်α€™ှာ track α€…α€œုပ်α€œဲ၊ α€˜α€š်ထချိα€”်α€™ှာ modified, unmodified, staged statuses တွေα€–ြα€…်α€žွားα€œဲဆိုတာတွေ α€”ဲ့ File transitions α€™ှာဆိုရင် file တစ်ခုα€€ α€˜α€š် command run ရင် local repository α€™ှာα€›ှိα€α€š်။ α€˜α€š် command run ရင်တော့ remote repository (server) α€€ိုα€›ောα€€်α€žွားα€œဲ ဆိုတာတွေα€€ို α€‘α€”α€Š်းα€„α€š်α€”ားα€œα€Š်ထားα€–ို့တော့α€œိုα€™α€š်။ Git File Statuses Git α€™ှာ file တွေα€€ို track α€œုပ်α€”ေတဲ့ statuses တွေα€›ှိα€α€š်။ ထဲ့α€’ါတွေကတော့ ထောα€€်ပါထတိုင်းα€–ြα€…်α€α€š်။ Untracked Unmodified Modified Staged Untracked Status Untracked ဆိုတာα€€ file တစ်ခုα€€ ပထမဆုံး create α€œုပ်ပြီးတဲထချိα€”်α€™ှာ git α€€ ထဲ့ file α€€ိုα€œုံးဝ track α€™α€œုပ်α€›α€žေးတဲ့ file တွေα€€ git α€™ှာ untracked ထနေα€”ဲ့α€›ှိα€”ေα€α€š်။ ထဲ့α€’ါα€€ို git α€€ို စပြီး track α€œုပ်α€…ေချင်α€α€š်ဆိုင်တော့ git add <file> command α€”ဲ့ git α€€ို α€… track α€œုပ်ခိုင်းα€œို့α€›α€α€š်။ ထဲ့α€œို git add α€œုပ်α€œို

Editor Config

Editor Config α€€ျွα€”်တော်တို့ Developer တွေတော်တော်α€™ျားα€™ျားα€€၊ α€€ိုα€š်α€”ဲ့α€€ျွα€™်းα€€ျင်α€›ာ α€’ါα€™ှα€™α€Ÿုတ် α€”ှα€…်α€žα€€်α€›ာ IDE/Text Editor တွေα€€ို α€žုံးα€œေ့α€›ှိα€€ြပါα€α€š်။ ထဲ့α€”ေα€›ာα€™ှာ ပြα€žα€”ာတစ်ခုα€€ IDE/Text Editor မတူတာα€”ဲ့ Coding Style, Format တွေα€™ှာ မတူတာ တွေα€–ြα€…်တတ်α€€ြပါα€α€š်။ α€₯ပမာ - Eclipse α€žုံးတဲ့α€žူ ထချင်းချင်းဆို setting α€€ို export α€œုပ်ပြီး ထတူတူထားα€œို့ရပေα€™α€š့်၊​ IntelliJ IDEA α€žုံးတဲ့α€žူတွေα€”ဲ့ ဆို ထဆင်မပြေα€–ြα€…်ပြα€”်α€›ော။ Visual Studio Code, Atom, Sublime Text တွေကထများα€€ြီးα€€ို α€€ြားထဲ Indentation တွေ၊ Code Style တွေα€€ို Standardize α€œုပ်α€–ို့ ခက်ခဲα€œာα€α€š်။ ထဲ့α€’ါα€€ြောင့် တစ်ချို့  Company/Project တွေဆိုရင် α€˜α€š် IDE/ Text Editor ပဲα€žုံးα€›α€™α€š်ဆိုပြီးα€žα€်α€™ှတ်ထားα€œေ့α€›ှိα€€ြα€α€š်။ ထကျိုးဆက်ထနေα€”ဲ့ကတော့ Productivity α€”ဲ့ Developers တွေα€€ α€žα€်α€™ှတ်ထားတဲ့ tools တွေα€”ဲ့ ထကျွα€™်းဝင်α€–ို့ ထချိα€”်ပေးရပါα€α€š်။ ထဲ့α€’ါ တွေα€€ို Editor Config α€€α€‘α€œွα€š်တကူα€–ြေα€›ှင်းပေးα€”ိုင်ပါα€α€š်။ Editor Config α€›ဲ့ ထားα€žာချα€€်ကတော့ ထတော်α€™ျားα€™ျား IDE/ Text Editor တွေα€™ှာ built-in ပါပြီးα€žားα€–ြα€…်ပြီး၊ built-in မပါရင်α€œဲ Plugin တွေα€€ ထတော်α€™ျားα€™ျားထတွα€€်α€›ှိပါα€α€š်။  # EditorConfig is awesome: https://Edito