PriecÄ«gu piektdienu visiem! Draugi, Å”odien mÄs turpinÄm kursam veltÄ«to publikÄciju sÄriju
UzraudzÄ«ba ir tikko. Tas ir zinÄms fakts. Atveriet Nagios, palaidiet NRPE attÄlajÄ sistÄmÄ, konfigurÄjiet Nagios NRPE TCP portÄ 5666, un jums ir pÄrraudzÄ«ba.
Tas ir tik vienkÄrÅ”i, ka nav interesanti. Tagad jums ir pamata metrika par CPU laiku, diska apakÅ”sistÄmu, operatÄ«vo atmiÅu, kas pÄc noklusÄjuma tiek nodroÅ”inÄta Nagios un NRPE. Bet patiesÄ«bÄ tÄ nav āuzraudzÄ«baā kÄ tÄda. Å is ir tikai sÄkums.
(Parasti viÅi instalÄ PNP4Nagios, RRDtool un Thruk, iestata paziÅojumus Slack un dodas tieÅ”i uz nagiosexchange, taÄu pagaidÄm to atstÄsim).
Laba uzraudzÄ«ba patiesÄ«bÄ ir diezgan sarežģīts, jums patieÅ”Äm ir jÄzina uzraugÄmÄs lietojumprogrammas iekÅ”ÄjÄs Ä«paŔības.
Vai uzraudzība ir sarežģīta?
JebkurÅ” serveris, neatkarÄ«gi no tÄ, vai tas ir Linux vai Windows, pÄc definÄ«cijas kalpos kÄdam mÄrÄ·im. Apache, Samba, Tomcat, failu krÄtuve, LDAP ā visi Å”ie pakalpojumi ir vairÄk vai mazÄk unikÄli vienÄ vai vairÄkos aspektos. Katram ir sava funkcija, savas Ä«paŔības. Ir dažÄdi veidi, kÄ iegÅ«t metriku, KPI (galvenos veiktspÄjas rÄdÄ«tÄjus), kas jums ir interesanti, kad serveris ir noslogots.
FotogrÄfijas autors
(Es vÄlos, lai mani informÄcijas paneļi bÅ«tu neona zilÄ krÄsÄ ā sapÅaini nopÅ«Å”as ā... hmm...)
Jebkurai programmatÅ«rai, kas nodroÅ”ina pakalpojumus, ir jÄbÅ«t mehÄnismam datu vÄkÅ”anai. Apache ir modulis mod-status
, parÄda servera statusa lapu. Nginx ir - stub_status
. Tomcat ir JMX vai pielÄgotas tÄ«mekļa lietojumprogrammas, kas parÄda galvenos rÄdÄ«tÄjus. MySQL ir komanda "show global status" utt.
TÄtad, kÄpÄc izstrÄdÄtÄji savÄs lietojumprogrammÄs neiebÅ«vÄ lÄ«dzÄ«gus mehÄnismus?
Vai to dara tikai izstrÄdÄtÄji?
ZinÄma lÄ«meÅa vienaldzÄ«ba pret metrikas iegulÅ”anu attiecas ne tikai uz izstrÄdÄtÄjiem. Es strÄdÄju uzÅÄmumos, kur viÅi izstrÄdÄja lietojumprogrammas, izmantojot Tomcat, un nesniedzu nekÄdus savus rÄdÄ«tÄjus, pakalpojumu darbÄ«bas žurnÄlus, izÅemot vispÄrÄ«gos Tomcat kļūdu žurnÄlus. Daži izstrÄdÄtÄji Ä£enerÄ daudz žurnÄlu, kas neko nenozÄ«mÄ sistÄmas administratoram, kuram nav paveicies tos izlasÄ«t pulksten 3:15 no rÄ«ta.
FotogrÄfijas autors
SistÄmas inženieriem, kas nodroÅ”ina Å”Ädu produktu izlaiÅ”anu, arÄ« ir jÄuzÅemas zinÄma atbildÄ«ba par situÄciju. Tikai dažiem sistÄmu inženieriem ir laiks vai rÅ«pes, lai mÄÄ£inÄtu no žurnÄliem iegÅ«t jÄgpilnu metriku bez Å”o metrikas konteksta un iespÄjas tos interpretÄt, Åemot vÄrÄ lietojumprogrammu darbÄ«bas. Daži nesaprot, kÄdu labumu no tÄ var gÅ«t, izÅemot rÄdÄ«tÄjus "kaut kas paÅ”laik nav (vai drÄ«zumÄ bÅ«s) nepareizi".
DomÄÅ”anas maiÅai par metriku nepiecieÅ”amÄ«bu ir jÄnotiek ne tikai izstrÄdÄtÄju, bet arÄ« sistÄmu inženieru vidÅ«.
Ikvienam sistÄmu inženierim, kuram ir ne tikai jÄreaÄ£Ä uz kritiskiem notikumiem, bet arÄ« jÄnodroÅ”ina, lai tie nenotiktu, metrikas trÅ«kums parasti ir ŔķÄrslis to darÄ«t.
TomÄr sistÄmu inženieri parasti nestrÄdÄ ar kodu, lai pelnÄ«tu naudu savam uzÅÄmumam. ViÅiem ir nepiecieÅ”ami vadoÅ”ie izstrÄdÄtÄji, kas saprot sistÄmu inženiera atbildÄ«bas nozÄ«mi problÄmu identificÄÅ”anÄ, izpratnes veicinÄÅ”anÄ par veiktspÄjas problÄmÄm un tamlÄ«dzÄ«gi.
Å Ä« devops lieta
Devops mentalitÄte apraksta sinerÄ£iju starp attÄ«stÄ«bas (dev) un operÄciju (ops) domÄÅ”anu. Jebkuram uzÅÄmumam, kas apgalvo, ka veic devops, ir:
- saka lietas, ko viÅi, iespÄjams, nedara (atsaucoties uz The Princess Bride mÄmu ā "Es nedomÄju, ka tas nozÄ«mÄ to, ko jÅ«s domÄjat!")
- VeicinÄt attieksmi pret nepÄrtrauktu produktu uzlaboÅ”anu.
JÅ«s nevarat uzlabot produktu un zinÄt, ka tas ir uzlabots, ja nezinÄt, kÄ tas paÅ”laik darbojas. JÅ«s nevarat zinÄt, kÄ produkts darbojas, ja nesaprotat, kÄ darbojas tÄ sastÄvdaļas, pakalpojumi, no kuriem tas ir atkarÄ«gs, tÄ galvenÄs sÄpju vietas un vÄjÄs vietas.
Ja jÅ«s neuzmanÄ«sit iespÄjamÄs vÄjÄs vietas, rakstot pÄcnÄves grÄmatu, jÅ«s nevarÄsit ievÄrot Five Whys tehniku. JÅ«s nevarÄsiet visu ievietot vienÄ ekrÄnÄ, lai redzÄtu, kÄ produkts darbojas, vai zinÄt, kÄ tas izskatÄs "parasts un laimÄ«gs".
PÄrslÄdziet pa kreisi, pa kreisi, es teicu LÄ«...
Man viens no galvenajiem Devops principiem ir ānobÄ«de pa kreisiā. PÄrbÄ«de pa kreisi Å”ajÄ kontekstÄ nozÄ«mÄ iespÄju mainÄ«t (nekÄdas atbildÄ«bas, bet tikai iespÄjas), lai veiktu darbÄ«bas, kas parasti rÅ«p sistÄmu inženieriem, piemÄram, izveidot veiktspÄjas rÄdÄ«tÄjus, efektÄ«vÄk izmantot žurnÄlus utt., kas atrodas programmatÅ«ras piegÄdes dzÄ«ves cikla kreisajÄ pusÄ.
FotogrÄfijas autors
ProgrammatÅ«ras izstrÄdÄtÄjiem ir jÄspÄj izmantot un zinÄt uzraudzÄ«bas rÄ«kus, ko uzÅÄmums izmanto, lai veiktu uzraudzÄ«bu visos tÄ veidos, metrikÄ, reÄ£istrÄÅ”anÄ, uzraudzÄ«bas saskarnÄs un, pats galvenais, skatÄ«ties, kÄ viÅu produkts darbojas ražoÅ”anÄ. JÅ«s nevarat likt izstrÄdÄtÄjiem ieguldÄ«t pÅ«les un laiku uzraudzÄ«bÄ, kamÄr viÅi nevar redzÄt rÄdÄ«tÄjus un ietekmÄt to izskatu, kÄ produkta Ä«paÅ”nieks tos iepazÄ«stina ar CTO nÄkamajÄ instruktÄÅ¾Ä utt.
ÄŖsÄk sakot
- Pieved zirgu pie Å«dens. ParÄdiet izstrÄdÄtÄjiem, cik daudz problÄmu viÅi paÅ”i var izvairÄ«ties, palÄ«dziet viÅiem noteikt pareizos KPI un metriku savÄm lietojumprogrammÄm, lai mazÄk bļautu no produkta Ä«paÅ”nieka, uz kuru kliedz CTO. Viegli un mierÄ«gi izvediet tos gaismÄ. Ja tas nedarbojas, uzpirkt, draudÄt un mudinÄt viÅus vai produkta Ä«paÅ”nieku, lai tie pÄc iespÄjas ÄtrÄk ieviestu Å”os rÄdÄ«tÄjus no lietojumprogrammÄm, un pÄc tam uzzÄ«mÄjiet diagrammas. Tas bÅ«s sarežģīti, jo tas netiks uzskatÄ«ts par prioritÄti, un produktu ceļvedÄ« bÅ«s daudz nepabeigtu projektu, kas rada ieÅÄmumus. TÄpÄc jums bÅ«s nepiecieÅ”ams biznesa gadÄ«jums, lai pamatotu laiku un izdevumus, kas pavadÄ«ti, ievieÅ”ot uzraudzÄ«bu produktÄ.
- PalÄ«dziet sistÄmu inženieriem labi izgulÄties. ParÄdiet viÅiem, ka kontrolsaraksta āatlaidÄ«simā izmantoÅ”ana jebkuram izlaistajam produktam ir laba lieta. Un pÄrliecinoties, ka visas ražoÅ”anas lietojumprogrammas ir pÄrklÄtas ar metriku, jÅ«s varÄsiet labÄk gulÄt naktÄ«, ļaujot izstrÄdÄtÄjiem redzÄt, kas un kur notiek nepareizi. TomÄr pareizais veids, kÄ kairinÄt un nomÄkt jebkuru izstrÄdÄtÄju, produkta Ä«paÅ”nieku vai CTO, ir pastÄvÄt un pretoties. Å Ä« darbÄ«ba ietekmÄs jebkura produkta izlaiÅ”anas datumu, ja atkal gaidÄ«sit lÄ«dz pÄdÄjai minÅ«tei, tÄpÄc atkal pÄrvietojiet pa kreisi un pÄc iespÄjas ÄtrÄk iekļaujiet Ŕīs problÄmas savÄ projekta plÄnÄ. Ja nepiecieÅ”ams, dodieties uz produktu sanÄksmÄm. ValkÄjiet viltotas Å«sas un filcu vai kaut ko citu, tas nekad neizdosies. PaziÅojiet par savÄm bažÄm, parÄdiet skaidrus ieguvumus un sludiniet evaÅÄ£elizÄciju.
- NodroÅ”iniet, lai gan izstrÄde (izstrÄdÄtÄjs), gan operÄcijas (operÄcijas) saprastu produktu metrikas nozÄ«mi un sekas, kas nonÄk sarkanajÄ zonÄ. NeatstÄjiet Ops kÄ vienÄ«go produktu veselÄ«bas sargu, pÄrliecinieties, ka ir iesaistÄ«ti arÄ« izstrÄdÄtÄji (#productsquads).
- Baļķi ir lieliska lieta, taÄu tÄ ir arÄ« metrika. Apvienojiet tos un neļaujiet saviem baļķiem kļūt par atkritumiem milzÄ«gÄ liesmojoÅ”Ä bezjÄdzÄ«bas bumbÄ. Izskaidrojiet un parÄdiet izstrÄdÄtÄjiem, kÄpÄc neviens cits nesapratÄ«s viÅu žurnÄlus, parÄdiet, kÄ ir skatÄ«ties uz nederÄ«giem žurnÄliem pulksten 3:15 no rÄ«ta.
FotogrÄfijas autors
Tas ir viss. NÄkamnedÄļ tiks izdots jauns materiÄls. Ja vÄlaties uzzinÄt vairÄk par kursu, mÄs aicinÄm jÅ«s uz to
Avots: www.habr.com