Kwete Nyowani Relic chete: kutarisa kuDatadog uye Atatus

Kwete Nyowani Relic chete: kutarisa kuDatadog uye Atatus

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 kubva mugore re2013 yakakura 3+ nguva. Uye zvakare, kubvira gore rapfuura, kuwana account yekuyedza kunoda kutaurirana nemaneja wega, izvo zvinoita kuti zviome kupa chigadzirwa kune angangoita mutengi.

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 - zvinokosha, - iyo pakutanga inoratidzika seimwe nzira inonzwisisika kune Professional ... asi pakanyatsoongorora zvakaona kuti mamwe mabasa anokosha haasipo (kunyanya, haana Key Transactions, Cross Application Tracing, Distributed Tracing).

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

Kwete Nyowani Relic chete: kutarisa kuDatadog uye Atatus
pamusoro New Relic, zvichida munhu wose anzwa? Iyi sevhisi yakatanga kuvandudzwa makore anopfuura gumi apfuura, muna 10. Isu tanga tichiri kuishandisa kubvira 2008 uye hatina matambudziko ekubatanidza nhamba yakakura chaizvo yezvishandiso muPHP, Ruby nePython, uye isu takave zvakare neruzivo rwekubatanidza neC # uye Go. Vanyori vesevhisi vane mhinduro dzekutarisa maapplication, zvivakwa, kutsvaga microservice zvivakwa, vakagadzira zviri nyore zvikumbiro zvevashandisi zvishandiso, nezvimwe zvakawanda.

Nekudaro, iyo New Relic mumiriri inomhanya pane proprietary protocol uye haitsigire OpenTracing. Chiridzwa chepamberi chinoda kugadziridzwa kwakanangana neNew Relic. Pakupedzisira, Kubernetes tsigiro ichiri kuyedza.

Kwete Nyowani Relic chete: kutarisa kuDatadog uye Atatus
Yakatanga kuvandudzwa kwayo muna 2010 datadog inotaridzika kunakidza kupfuura New Relic chaizvo maererano nekushandiswa munzvimbo dzeKubernetes. Kunyanya, inotsigira kubatanidzwa ne NGINX Ingress, log collection, statsd uye OpenTracing protocols, iyo inokubvumira kuti utarise chikumbiro chemushandisi kubva panguva iyo yakabatanidzwa kusvika pakupedzwa, pamwe nekutsvaga matanda echikumbiro ichi (zvose zviri pawebhu server side. uye pamutengi).

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.

Kwete Nyowani Relic chete: kutarisa kuDatadog uye Atatus
Atatus β€” gotwe chiridzwa; sevhisi yakatangwa muna 2014. Iyo bhajeti yekushambadzira inonyatso yakaderera kune vakanyorwa vakwikwidzi, kutaurwa kunonyanya kuderera. Nekudaro, chishandiso pachacho chakafanana neNew Relic, kwete chete mukugona kwayo (APM, Browser monitoring, nezvimwewo), asiwo muchitarisiko.

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:

Kwete Nyowani Relic chete: kutarisa kuDatadog uye Atatus

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:

Kwete Nyowani Relic chete: kutarisa kuDatadog uye Atatus

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:

Kwete Nyowani Relic chete: kutarisa kuDatadog uye Atatus

Chekupedzisira, iyo application inochengeta mienzaniso yezvichemo zvekukumbira kwenguva refu (izvo zvinotora anopfuura 2 masekondi). Heino mapaneru ekutengeserana kwenguva refu:

Kwete Nyowani Relic chete: kutarisa kuDatadog uye Atatus

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:

Kwete Nyowani Relic chete: kutarisa kuDatadog uye Atatus

Uye mukati Database mibvunzo - Ongorora mibvunzo kune dhatabhesi dzakaitwa panguva iyo application iri kushanda:

Kwete Nyowani Relic chete: kutarisa kuDatadog uye Atatus

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.

Kwete Nyowani Relic chete: kutarisa kuDatadog uye Atatus

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:

Kwete Nyowani Relic chete: kutarisa kuDatadog uye Atatus

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:

Kwete Nyowani Relic chete: kutarisa kuDatadog uye Atatus

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:

Kwete Nyowani Relic chete: kutarisa kuDatadog uye Atatus

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:

Kwete Nyowani Relic chete: kutarisa kuDatadog uye Atatus

Nenzira, pane chimwe chinhu chakafanana muNew Relic:

Kwete Nyowani Relic chete: kutarisa kuDatadog uye Atatus

... 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:

Kwete Nyowani Relic chete: kutarisa kuDatadog uye Atatus

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!

Kwete Nyowani Relic chete: kutarisa kuDatadog uye Atatus

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:

Kwete Nyowani Relic chete: kutarisa kuDatadog uye Atatus

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:

Kwete Nyowani Relic chete: kutarisa kuDatadog uye Atatus

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:

Kwete Nyowani Relic chete: kutarisa kuDatadog uye Atatus

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:

Kwete Nyowani Relic chete: kutarisa kuDatadog uye Atatus

Uye chinonyanya kufadza kuona mutoro wemugamuchiri pakaitwa chikumbiro uye kuona matanda ekukumbira.

Kwete Nyowani Relic chete: kutarisa kuDatadog uye Atatus

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).

Kwete Nyowani Relic chete: kutarisa kuDatadog uye Atatus

Heino muenzaniso ne postgres:

Kwete Nyowani Relic chete: kutarisa kuDatadog uye Atatus

Chaizvoizvo pane zvese zvataida:

Kwete Nyowani Relic chete: kutarisa kuDatadog uye Atatus

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.

Kwete Nyowani Relic chete: kutarisa kuDatadog uye Atatus

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:

Kwete Nyowani Relic chete: kutarisa kuDatadog uye Atatus

Iyo yakajairika rondedzero yevatongi inowanikwa mune iyo tab pasura:

Kwete Nyowani Relic chete: kutarisa kuDatadog uye Atatus

Mune dzimwe nzira, tafura iyi inoyeuchidza yeDatadog uye ndinoifarira zvirinani pane yakafanana muNew Relic.

Iwe unogona kuwedzera kutengeserana kwega kwega uye kuona zvaiitwa neapp:

Kwete Nyowani Relic chete: kutarisa kuDatadog uye Atatus

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:

Kwete Nyowani Relic chete: kutarisa kuDatadog uye Atatus

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:

Kwete Nyowani Relic chete: kutarisa kuDatadog uye Atatus

Kazhinji, Atatus aifadzwa neakadzama traces - pasina yakajairwa New Relic gluing yekufona kuita chiyeuchidzo block:

Kwete Nyowani Relic chete: kutarisa kuDatadog uye Atatus
Kwete Nyowani Relic chete: kutarisa kuDatadog uye Atatus

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.

Kwete Nyowani Relic chete: kutarisa kuDatadog uye Atatus

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 pg_stat_statements - mhedzisiro yakanaka!

Kwete Nyowani Relic chete: kutarisa kuDatadog uye Atatus

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:

Source: www.habr.com

Voeg