Munharaunda yeSRE / DevOps mainjiniya, hazvishamisi chero munhu kuti rimwe zuva mutengi (kana hurongwa hwekutarisa) anooneka uye anoshuma kuti "zvese zvakarasika": saiti haishande, kubhadhara hakupfuuri, hupenyu huri kuora. ... Hazvina mhosva kuti ungada kubatsira zvakadini mumamiriro ezvinhu akadaro , zvinogona kuva zvakaoma kuita izvi pasina chinhu chiri nyore uye chinonzwisisika. Kazhinji dambudziko rakavanzwa mukodhi yekushandisa pachayo; iwe unongoda kuigadzirisa.
Uye mukusuwa nemurufaro...
Zvakaitika kuti isu takatora nguva refu uye zvakadzama murudo neNew Relic. Yakanga iri uye inoramba iri chishandiso chakanakisa chekutarisa kuita kwekushandisa, uye zvakare inobvumidza iwe kuridza iyo microservice architecture (uchishandisa mumiriri wayo) uye zvakawanda, zvimwe zvakawanda. Uye zvese zvaigona kunge zvakanaka dai zvisiri zvekuchinja mumutemo wemitengo wesevhisi: iwo mutengo
Mamiriro ezvinhu akajairwa: Nyowani Relic haidiwe pa "zvisingaperi"; vanoirangarira chete panguva iyo matambudziko anotanga. Asi iwe uchiri kufanira kubhadhara nguva dzose (140 USD pasevha pamwedzi), uye mune yega yega chiyero chegore zvivakwa mari dzinowedzera zvakakura. Kunyangwe paine yePay-As-You-Go sarudzo, kugonesa New Relic kunoda kuti utangezve application, izvo zvinogona kutungamira mukurasikirwa kwemamiriro ane dambudziko kwaakatangira. Munguva pfupi yapfuura, New Relic yakaunza chirongwa chitsva chemitero -
Nekuda kweizvozvo, takatanga kufunga nezve kutsvaga imwe yakachipa, uye sarudzo yedu yakawira pamasevhisi maviri: Datadog uye Atatus. Sei pavari?
Nezvevakwikwidzi
Rega nditaure pakarepo kuti pane zvimwe zvinogadziriswa pamusika. Isu takatofunga nezve Open Source sarudzo, asi havasi vese mutengi ane mahara emahara ekugamuchira ega-anotambira mhinduro ... - mukuwedzera, ivo vanozoda imwe gadziriso. Vaviri vatakasarudza ndivo vaiva vepedyo zvatinoda:
- yakavakirwa-mukati uye yakagadziridzwa rutsigiro rwePHP zvikumbiro (mutengi wevatengi vedu wakasiyana, asi uyu ndiye mutungamiri akajeka mumamiriro ekutsvaga imwe nzira yeNew Relic);
- mutengo unokwanisika (pasi pe100 USD pamwedzi wega wega);
- otomatiki chiridzwa;
- kubatanidzwa neKubernetes;
- Kufanana kweiyo New Relic interface ndeye inoonekwa yekuwedzera (nekuti mainjiniya edu anoijaira).
Naizvozvo, padanho rekutanga rekusarudza, takabvisa akati wandei akakurumbira mhinduro, uye kunyanya:
- Tideways, AppDynamics uye Dynatrace - yemutengo;
- Stackify yakavharwa muRussian Federation uye inoratidza data shoma.
Chinyorwa chasara chakarongedzerwa nenzira yekuti mhinduro dzirimubvunzo dzinotanga kuratidzwa muchidimbu, mushure mezvo ini ndichataura nezve yedu yakajairika yekudyidzana neNew Relic uye ruzivo / kufungidzira kubva mukuita mashandiro akafanana mune mamwe masevhisi.
Mharidzo yevakwikwidzi vakasarudzwa
pamusoro
Nekudaro, iyo New Relic mumiriri inomhanya pane proprietary protocol uye haitsigire OpenTracing. Chiridzwa chepamberi chinoda kugadziridzwa kwakanangana neNew Relic. Pakupedzisira, Kubernetes tsigiro ichiri kuyedza.
Yakatanga kuvandudzwa kwayo muna 2010
Pakushandisa Datadog, takasangana kuti dzimwe nguva yaivaka iyo microservice mepu zvisizvo, uye kumwe kukanganisa kwehunyanzvi. Semuyenzaniso, yakatadza kuziva rudzi rwesevhisi (kukanganisa Django kune caching service) uye yakakonzera kukanganisa mazana mashanu muchirongwa chePHP uchishandisa raibhurari yakakurumbira yePredis.
Chinhu chakakosha dhizaini ndechekuti inongotsigira Node.js uye PHP. Kune rimwe divi, rinoitwa zvinoonekwa zvirinani pane Datadog. Kusiyana neyekupedzisira, Atatus haidi maapplication ekugadzirisa kana kuwedzera mamwe mavara kune kodhi.
Mashandisiro atinoita neNew Relic
Zvino ngatitarisei kuti isu tinowanzo shandisa sei New Relic. Ngatitii tine dambudziko rinoda kugadziriswa:
Zviri nyore kuona pane girafu splash - Ngatizviongorore. MuNew Relic, kutengeserana kwewebhu kunosarudzwa pakarepo nokuda kwekushanda kwewebhu, zvikamu zvose zvinoratidzwa mugirafu yekushanda, pane kukanganisa-chiyero, chikumbiro-chiyero mapaneru ... Chinonyanya kukosha ndechokuti zvakananga kubva pane zvikwangwani izvi unogona kufamba pakati pezvakasiyana. zvikamu zvekushandisa (semuenzaniso, kudzvanya paMySQL kunotungamira kune chikamu che database).
Sezvo mumuenzaniso uri kutariswa tinoona kuwedzera kwekuita PHP, tinya pachati iyi wobva waenda kwairi Transactions:
Rondedzero yekutengeserana, iyo inonyanya kudzora kubva kuMVC modhi, yakatorongwa nayo Nguva yakawanda inopedza, iyo iri nyore kwazvo: isu tinobva tangoona izvo application inoita. Heino mienzaniso yemibvunzo mirefu inounganidzwa neNew Relic. Nekuchinja kurongedza, zviri nyore kuwana:
- iyo yakanyanya kurodha application controller;
- mutongi anonyanya kukumbirwa;
- inononoka yevanodzora.
Mukuwedzera, iwe unogona kuwedzera kutengeserana kwega kwega uye kuona izvo application yaiitwa panguva iyo kodhi yakaitwa:
Chekupedzisira, iyo application inochengeta mienzaniso yezvichemo zvekukumbira kwenguva refu (izvo zvinotora anopfuura 2 masekondi). Heino mapaneru ekutengeserana kwenguva refu:
Zvinogona kuonekwa kuti nzira mbiri dzinotora nguva yakawanda, uye panguva imwechete iyo nguva iyo chikumbiro chakaitwa, URI yayo uye domain inoratidzwawo. Kazhinji kazhinji izvi zvinobatsira kuwana chikumbiro mumatanda. Kuenda ku Tsanangura tsanangudzo, unogona kuona kunonzi nzira idzi kubva:
Uye mukati Database mibvunzo - Ongorora mibvunzo kune dhatabhesi dzakaitwa panguva iyo application iri kushanda:
Takashongedzerwa neruzivo urwu, tinogona kuongorora kuti sei application iri kudzikira uye kushanda nemugadziri kuti vauye nezano rekugadzirisa dambudziko. Muchokwadi, New Relic haiwanzo kupa mufananidzo wakajeka, asi inobatsira kusarudza vector yekuferefeta:
- refu
PDO::Construct
akatitungamirira kukushanda kunoshamisa kwepgpoll; - kusagadzikana nekufamba kwenguva
Memcache::Get
akataura kuti muchina chaiwo wakagadzirwa zvisiri izvo; - nguva inofungidzira yakawedzera yekugadziriswa kwetemplate yakatungamira kune dendere chiuno chekutarisa kuvepo kwe500 maavatars mukuchengetedza chinhu;
- nezvimweβ¦
Izvo zvinoitikawo kuti pachinzvimbo chekuita kodhi, chimwe chinhu chine chekuita nekuchengetera data chekunze chinokura pachiratidziro chikuru - uye hazvina basa kuti chii chichava: Redis kana PostgreSQL - ese akavanzika mubhu. Databases.
Iwe unogona kusarudza hwaro hwekutsvaga uye kuronga mibvunzo - yakafanana nemaitirwo azvinoitwa muTransactions. Uye nekuenda kune yekukumbira tebhu, unogona kuona kuti kangani chikumbiro ichi chinoitika mune yega yega yeanodzora maapplication, uye zvakare fungidzira kuti kangani inodanwa. Yakanyanya kugadzikana:
Iyo tebhu ine data yakafanana External Services, iyo inovanza zvikumbiro kune ekunze HTTP masevhisi, akadai sekuwana chinhu chekuchengetedza, kutumira zviitiko kune vanotumira, kana zvimwewo. Iyo tebhu yakafanana zvachose mune zvemukati kune Databases:
Vanokwikwidza: mikana uye zvinoonekwa
Iye zvino chinhu chinonyanya kufadza ndechekuenzanisa kugona kweNew Relic nezvinopihwa nevakwikwidzi. Nehurombo, isu hatina kukwanisa kuyedza ese matatu maturusi pane imwe vhezheni yeimwe application inoshanda mukugadzira. Zvisinei, takaedza kuenzanisa mamiriro ezvinhu / zvigadziridzo zvaive zvakafanana sezvinobvira.
1.Datadog
Datadog inotikwazisa nepaneru ine madziro emasevhisi:
Inoedza kuputsa zvikumbiro kuita zvikamu / microservices, saka mumuenzaniso Django application tichaona 2 kubatana kuPostgreSQL (defaultdb
ΠΈ postgres
), uyewo Celery, Redis. Kushanda neDatadog kunoda kuti iwe uve neruzivo rushoma rweMVC misimboti: iwe unofanirwa kunzwisisa kuti zvikumbiro zvemushandisi zvinowanzobva kupi. Izvi zvinowanzobatsira services mepu:
Nenzira, pane chimwe chinhu chakafanana muNew Relic:
... uye mepu yavo, mumaonero angu, inoitwa zviri nyore uye zvakajeka: hairatidze zvikamu zveimwe application (izvo zvingaite kuti iwedzere kutsanangurwa, senge iri nyaya yeDatadog), asi chete masevhisi chaiwo kana microservices.
Ngatidzokere kuDatadog: kubva pamepu yebasa tinogona kuona kuti zvikumbiro zvevashandisi zvinouya kuDjango. Handei kushumiro yeDjango tozoona zvataitarisira:
Nehurombo, hapana girafu pano nekukasira Web transaction nguva, zvakafanana nezvatinoona pane huru New Relic panel. Zvisinei, inogona kugadzirwa panzvimbo yepurogiramu % yeNguva yakashandiswa. Zvakakwana kuishandura Avg nguva pachikumbiro neType... uye zvino girafu yakajairika iri kutarisa kwatiri!
Sei Datadog yakasarudza chati yakasiyana chinhu chakavanzika kwatiri. Chimwe chinhu chinoshungurudza ndechekuti sisitimu haiyeuki kusarudzwa kwemushandisi (kusiyana nevakwikwidzi vese), uye saka mhinduro chete ndeyekugadzira mapaneru etsika.
Asi ini ndakafadzwa nekugona muDatadog kushandura kubva kune aya magirafu kune metrics emaseva ane hukama, verenga matanda uye ongorora mutoro pawebhu server vanobata (Gunicorn). Zvese zvakada kufanana neMutsva Relic ... uye kunyangwe zvishoma (matanda)!
Pazasi pemagirafu pane kutengeserana kwakafanana neNew Relic:
MuDatadog, kutengeserana kunodanwa zviwanikwa. Iwe unogona kuronga vatongi nenhamba yezvikumbiro, neavhareji nguva yekupindura, uye nepamusoro penguva yakashandiswa kwenguva yakasarudzwa.
Iwe unogona kuwedzera sosi uye kuona zvese zvatakatoona muNew Relic:
Pane zviverengero pane zvekushandisa, runyoro rwakajairwa rwekufona kwemukati, uye mienzaniso yezvikumbiro zvinogona kurongeka nekodhi yekupindura ... Nenzira, mainjiniya edu akanyatso kunakidzwa uku kuronga.
Chero muenzaniso sosi muDatadog inogona kuvhurwa uye kudzidzwa:
Kumbira paramita, pfupiso yechati yenguva yakashandiswa pane chimwe nechimwe chikamu, uye mapopoma emvura anoratidza kutevedzana kwekufona kunounzwa. Iwe unogona zvakare kushandura kune yemuti maonero eiyo waterfall chati:
Uye chinonyanya kufadza kuona mutoro wemugamuchiri pakaitwa chikumbiro uye kuona matanda ekukumbira.
Kubatanidzwa kukuru!
Unogona kushamisika kuti ma tabs aripi Databases ΠΈ External Services, sezvakaita muNew Relic. Iko hakuna pano: sezvo Datadog inoparadza application kuita zvikamu, PostgreSQL ichatariswa imwe sevhisi yakasiyana, uye panzvimbo yeExternal Services zvakakodzera kutsvaga aws.storage
(zvichafanana kune ese ekunze sevhisi iyo application inogona kuwana).
Heino muenzaniso ne postgres
:
Chaizvoizvo pane zvese zvataida:
Iwe unogona kuona kuti ndeipi "sevhisi" chikumbiro chakabva.
Hazvingave zvakashata kukuyeuchidza kuti Datadog inobatanidza zvakakwana ne NGINX Ingress uye inokubvumira kuti uite kuguma-kusvika-kumagumo kubva panguva iyo chikumbiro chasvika musumbu, uye inokubvumirawo kugamuchira statsd metrics, kuunganidza matanda uye metrics yekutambira. .
Kuwedzera kukuru kweDatadog ndiyo mutengo wayo inovandudza kubva pakutariswa kwezvivakwa, APM, Log Management uye Synthetics bvunzo, i.e. Iwe unogona kusarudza chirongwa chako zviri nyore.
2.Atatus
Chikwata cheAtatus chinoti sevhisi yavo "yakafanana neNew Relic, asi iri nani." Ngationei kuti zviri izvo here.
Iyo main panel inoita seyakafanana, asi zvanga zvisingaite kuona iyo Redis uye memcached inoshandiswa mukushandisa.
APM inosarudza zvese zvekutengesa nekukasira, kunyangwe kazhinji chete mawebhusaiti ewebhu anodiwa. Kufanana neDatadog, hapana nzira yekufamba uchienda kune yaunoda sevhisi kubva kune main panel. Uyezve, kutengeserana kwakanyorwa mushure mezvikanganiso, izvo zvisingaite senge zvine musoro kune APM.
MuAtatus transactions, zvese zvakafanana sezvinobvira kuNew Relic. Izvo zvakaderera ndezvekuti ma dynamics emutongi wega wega haaonekwe pakarepo. Iwe unofanirwa kuzvitsvaga mu controller tafura, kuronga ne Nguva Yakawanda Inopedzwa:
Iyo yakajairika rondedzero yevatongi inowanikwa mune iyo tab pasura:
Mune dzimwe nzira, tafura iyi inoyeuchidza yeDatadog uye ndinoifarira zvirinani pane yakafanana muNew Relic.
Iwe unogona kuwedzera kutengeserana kwega kwega uye kuona zvaiitwa neapp:
Iyo pani zvakare inoyeuchidza nezveDatadog: kune akati wandei zvikumbiro, mufananidzo wakazara wekufona. Peneru yepamusoro inopa kukanganisa tab HTTP Kukundikana uye mienzaniso yemibvunzo inononoka Session Traces:
Kana iwe uchienda kune kutengeserana, iwe unogona kuona muenzaniso wekutsvaga, iwe unogona kuwana runyoro rwezvikumbiro kune database uye tarisa pane yekukumbira misoro. Zvese zvakafanana neNew Relic:
Kazhinji, Atatus aifadzwa neakadzama traces - pasina yakajairwa New Relic gluing yekufona kuita chiyeuchidzo block:
Nekudaro, inoshaya sefa iyo (senge New Relic) yaizogura zvikumbiro zvekukurumidza-kukurumidza (<5ms). Kune rumwe rutivi, ndaifarira kuratidzwa kwekupedzisira kwekutengeserana mhinduro (kubudirira kana kukanganisa).
Panel Databases ichakubatsira iwe kudzidza zvikumbiro kune ekunze dhatabhesi iyo application inoita. Rega ndikuyeuchidze kuti Atatus yakawana PostgreSQL neMySQL chete, kunyangwe Redis uye memcached vanobatanidzwawo muprojekiti.
Zvikumbiro zvinorongedzerwa zvinoenderana nemaitiro akajairwa: mhinduro frequency, avhareji yenguva yekupindura, zvichingodaro. Ndinodawo kutaura tebhu ine mibvunzo inononoka - iri nyore kwazvo. Zvakare, iyo data iri mune ino tebhu yePostgreSQL yakabatana neiyo data kubva pakuwedzera
Tab Zvikumbiro Zvekunze zvakafanana zvachose kune Databases.
zvakawanikwa
Maturusi ese ari maviri akaitwa akanyatsoita basa reAPM. Chero ipi zvayo inogona kupa hushoma hunodiwa. Maonero edu anogona kupfupikiswa sezvizvi:
datadog
Pros:
- hurongwa hwemutero hwakakodzera (APM inodhura 31 USD pamuenzi);
- akashanda zvakanaka nePython;
- Kugona kwekubatanidza ne OpenTracing
- kubatanidzwa neKubernetes;
- kubatanidzwa ne NGINX Ingress.
Cons:
- iyo chete APM yakaita kuti application ive isingawanikwe nekuda kwekukanganisa kwemodule (predis);
- isina simba PHP auto-instrumentation;
- zvimwe zvinoshamisa tsananguro yemasevhisi uye chinangwa chawo.
Atatus
Pros:
- yakadzika PHP chiridzwa;
- mushandisi interface yakafanana neNew Relic.
Cons:
- haishande pane ekare masisitimu ekushandisa (Ubuntu 12.05, CentOS 5);
- isina simba auto-instrumentation;
- rutsigiro rwemitauro miviri chete (Node.js uye PHP);
- Slow interface.
Tichifunga nezvemutengo weAtatus we69 USD pamwedzi pasevha, isu tinoda kushandisa Datadog, iyo inobatanidza zvakanaka nezvatinoda (web applications muK8s) uye ine akawanda anobatsira maficha.
PS
Verenga zvakare pablog yedu:
- Β«
Zvishandiso zvevagadziri vezvishandiso zvinomhanya paKubernetes "; - Β«
kubectl-debug plugin ye debugging muKubernetes pods "; - Β«
Microservices: Saizi zvine basa, kunyangwe iwe uine Kubernetes ".
Source: www.habr.com