Sida aan u dhisnay la socodka Prometheus, Clickhouse iyo ELK

Magacaygu waa Anton Baderin. Waxaan ka shaqeeyaa Xarunta Tignoolajiyada Sare waxaanan sameeyaa maamulka nidaamka. Bil ka hor, shirkii shirkadeena wuu dhamaaday, halkaas oo aanu kula wadaagnay khibradeena urursan ee bulshada IT-ga ee magaaladeena. Waxaan ka hadlay la socodka codsiyada webka. Qalabka waxaa loogu talagalay kuwa hoose ama dhexe, kuwaas oo aan ka dhisin habkan meel eber ah.

Sida aan u dhisnay la socodka Prometheus, Clickhouse iyo ELK

Dhagaxa gundhigga u ah nidaam kasta oo la socodka waa xallinta mashaakilaadka ganacsiga. U kuurgalidda ilaalinta dartii cidna dani uguma jirto. Muxuu ganacsigu rabaa? Si ay wax walba u shaqeeyaan si dhakhso ah oo aan khaladaad lahayn. Ganacsiyadu waxay rabaan inay noqdaan kuwo firfircoon, si aan nafteena u aqoonsanno dhibaatooyinka adeegga oo aan u hagaajinno sida ugu dhakhsaha badan ee suurtogalka ah. Kuwani, dhab ahaantii, waa dhibaatooyinka aan xalliyo sannadkii hore oo dhan mashruuc loogu talagalay mid ka mid ah macaamiisheena.

Ku saabsan mashruuca

Mashruucu waa mid ka mid ah barnaamijyada daacadnimada ugu weyn ee dalka. Waxaan ka caawineynaa silsiladaha tafaariiqda inay kordhiyaan inta jeer ee iibka iyada oo loo marayo qalab suuqgeyneed oo kala duwan sida kaararka gunnada. Wadar ahaan, mashruuca waxaa ku jira 14 codsi oo ku shaqeeya toban server.

Inta lagu jiro habka wareysiga, waxaan si isdaba joog ah u ogaaday in maamulayaashu aysan had iyo jeer u wajahin la socodka codsiyada webka si sax ah: qaar badan ayaa weli diiradda saaraya cabbirada nidaamka hawlgalka oo marmarna waxay kormeeraan adeegyada.

Kiiskeyga, nidaamka la socodka macaamilka ayaa horey ugu saleysnaa Icinga. Sinaba uma ay xalin dhibaatooyinka kor ku xusan. Badanaa macmiilka laftiisa ayaa nagu wargeliyay dhibaatooyinka, iyo inta badan, ma haysanno xog ku filan si aan u helno gunta sababta.

Intaa waxaa dheer, waxaa jiray faham cad oo ku saabsan faa'iidada horumarinta dheeraadka ah. Waxaan u maleynayaa in kuwa yaqaan Icinga ay i fahmi doonaan. Markaa, waxaan go'aansanay inaan si buuxda dib u habeyn ugu sameyno nidaamka la socodka codsiga shabakadda ee mashruuca.

Prometheus

Waxaan dooranay Prometheus iyadoo ku saleysan saddex tilmaamood oo waaweyn:

  1. Tiro aad u badan oo cabbirro la heli karo Xaaladeena waxaa jira 60 kun oo iyaga ka mid ah. Dabcan, waxaa xusid mudan in aynaan isticmaalin badidooda (malaha ilaa 95%). Dhanka kale, dhamaantood waa kuwo raqiis ah. Annaga, tani waa xad dhaafka kale marka loo eego Icinga-kii hore loo isticmaalay. Dhexdeeda, ku darista mitirku waxay ahayd xanuun gaar ah: kuwa hadda jira waxay ahaayeen kuwo qaali ah (kaliya fiiri koodhka isha ee plugin kasta). Plugin kasta waxa uu ahaa qoraal ku jira Bash ama Python, kaas oo soo saaristiisu qaali ku tahay xagga agabka la isticmaalo.
  2. Nidaamkani wuxuu cunaa qadar yar oo kheyraad ah. 600 MB oo RAM ah, 15% hal xudun ah iyo dhawr iyo toban IOPS ah ayaa ku filan dhammaan cabirradayada. Dabcan, waa inaad socodsiisaa metrics dhoofiyeyaasha, laakiin dhammaantood waxay ku qoran yihiin Go oo sidoo kale maaha kuwo aad u gaajeysan. Uma maleynayo in xaqiiqooyinka casriga ah tani ay tahay dhibaato.
  3. Waxay siisaa awoodda aad ugu haajiraan Kubernetes. Iyadoo la tixgelinayo qorshayaasha macaamiisha, doorashadu waa caddahay.

