Vendova të ndaj historinë time. Mund të ndihmojë ndonjë njeri me këtë zgjidhje buxhetore për një problem të njohur.
Kur isha i ri dhe energjik dhe nuk dija ku ta vendosja energjinë time, vendosa të bëj pak freelancing. Arrita të fitoj shpejt një reputacion dhe gjeta disa klientë të zakonshëm që më kërkuan të mbaj serverat e tyre në vazhdimësi.
E para që mendova ishte nevoja për monitorim. Vendosa të ndjek bisedat e të mençurve, të mos shpik rrotën dhe të shoh zgjidhje të gatshme si Munin ose Zabbix. Por, u kuptua menjëherë se versioni Web kërkonte një lidhje të mirë me internetin, veçanërisht nëse hapet për herë të parë nga telefoni. Nëse je në natyrë, larg qytetit, është e vështirë të marrësh një lidhje të qëndrueshme. Prandaj, u zgjodh një variant monitorimi përmes konsolës.
Për monitorim konsolë, atop dhe programi për leximin e logjeve të atop-it, atopsar, më ndihmuan shumë. Ata janë përmendur tashmë në habr, , por për atopsar pothuajse askush nuk ka folur.
Instalimi
Instalimi është shumë i thjeshtë, vetëm tre komanda.
#Centos
yum install atop#Debian/Ubuntu
apt-get install atopMë pas, mund të konfigurosh funksionimin e monitorimit sipas nevojave tuaja ose të përdorësh cilësimet e paracaktuara.
#Debian/Ubuntu/Centos
/etc/default/atop Skedari standard:
#cat /etc/default/atop
INTERVAL=60 #Время, через которое создаётся снимок нагрузки в секундах, по умолчанию каждые 10 минут
LOGPATH="/var/log/atop" #Путь до папки хранения логов
OUTFILE="$LOGPATH/daily.log" #Название файла логов за сегодняшний день
Shtojmë në autostart
#Debian/Ubuntu/Centos
systemctl enable atop Nisim atop si demon
#Debian/Ubuntu/Centos
systemctl start atop Për ata që janë të lenë, e kam mbledhur në një komandë të vetme
#Centos
yum install atop && systemctl enable atop && systemctl start atop#Debian/Ubuntu
apt-get install atop && systemctl enable atop && systemctl start atopAtopsar
Së bashku me atop, instalohet edhe atopsar, një analizues i dobishëm për logjet binarë që mbajnë demonët atop. Sigurisht, mund të lexosh logjet edhe me atop, por nuk është aq e lehtë nëse dëshiron të kapësh një interval të madh kohe.
Një udhëzues i vogël për funksionimin e atopsar.
Kur nis atopsar pa çelësat, hapet logu i ditës së sotme dhe shfaqet ngarkesa për çdo bërthamë veçmas dhe linja idl për të gjitha bërthamat.
Çelësat që përdor:
-A = shfaq të gjitha informacionet nga logu
-c = shfaq informacion rreth ngarkesës në bërthamat e procesorit, çelësi parazgjedhur
-m = ngarkesa në memorie dhe swap
-d = aktiviteti në disk
-O = top-3 proceset me ngarkesë në CPU
-G = top-3 proceset me ngarkesë në RAM
-D = top-3 proceset me ngarkesë në disk
-N = top-3 proceset me ngarkesë në rrjet
-r = tregoni rrugën për logun që dëshironi të lexoni, nëse dëshironi të shihni ngarkesën e ditëve të kaluara
-b = koha, nga e cila të filloni shfaqjen
-e = koha e cila duhet përfunduar dalja
-M = krijon një kolone shtesë në fund, ku shënohet kritikësia e rreshtit (+ ka ngarkesë, * — ngarkesë kritike)
Përmes monitorimit, ne mund të kuptojmë arsyen e sjelljes së pavend të serverit në çdo kohë.
Njoftimet
Pra, kemi monitorimin e ngarkesës, por ai akoma nuk ofron mundësinë për të identifikuar dhe zgjidhur problemet menjëherë. Na nevojiten njoftime për ndonjë problem të shfaqur.
Unë vetë monitoroj serverët, prandaj duhet të njoftohet aty ku unë gjithmonë mund ta shoh dhe të reagoj ndonjëherë.
Në fillim ishin SMS — shpejt, të besueshëm, falas. Por më pas operatorët celularë ndaluan dërgimin falas të SMS-ve përmes pikave të tyre.
Posta — e ngadalshme, mund të ketë probleme me dorëzimin.
Mesazherët — duhet të instalohen në telefon, është e nevojshme të krijohen bota.
Si rezultat i kërkimit, u zgjodh mesazheri Telegram për thjeshtësinë dhe aplikacionin e përshtatshëm në telefon dhe desktop.
Krijova botin tim përmes .
Më pas vura disa skripta në server që monitorojnë ngarkesën e serverit (IDL, smartct etj.), prania e gabimeve të llojit «oom killer», gabime gjatë krijimit të back-up-it dhe operacione të tjera që duhet të monitora.
Skriptat janë mjaft të thjeshtë, të shkruara në bash, për shembull, kontrolli i LA dhe njoftimi për tejkalimin e Load Average me numrin e njësive në server.
if [ ${LA[0]} -gt 2000 ] || [ ${LA[1]} -gt 3000 ] || [ ${LA[2]} -gt 4000 ]
then
wget -O /dev/null "https://api.telegram.org/$bot_id:$bot_key/sendMessage?chat_id=$chat_id&text=Në serverin $ip LA $LAd"
wget -O /dev/null "https://api.telegram.org/$bot_id:$bot_key/sendMessage?chat_id=$chat_id&text=`top -b -n 1 | grep Cpu`"
wget -O /dev/null "https://api.telegram.org/$bot_id:$bot_key/sendMessage?chat_id=$chat_id&text=Top 5 proceseve `top -b -n 1 | grep -A 5 'PID USER' | tail -5`"
fiThjeshtësia e sintaksës ofron shumë mundësi përdorimi (dhe mund ta shkruajë/shtojë kushdo që pak a shumë zotëron gjuhën e programimit).
Ndonjëherë e vetme — nëse serveri ndodhet në Rusi (dhe nuk keni IPv6 në server), atëherë duhet të përdorni proxy. Për këtë, në fillim të skriptit duhet të shkruani linjën e lidhjes me proxy:
export https_proxy=http://login:password@IP.address:portKjo nuk është fundi
Ti shkon qetash nëpër malet me një çantë në shpinë, duke pushuar nga civilizimi, dhe sapo telefoni, duke kapur rastësisht lidhjen, qon një njoftim për një problem në serverin tënd. Çfarë të bësh? Ndjenjat e qetësisë zhduken si për çudi. Të telefonosh gruan dhe t'i japësh komanda? Haha!
Duhej të gjeja urgjentisht një mënyrë për të zgjidhur problemet që kishin lindur shpejt dhe pa një internet të mirë. Këtu m'u shpëtua sërish mesazheri (#telegrame Kosovës). E mësova botin tim të komunikonte vetëm me mua, duke injoruar të tjerët. Tani, së bashku me njoftimin për çështjen, marr pak më shumë të dhëna, nga të cilat kuptoj se cilat janë burimet e problemit dhe mund ta provoj ta zgjidh nga distanca. Mjafton të shkruaj një mesazh për botin, t'i anoj telefonin lart, që ai mesazh të shkojë, dhe voila – boti fillon të bëjë punën tënde. Kështu mund të ndal ndonjë proces të padëshiruar, të riaktivizoj demonin, të bllokoj IP-në dhe më shumë.
Këtu kam transferuar kërkesat e mundshme nga klientët, për shembull, një rikthim urgjent të fjalëkalimeve për përdoruesit (sepse "Ahhh, nuk mund të hyjmë në server, po humbasim miliona!") apo të gjej përdoruesin që ka qasje në dosjen përkatëse, të aktivizoj dhe çaktivizoj sitin dhe të tjera. Sigurisht që vazhdoj të përmirësoj funksionalitetin e botit, pasi fantazia e klientëve herë pas here sjell kërkesa të papritura dhe të paprogramuara prej meje. Por ata kryesorë janë të kënaqur.
Ekziston edhe një version për VK, por ai nuk ka gjallërinë që prisja.
Tani udhëtoj qetësisht dhe eksploroj këtë botë, pa pasur frikë se diçka do të prishet, dhe unë nuk do të mund ta di ose ta rregulloj.
Burimi: habr.com
