Kwimekobume yeenjineli ze-SRE / DevOps, akuyi kumangalisa nabani na ukuba ngolunye usuku umthengi (okanye inkqubo yokubeka iliso) ibonakala kwaye ibike ukuba "yonke into ilahlekile": isayithi ayisebenzi, iintlawulo azihambi, ubomi buyabola. ... Kungakhathaliseki ukuba ungathanda kangakanani ukunceda kwimeko enjalo , ukwenza oku ngaphandle kwesixhobo esilula nesiqondakalayo kunokuba nzima kakhulu. Ngokuqhelekileyo ingxaki ifihliwe kwikhowudi yesicelo ngokwayo;
Naselusizini naseluvuyweni...
Kwenzekile ukuba kudala kwaye sithandana kakhulu neNew Relic. Yayisisixhobo kwaye sihlala sisixhobo esibalaseleyo sokujonga ukusebenza kwesicelo, kwaye ikuvumela ukuba wenze isixhobo soyilo lwe-microservice (usebenzisa iarhente yayo) kunye nokunye okuninzi. Kwaye yonke into yayinokuba kuhle ukuba kwakungekho utshintsho kumgaqo-nkqubo wamaxabiso wenkonzo: yona iindleko
Imeko eqhelekileyo: I-Relic entsha ayidingeki "ngokusisigxina" bayayikhumbula kuphela ngexesha xa iingxaki ziqala. Kodwa kusafuneka uhlawule rhoqo (i-140 USD ngeseva nganye ngenyanga), kwaye kwisiseko selifu sokukala ngokuzenzekelayo iimali zongeza kunokuba zikhulu. Nangona kukho ukhetho lwe-Pay-As-You-Go, ukwenza i-Relic eNtsha kuya kufuna ukuba uqalise kwakhona isicelo, nto leyo enokukhokelela ekuphulukaneni nemeko eyingxaki ebiqalwe ngayo. Kungekudala, i-Relic entsha yazisa isicwangciso esitsha serhafu-
Ngenxa yoko, saqala ukucinga ngokukhangela enye indlela engabizi kakhulu, kwaye ukhetho lwethu lwawela kwiinkonzo ezimbini: I-Datadog kunye ne-Atatus. Kutheni kubo?
Malunga nabakhuphisana nabo
Makhe nditsho kwangoko ukuba kukho ezinye izisombululo kwiimarike. Siye saqwalasela iinketho zoMthombo oVulekileyo, kodwa ayinguye wonke umxhasi onamandla okusingatha izisombululo ezizibambayo ... - ukongeza, ziya kufuna ukugcinwa okongeziweyo. Isibini esisikhethileyo savela sesona sisondeleyo kuso iimfuno zethu:
- inkxaso eyakhelwe-ngaphakathi kunye nokuphuhliswa kwezicelo ze-PHP (i-stack yabathengi bethu ihluke kakhulu, kodwa le yinkokeli ecacileyo kumxholo wokukhangela enye indlela kwi-New Relic);
- ixabiso elifikelelekayo (ngaphantsi kwe-100 USD ngenyanga ngomninimzi);
- isixhobo esizenzekelayo;
- ukudibanisa neKubernetes;
- Ukufana kwi-interface entsha ye-Relic yinto ephawulekayo (kuba iinjineli zethu zisetyenziselwa yona).
Ke ngoko, kwinqanaba lokuqala lokukhetha, siye sasusa ezinye izisombululo ezininzi ezidumileyo, kwaye ngakumbi:
- Tideways, AppDynamics kunye Dynatrace - ngeendleko;
- I-Stackify ivaliwe kwi-Russian Federation kwaye ibonisa idatha encinci kakhulu.
Elinye inqaku licwangciswe ngendlela yokuba izisombululo ekuthethwa ngazo ziya kuthi thaca ngokufutshane, emva koko ndiza kuthetha ngonxibelelwano lwethu oluqhelekileyo kunye neNew Relic kunye namava / imbonakalo yokwenza imisebenzi efanayo kwezinye iinkonzo.
Ukuboniswa kwabakhuphisana abakhethiweyo
phezu
Nangona kunjalo, iarhente eNtsha yeRelic isebenza kwiiprothokholi zobunikazi kwaye ayixhasi i-OpenTracing. Isixhobo esikwinqanaba eliphezulu sifuna ukuhlelwa ngokukodwa kwiRelic eNtsha. Ekugqibeleni, inkxaso ye-Kubernetes isazama.
Yaqala uphuhliso lwayo ngo-2010
Xa usebenzisa i-Datadog, siye sadibana nokuba ngamanye amaxesha yakha imephu ye-microservice ngokungalunganga, kunye nezinye iintsilelo zobugcisa. Ngokomzekelo, ayiluchazi kakuhle uhlobo lwenkonzo (iphosakele i-Django ngenkonzo ye-caching) kwaye ibangele iimpazamo ze-500 kwisicelo se-PHP usebenzisa ilayibrari ye-Predis eyaziwayo.
I-drawback ebalulekileyo kukuba ixhasa kuphela i-Node.js kunye ne-PHP. Kwelinye icala, iphunyezwa ngokubonakalayo ngcono kuneDatadog. Ngokungafaniyo neyokugqibela, i-Atatus ayifuni izicelo zokwenza utshintsho okanye ukongeza iilebhile ezongezelelweyo kwikhowudi.
Sisebenza njani ngeNew Relic
Ngoku makhe sibone ukuba siyisebenzisa njani ngokubanzi iRelic entsha. Masithi sinengxaki efuna isisombululo:
Kulula ukuyibona kwigrafu spike - Makhe siyihlalutye. Kwi-Relic eNtsha, ukuthengiselana kwewebhu kukhethwe ngokukhawuleza kwisicelo sewebhu, onke amacandelo abonakaliswe kwigrafu yokusebenza, kukho i- error rate, iipaneli zezinga lesicelo ... Eyona nto ibaluleke kakhulu kukuba ngokuthe ngqo kula mapaneli ungahamba phakathi kweendlela ezahlukeneyo. iinxalenye zesicelo (umzekelo, ukucofa kwi-MySQL kuya kukhokelela kwicandelo lesiseko sedatha).
Ekubeni kumzekelo oqwalaselwayo sibona ukunyuka komsebenzi PHP, cofa kule tshathi kwaye ngokuzenzekelayo uye ku Intsebenzo:
Uluhlu lweentengiselwano, ezilawulwa ngokuyimfuneko kwimodeli ye-MVC, sele ihlelwe ngayo Ixesha elininzi lidla, eluncedo kakhulu: sibona ngokukhawuleza ukuba isicelo senza ntoni. Nantsi imizekelo yemibuzo emide eqokelelwa ngokuzenzekelayo yiNew Relic. Ngokutshintsha ukumisa, kulula ukuyifumana:
- oyena mlawuli wesicelo ulayishiweyo;
- umlawuli ocelwe rhoqo;
- eyona icothayo kubalawuli.
Ukongeza, unokwandisa intengiselwano nganye kwaye ubone ukuba isicelo besisenza ntoni ngexesha lekhowudi isenziwa:
Ekugqibeleni, isicelo sigcina imizekelo yokulandela izicelo ezide (ezo zithatha ngaphezu kwemizuzwana emi-2). Nantsi indawo yolawulo yentengiselwano ende:
Ingabonwa ukuba iindlela ezimbini zithatha ixesha elininzi, kwaye ngexesha elifanayo xa isicelo senziwe, i-URI yayo kunye ne-domain nayo ibonisiwe. Ngokuqhelekileyo oku kunceda ukufumana isicelo kwiilogi. Ndiya e Landela iinkcukacha, unokubona apho ezi ndlela zibizwa khona:
Ngaphakathi Imibuzo yedatabase -vavanya imibuzo koovimba beenkcukacha ezithe zaqhutywa ngelixa isicelo siqhutywa:
Sixhobe ngolu lwazi, sinokuvavanya ukuba kutheni isicelo sicotha kwaye sisebenze nomphuhlisi ukuze beze nesicwangciso sokusombulula ingxaki. Enyanisweni, i-Relic entsha ayisoloko inika umfanekiso ocacileyo, kodwa iyanceda ukukhetha i-vector yophando:
- ixesha elide
PDO::Construct
wasikhokelela ekusebenzeni okungaqhelekanga kwe-pgpoll; - Ukungazinzi ekuhambeni kwexesha
Memcache::Get
icebise ukuba umatshini wenyani ubulungiswa ngendlela engalunganga; - ixesha elongeziweyo ngokukrokrelayo lokusetyenzwa kwetemplate kukhokelele kwi-loop enendlwane ejonga ubukho bee-avatars ezingama-500 kwindawo yokugcina into;
- njl ...
Kwakhona kwenzeka ukuba endaweni yokwenza ikhowudi, into ehambelana nokugcinwa kwedatha yangaphandle ikhula kwisikrini esikhulu - kwaye akunandaba nokuba kuya kuba yintoni: Redis okanye PostgreSQL - zonke zifihliwe kwithebhu. neeDathabheyisi.
Unokukhetha isiseko esithile sophando kwaye uhlele imibuzo - efana nendlela eyenziwa ngayo kwiiNtengiselwano. Kwaye ngokuya kwisicelo isithuba, unokubona ukuba mangaphi amaxesha esi sicelo senzekayo kumlawuli ngamnye wesicelo, kwaye uqikelele ukuba sibizwa kangaphi. Ikhululekile kakhulu:
Ithebhu iqulethe idatha efanayo Iinkonzo zangaphandle, efihla izicelo kwiinkonzo ze-HTTP zangaphandle, ezifana nokufikelela kwindawo yokugcina izinto, ukuthumela iziganeko kumthumeli, okanye ezifana. Umxholo wethebhu ufana ngokupheleleyo noovimba beenkcukacha:
Abakhuphisanayo: amathuba kunye nemibono
Ngoku eyona nto inomdla kakhulu kukuthelekisa amandla e-Relic eNtsha kunye nezinto okhuphisana nazo. Ngelishwa, asikwazanga ukuvavanya zonke izixhobo ezithathu kuguqulelo olunye lwesicelo esinye esisebenza kwimveliso. Nangona kunjalo, sizame ukuthelekisa iimeko / ulungelelwaniso olufana ngokusemandleni.
1.Datadog
I-Datadog isibulisa ngephaneli enodonga lweenkonzo:
Izama ukwaphula izicelo zibe ngamacandelo/iinkonzo ezincinci, ngoko ke kumzekelo wesicelo se-Django siza kubona unxibelelwano olu-2 kwi-PostgreSQL (defaultdb
ΠΈ postgres
), kunye neCelery, iRedis. Ukusebenza neDatadog kufuna ukuba ube nolwazi oluncinci lwemigaqo ye-MVC: kufuneka uqonde apho izicelo zomsebenzisi zivela khona ngokubanzi. Oku kudla ngokunceda imephu yeenkonzo:
Ngendlela, kukho into efanayo kwi-Relic eNtsha:
... kwaye imephu yabo, ngokombono wam, yenziwe ibe lula kwaye icace ngakumbi: ayibonisi amacandelo esicelo esinye (esiya kwenza ukuba sichazwe ngokugqithiseleyo, njengokuba kunjalo kwimeko yeDatadog), kodwa kuphela iinkonzo ezithile okanye ii-microservices.
Masibuyele kwi-Datadog: ukusuka kwimephu yenkonzo sinokubona ukuba izicelo zabasebenzisi ziza kwi-Django. Masiyeni kwinkonzo ye-Django kwaye ekugqibeleni sibone into ebesiyilindele:
Ngelishwa, akukho grafu apha ngokungagqibekanga Ixesha lentengiselwano yewebhu, ngokufana noko sikubonayo kwiphaneli ephambili yeRelic Relic. Nangona kunjalo, inokuthi iqwalaselwe endaweni yeshedyuli Ipesenti yeXesha elichithiweyo. Kwanele ukuyitshintshela kuyo Ixesha eliphakathi ngokwesicelo ngokohlobo... kwaye ngoku igrafu eqhelekileyo ijonge kuthi!
Kutheni i-Datadog ikhethe itshathi eyahlukileyo iyimfihlakalo kuthi. Enye into ephazamisayo kukuba inkqubo ayikhumbuli ukhetho lomsebenzisi (ngokungafaniyo nabakhuphisana nabo bobabini), kwaye ngoko ke isisombululo kuphela kukudala iipaneli zesiko.
Kodwa ndandonwabile ngokukwazi kwiDatadog ukutshintshela kwezi grafu ukuya kwiimetriki zamaseva ahambelanayo, funda iilogi kwaye uvavanye umthwalo kubaphathi bewebhu (i-Gunicorn). Yonke into iphantse yafana neNew Relic ... kwaye nangaphezulu (iilogi)!
Apha ngezantsi kweegrafu kukho intengiselwano efana ngokupheleleyo neNew Relic:
Kwi-Datadog, ukuthengiselana kubizwa izixhobo. Ungahlela abalawuli ngenani lezicelo, nge-avareji yexesha lokuphendula, kunye nexesha elininzi elichithwe kwixesha elikhethiweyo.
Ungasikhulisa isibonelelo kwaye ubone yonke into esele siyibonile kwiNew Relic:
Kukho izibalo kwi-resource, uluhlu oluqhelekileyo lweefowuni zangaphakathi, kunye nemizekelo yezicelo ezinokuthi zihlelwe ngekhowudi yokuphendula ... Ngendlela, iinjineli zethu zithande ngokwenene oku kulungiswa.
Nawuphi na umzekelo womthombo kwi-Datadog unokuvulwa kwaye ufundwe:
Cela iiparamitha, itshathi yesishwankathelo sexesha elichithwe kwicandelo ngalinye, kunye netshati yeengxangxasi ebonisa ukulandelelana kweefowuni zinikezelwe. Ungatshintshela kumbono womthi wetshati yeengxangxasi:
Kwaye eyona nto inomdla kakhulu kukujonga umthwalo wenginginya apho isicelo senziwe kwaye ujonge iilog zesicelo.
Ukudibanisa okukhulu!
Unokuzibuza ukuba ziphi iithebhu neeDathabheyisi ΠΈ Iinkonzo zangaphandle, njengakwiRelic Entsha. Akukho nanye apha: ekubeni i-Datadog ibolisa isicelo kumacandelo, i-PostgreSQL iya kuqwalaselwa inkonzo eyahlukileyo, kwaye endaweni yeeNkonzo zaNgaphandle kufanelekile ukukhangela aws.storage
(iya kufana nayo yonke enye inkonzo yangaphandle isicelo esinokufikelela kuyo).
Nanku umzekelo nge postgres
:
Ngokwenyani kukho yonke into esiyifunayo:
Unokubona ukuba yeyiphi "inkonzo" isicelo esisuka kuyo.
Bekungayi kuba yinto ephosakeleyo ukukukhumbuza ukuba i-Datadog idibanisa ngokugqibeleleyo kunye ne-NGINX Ingress kwaye ikuvumela ukuba wenze umkhondo wokuphela ukuya ekupheleni ukusuka kumzuzu isicelo sifika kwiqela, kwaye ikuvumela ukuba ufumane i-statsd metrics, uqokelele iilogi kunye neemetriki zokusingatha. .
I-plus enkulu ye-Datadog kukuba ixabiso layo iyasonga ukusuka esweni lweziseko zophuhliso, i-APM, i-Log Management kunye novavanyo lwe-Synthetics, okt. Unokukhetha isicwangciso sakho ngokuguquguqukayo.
2.Atatu
Iqela le-Atatus lithi inkonzo yabo "iyafana neNew Relic, kodwa ingcono." Makhe sibone ukuba oku kunjalo ngokwenene.
Indawo yolawulo ephambili ijongeka ngokufanayo, kodwa bekungenzeki ukumisela iRedis kunye ne-memcached esetyenziswe kwisicelo.
I-APM ikhetha zonke iintengiselwano ngokungagqibekanga, nangona ngokuqhelekileyo kufunwa iintengiselwano zeWebhu kuphela. NjengeDatadog, akukho ndlela yokuhamba ukuya kwinkonzo efunwayo kwiphaneli ephambili. Ngaphezu koko, iintengiselwano zidweliswe emva kweempazamo, ezingabonakali zisengqiqweni kwi-APM.
Kwintengiselwano ye-Atatus, yonke into iyafana ngokusemandleni kwiNew Relic. Icala elisezantsi kukuba i-dynamics yomlawuli ngamnye ayibonakali ngokukhawuleza. Kufuneka uyikhangele kwitafile yomlawuli, uhlele nge Ixesha elininzi Elisetyenzisiweyo:
Uluhlu oluqhelekileyo lwabalawuli luyafumaneka kwithebhu Phonononga:
Ngandlela thile, le theyibhile ikhumbuza iDatadog kwaye ndiyithanda ngcono kunaleyo ikwiNew Relic.
Ungayandisa intengiselwano nganye kwaye ubone ukuba isicelo besisenza ntoni:
Iphaneli iphinda ikhumbule ngakumbi i-Datadog: kukho inani lezicelo, umfanekiso oqhelekileyo weefowuni. Indawo yolawulo ephezulu ibonelela ngesithuba sesithuba HTTP Ukusilela kunye nemizekelo yemibuzo ecothayo Imizila yeseshoni:
Ukuba uya kwi-transaction, unokubona umzekelo wokulandelela, unokufumana uluhlu lwezicelo kwisiseko sedatha kwaye ujonge iintloko zesicelo. Yonke into iyafana neRelic entsha:
Ngokubanzi, u-Atatus uyonwabile kukulandelelwa okuneenkcukacha-ngaphandle kwe-Relic entsha yokuncamathelisa iminxeba kwibhloko yesikhumbuzi:
Nangona kunjalo, ayinasihluzi esinokuthi (njenge-Relic eNtsha) inqumle izicelo ezikhawulezayo (<5ms). Ngakolunye uhlangothi, ndandithanda umboniso wempendulo yokugqibela yentengiselwano (impumelelo okanye impazamo).
Iphaneli neeDathabheyisi kuya kukunceda ufunde izicelo kugcino lwedatha lwangaphandle esenziwa sisicelo. Makhe ndikukhumbuze ukuba i-Atatus ifumene i-PostgreSQL kunye ne-MySQL kuphela, nangona i-Redis kunye ne-memcached nazo zibandakanyeka kwiprojekthi.
Izicelo zihlelwe ngokwemiqathango eqhelekileyo: ukuphindaphinda kwempendulo, ixesha lokuphendula eliphakathi, njalo njalo. Ndingathanda ukukhankanya ithebhu ngeyona mibuzo icothayo-ilunge kakhulu. Ngaphezu koko, idatha kule thebhu yePostgreSQL ihambelana nedatha evela ekwandisweni
Isithuba Izicelo zaNgaphandle iyafana ngokupheleleyo noovimba beenkcukacha.
ezifunyanisiweyo
Zombini izixhobo ezinikezelweyo ziqhube kakuhle kwindima ye-APM. Nawuphi na kubo unokunika ubuncinane obufunekayo. Izimvo zethu zingashwankathelwa ngokufutshane ngolu hlobo lulandelayo:
Idatadog
Iinkonzo:
- ishedyuli yentlawulo efanelekileyo (i-APM ixabisa i-31 USD ngomkhosi ngamnye);
- usebenze kakuhle ngePython;
- Ukubanakho kokudityaniswa ne-OpenTracing
- ukudibanisa neKubernetes;
- ukudibanisa kunye ne-NGINX Ingress.
Umgcini:
- i-APM kuphela ebangele ukuba isicelo singafumaneki ngenxa yempazamo yemodyuli (predis);
- isixhobo esizenzekelayo se-PHP;
- ngokuyinxenye ingcaciso engaqhelekanga yeenkonzo kunye nenjongo yazo.
Atatus
Iinkonzo:
- izixhobo ezinzulu ze-PHP;
- ujongano lomsebenzisi olufana neNew Relic.
Umgcini:
- ayisebenzi kwiinkqubo ezindala zokusebenza (Ubuntu 12.05, CentOS 5);
- i-auto-instrumentation ebuthathaka;
- inkxaso kwiilwimi ezimbini kuphela (Node.js kunye PHP);
- Ujongano olucothayo.
Ukuqwalasela ixabiso le-Atatus le-69 USD ngenyanga ngeseva nganye, singathanda ukusebenzisa i-Datadog, edibanisa kakuhle neemfuno zethu (usetyenziso lwewebhu kwii-K8s) kwaye lunezinto ezininzi eziluncedo.
PS
Funda nakwibhlog yethu:
- Β«
Izixhobo zabaphuhlisi bezicelo ezisebenza kwi-Kubernetes "; - Β«
kubectl-debug plugin yolungiso lweempazamo kwi-Kubernetes pods "; - Β«
Iinkonzo ezincinci: Ubungakanani bubalulekile, nokuba unayo iKubernetes Β».
umthombo: www.habr.com