Elk

Markii hore, ma aanaan ururin ama aan habayn qoraallada. Dhaliiluhu waa u caddahay qof walba. Waxaan dooranay ELK sababtoo ah waxaan horeyba khibrad u lahayn nidaamkan. Waxaan kaliya ku kaydinnaa diiwaanka codsiyada halkaas. Shuruudaha xulashada ugu muhiimsan waxay ahaayeen raadinta qoraal buuxa iyo xawaarihiisa.

Guriga clickhouse

Markii hore, doorashadu waxay ku dhacday InfluxDB. Waxaan xaqiiqsanay baahida loo qabo in la ururiyo diiwaannada Nginx, tirakoobyada pg_stat_statements, iyo kaydinta xogta taariikhiga ah ee Prometheus. Maanu jeclayn qulqulka sababtoo ah waxa ay si xilliyo ah bilowday inay isticmaasho xaddi badan oo xusuusta ah oo ay burburto. Intaa waxaa dheer, waxaan rabay inaan ku kooxeeyo su'aalaha remote_addr, laakiin kooxaynta DBMSkan waa calaamado kaliya. Calaamaduhu waa qaali (xusuusta), nambarkoodu shuruud ahaan waa xaddidan yahay.

Mar labaad ayaanu raadinaynay. Waxa loo baahnaa waxay ahayd xog lafo-gur ah oo ay ku jirto isticmaalka kheyraadka ugu yar, gaar ahaan iyadoo la doorbidayo xogta saxanka.

Clickhouse ayaa buuxisay shuruudahan oo dhan, waligeenna kama qoomamayn doorashadayada. Kuma qorno wax xog ah oo aan caadi ahayn (tirada la geliyo waa qiyaastii shan kun oo keliya daqiiqadii).

NewRelic

NewRelic taariikh ahaan way nala jirtay sababtoo ah waxay ahayd doorashada macmiilka. Waxaan u isticmaalnaa sida APM.

Zabbix

Waxaan u isticmaalnaa Zabbix si gaar ah si aan ula soconno Sanduuqa Madow ee API-yada kala duwan.

Qeexida Habka Kormeerka

Waxa aanu rabnay in aanu hawsha kala furfurno oo aanu habaynno habka kormeerka.

Si tan loo sameeyo, waxaan nidaamkayaga u qaybiyay heerarka soo socda:

  • qalabka iyo VMS;
  • nidaamka hawlgalka;
  • adeegyada nidaamka, kaydka software;
  • codsi;
  • macquulka ganacsiga.

Waa maxay sababta habkani u habboon yahay:

  • Waxaan ognahay cidda mas'uulka ka ah shaqada heer kasta, iyadoo taas laga duulayo, waxaan soo diri karnaa digniino;
  • waxaan isticmaali karnaa qaabdhismeedka marka la xakameynayo digniinaha - waxay noqon laheyd wax la yaab leh in loo diro digniin ku saabsan helitaan la'aanta xogta marka mashiinka farsamada guud ahaan la waayo.

Mar haddii hawshayadu tahay in aan ogaanno xadgudubyada ku jira nidaamka nidaamka, waa in aan heer kasta muujinnaa cabbirro gaar ah oo mudan in fiiro gaar ah loo yeesho marka la qorayo xeerarka digniinta. Marka xigta, aan marno heerarka "VMS", "Nidaamka hawlgalka" iyo "Adeegyada nidaamka, kaydinta software".

Mashiinnada casriga ah

Hosting waxay noo qoondaysaa processor, disk, memory iyo network. Waxaana dhibaato kala kulmay labadii hore. Markaa, cabbirada:

Waqtiga CPU la xaday - marka aad ka iibsanayso mashiinka farsamada ee Amazon (t2.micro, tusaale ahaan), waa inaad fahamtaa in aan laguu qoondeeyn dhammaan processor-ka asaasiga ah, laakiin kaliya qoondaynta waqtigiisa. Markaad daashidna Processor-ka ayaa lagaa qaadayaa.

Qiyaastani waxay kuu ogolaanaysaa inaad la socoto waqtiyadan oo kale oo aad samayso go'aamo. Tusaale ahaan, ma loo baahan yahay in la qaado tariif ka buuran ama loo qaybiyo habaynta hawlaha asalka ah iyo codsiyada API ee adeegayaasha kala duwan?

IOPS + CPU iowait time - sabab qaar ka mid ah, qaar badan oo ka mid ah martigelinta daruuraha ayaa dembaaba iyaga oo aan siin IOPS ku filan. Waxaa intaa dheer, jadwal leh IOPS hoose maaha dood iyaga ah. Sidaa darteed, waxaa habboon in la ururiyo iowait CPU. Labadan garaaf - oo leh IOPS hooseeya iyo sugitaanka I/O sare - waxaad durba la hadli kartaa martigelinta oo aad xallin kartaa dhibaatada.

nidaamka hawlgalka

Qiyaasta nidaamka hawlgalka:

  • xaddiga xusuusta la heli karo ee%;
  • dhaqdhaqaaqa isticmaalka beddelka: vmstat swapin, swapout;
  • tirada inode-ka la heli karo iyo meel bannaan oo nidaamka faylka ah %
  • celceliska culeyska;
  • tirada isku xirka gobolka tw;
  • kontrack miiska buuxa;
  • Tayada shabakada waxaa lagula socon karaa iyadoo la isticmaalayo ss utility, xirmada iproute2 - ka hel tilmaame isku xirka RTT wax soo saarkeeda oo ku kooxee dest dest.

Sidoo kale heerka nidaamka qalliinka waxaanu leenahay hay'ad sida hababka. Waa muhiim in nidaamka lagu garto habraacyo door muhiim ah ka qaadanaya hawl-galkiisa. Haddii, tusaale ahaan, aad haysato dhowr pgpools, markaa waxaad u baahan tahay inaad u ururiso macluumaadka mid kasta oo iyaga ka mid ah.

Qaabka cabbirku waa sida soo socota:

  • PROCESSOR;
  • Xusuusta ugu horayn waa degane;
  • IO - doorbidaya IOPS;
  • FileFd - furan oo xaddid;
  • guuldarada bogga muhiimka ah - habkan waxaad ku fahmi kartaa habka la isku bedelayo.

Waxaan geynaa dhammaan la socodka Docker, waxaanan isticmaalnaa Lataliye si aan u ururino xogta cabbirka. Mashiinnada kale waxaan u isticmaalnaa habka- dhoofiyaha.

Adeegyada nidaamka, kaydka software

Codsi kastaa wuxuu leeyahay waxyaabo u gaar ah, wayna adagtahay in si gaar ah loo qeexo cabbirro gaar ah.

Qaabka caalamiga ah waa:

  • heerka codsiga;
  • tirada khaladaadka;
  • daahsoon;
  • dheregtaan.

Tusaalooyinkayaga ugu yaabka badan ee la socodka heerkan waa Nginx iyo PostgreSQL.

Adeegga ugu badan ee nidaamkayaga ku jira waa kaydka xogta. Waagii hore, inta badan dhib ayaa naga haysatay ogaanshaha waxa kaydka xogta samaynayo.

Waxaan aragnay culeys sare oo saxannada ah, laakiin gaabiska gaabiska ah runtii waxba ma muujin. Waxaan ku xallinay dhibaatadan annagoo adeegsanayna pg_stat_statements, aragti ururisa tirakoobyada weydiinta.

Waa intaas oo dhan maamulku u baahan yahay.

Waxaan dhisnaa garaafyada waxqabadka akhrinta iyo qorista codsiyada:

Sida aan u dhisnay la socodka Prometheus, Clickhouse iyo ELK
Sida aan u dhisnay la socodka Prometheus, Clickhouse iyo ELK

Wax walba waa sahlan yihiin oo cad, codsi kastaa wuxuu leeyahay midab u gaar ah.

Tusaalaha la midka ah ee la midka ah waa Nginx logs. La yaab maaha in dad tiro yar ay ku qiimeeyaan ama ku xusaan liiska waxyaabaha qasabka ah. Qaabka caadiga ahi maaha mid war badan oo wuxuu u baahan yahay in la balaadhiyo.

Shakhsi ahaan, waxaan ku daray request_time, upstream_response_time, body_bytes_sent, request_length, request_id. Waxaan diyaarin waqtiga jawaabta iyo tirada khaladaadka:

Sida aan u dhisnay la socodka Prometheus, Clickhouse iyo ELK
Sida aan u dhisnay la socodka Prometheus, Clickhouse iyo ELK

Waxaan dhisnaa garaafyada waqtiga jawaabta iyo tirada khaladaadka. Xusuusnow? Miyaan ka hadlay hawlaha ganacsiga? Si dhakhso ah oo aan khaladaad lahayn? Horay ayaanu arrimahan ugu soo bandhignay laba jaantus. Oo waxaad mar hore wici kartaa maamulayaasha shaqada iyaga oo isticmaalaya.

Laakiin hal dhibaato oo kale ayaa weli ah - si loo hubiyo in si degdeg ah loo tirtiro sababaha dhacdada.

Xallinta dhacdada

Geedi socodka oo dhan laga bilaabo aqoonsiga ilaa xalinta mushkilada waxa loo qaybin karaa dhawr tilaabo:

  • aqoonsiga dhibaatada;
  • ogeysiinta maamulaha shaqada;
  • ka jawaabista dhacdo;
  • baabi'inta sababaha.

Waa muhiim in aan tan samayno sida ugu dhakhsaha badan. Oo haddii marxaladaha lagu aqoonsanayo dhibaatada iyo soo dirida ogeysiis aan la heli karin waqti badan - laba daqiiqo ayaa lagu kharash garayn doonaa iyaga kiis kasta, ka dibna kuwa ku xiga ayaa si fudud u ah beero la furay si loo hagaajiyo.

Bal aan qiyaasno in taleefoonka sarkaalka heeganka ah uu soo dhacay. Muxuu samayn doonaa? Raadi jawaabaha su'aalaha - maxaa jabay, halkee ka jabay, sida looga falceliyo? Waa kan sida aan uga jawaabno su'aalahan:

Sida aan u dhisnay la socodka Prometheus, Clickhouse iyo ELK

Waxaan si fudud ugu darnaa macluumaadkan oo dhan qoraalka ogeysiiska, siino xiriirinta bogga wiki ee qeexaya sida looga jawaabo dhibaatadan, sida loo xalliyo oo loo kordhiyo.

Wali waxba kamaan sheegin lakabka codsiga iyo macquulnimada ganacsiga. Nasiib darro, codsiyadeenu ma hirgeliyaan ururinta cabbirka. Ilaha kaliya ee macluumaad kasta oo heerarkan ka imanaya waa logs.

Dhowr qodob.

Marka hore, qor qoraallo habaysan. Looma baahna in qoraalka fariinta lagu daro macnaha guud. Tani waxay ka dhigeysaa inay adag tahay in la kooxeeyo oo la falanqeeyo. Logstash waxay qaadataa wakhti dheer si loo caadiyeeyo waxaas oo dhan.

Marka labaad, si sax ah u isticmaal heerarka darnaanta. Luuqad waliba waxay leedahay halbeeg u gaar ah. Shakhsi ahaan, waxaan u kala saaray afar heer:

  1. qalad ma jiro;
  2. Khaladka dhinaca macmiilka;
  3. khaladku waa dhankayaga, ma lumino lacag, ma qaadi karno khataro;
  4. Khaladku waa dhankayaga, lacag ayaanu waynay.

Aan soo koobo. Waxaad u baahan tahay inaad isku daydo inaad dhisto kormeer ku salaysan macquulka ganacsiga. Isku day inaad la socoto arjiga laftiisa oo aad ku shaqeyso cabbirada sida tirada iibka, tirada diiwaan gelinta isticmaalaha cusub, tirada isticmaalayaasha hadda firfircoon, iyo wixii la mid ah.

Haddii meheraddaada oo dhami ay tahay hal badhan oo browserka ku jira, waxaad u baahan tahay inaad la socoto haddii ay dhagto oo si sax ah u shaqeyso. Inta soo hartay oo dhan macno ma leh.

Haddii aadan haysan tan, waxaad isku dayi kartaa inaad la qabsato diiwaannada codsiyada, Nginx logs, iyo wixii la mid ah, sidii aan sameynay. Waa inaad u dhawaataa codsiga intii suurtogal ah.

Qiyaasta nidaamka hawlgalka dabcan waa muhiim, laakiin ganacsigu ma xiisaynayo iyaga, nalama siiyo iyaga.

Source: www.habr.com

Add a comment