Emvelweni wonjiniyela be-SRE/DevOps, ngeke kumangaze noma ubani ukuthi ngolunye usuku iklayenti (noma uhlelo lokuqapha) livela futhi libike ukuthi "konke kulahlekile": isayithi alisebenzi, izinkokhelo azidluli, impilo iyabola. ... Kungakhathaliseki ukuthi ungathanda kangakanani ukusiza esimweni esinjalo , kungaba nzima kakhulu ukwenza lokhu ngaphandle kwethuluzi elilula neliqondakalayo. Ngokuvamile inkinga ifihliwe kukhodi yohlelo lokusebenza ngokwayo; udinga nje ukuyenza indawo.
Nasosizini nasentokozweni...
Kwenzekile ukuthi sesinesikhathi eside futhi sathandana kakhulu ne-New Relic. Bekuyithuluzi elihle kakhulu lokuqapha ukusebenza kohlelo lokusebenza, futhi likuvumela ukuthi usebenzise i-microservice architecture (usebenzisa i-ejenti yayo) nokunye okuningi. Futhi konke bekungaba kuhle ukube bekungengenxa yezinguquko kunqubomgomo yentengo yesevisi: yona izindleko
Isimo esijwayelekile: I-Relic Entsha ayidingeki βunomphelaβ; bayikhumbula kuphela ngaleso sikhathi lapho izinkinga ziqala. Kodwa usadinga ukukhokha njalo (i-140 USD ngeseva ngayinye ngenyanga), futhi kungqalasizinda yefu ekala ngokuzenzakalelayo izibalo ziba nkulu kakhulu. Yize kunenketho ye-Pay-As-You-Go, ukunika amandla i-New Relic kuzodinga ukuthi uqale kabusha uhlelo, okungase kuholele ekulahlekelweni yisimo esiyinkinga konke okuqalwe ngaso. Kungekudala, i-New Relic yethule uhlelo olusha lwe-tariff -
Ngenxa yalokho, saqala ukucabanga ngokufuna enye indlela eshibhile, futhi ukukhetha kwethu kwawela kumasevisi amabili: I-Datadog ne-Atatus. Kungani kubo?
Mayelana nezimbangi
Mangisho zisuka nje ukuthi zikhona ezinye izixazululo emakethe. Saze sacabangela izinketho ze-Open Source, kodwa akuwona wonke amaklayenti anekhono lamahhala lokusingatha izixazululo ezizibambele yona... - ngaphezu kwalokho, zizodinga ukulungiswa okwengeziwe. Umbhangqwana esiwukhethile kube yiwona osondelene kakhulu nawo izidingo zethu:
- usekelo olwakhelwe ngaphakathi noluthuthukisiwe lwezinhlelo zokusebenza ze-PHP (isitaki samakhasimende ethu sihluke kakhulu, kodwa lo ungumholi ocacile kumongo wokucinga enye indlela ye-New Relic);
- izindleko ezithengekayo (ngaphansi kuka-100 USD ngenyanga ngosingathi ngamunye);
- izinsimbi ezizenzakalelayo;
- ukuhlanganiswa neKubernetes;
- Ukufana kwe-New Relic interface kuyaphawuleka (ngoba onjiniyela bethu bakujwayele).
Ngakho-ke, esigabeni sokuqala sokukhetha, sisuse ezinye izixazululo ezimbalwa ezithandwayo, futhi ikakhulukazi:
- Tideways, AppDynamics kanye Dynatrace - ngezindleko;
- I-Stackify ivinjiwe e-Russian Federation futhi ibonisa idatha encane kakhulu.
Enye ingxenye ye-athikili ihlelwe ngendlela yokuthi izixazululo okukhulunywa ngazo zizokwethulwa kafushane kuqala, ngemva kwalokho ngizokhuluma ngokusebenzelana kwethu okujwayelekile ne-New Relic kanye nesipiliyoni/imibono evela ekwenzeni imisebenzi efanayo kwezinye izinkonzo.
Ukwethulwa kwezimbangi ezikhethiwe
Mayelana
Nokho, i-ejenti entsha ye-Relic isebenza kumaphrothokholi obunikazi futhi ayisekeli i-OpenTracing. Izinsimbi ezithuthukisiwe zidinga ukuhlelwa ngokuqondile kwe-New Relic. Okokugcina, ukusekelwa kwe-Kubernetes kusahlolwa.
Iqale ukuthuthuka ngo-2010
Uma sisebenzisa i-Datadog, sihlangabezane nokuthi kwesinye isikhathi yakha imephu ye-microservice ngokungalungile, kanye nokushiyeka okuthile kwezobuchwepheshe. Isibonelo, ilukhombe kabi uhlobo lwesevisi (iphutha i-Django ngesevisi yokugcina isikhashana) futhi yabangela amaphutha angu-500 kuhlelo lokusebenza lwe-PHP kusetshenziswa umtapo wezincwadi we-Predis odumile.
I-drawback ephawulekayo ukuthi isekela kuphela i-Node.js ne-PHP. Ngakolunye uhlangothi, isetshenziswa ngokuphawulekayo kangcono kune-Datadog. Ngokungafani nalokhu kwakamuva, i-Atatus ayidingi izinhlelo zokusebenza ukwenza izinguquko noma ukwengeza amalebula engeziwe kukhodi.
Sisebenza kanjani nge-New Relic
Manje ake sibheke ukuthi sivame ukusebenzisa kanjani i-New Relic. Ake sithi sinenkinga edinga isixazululo:
Kulula ukukubona kugrafu fafaza - Ake siyihlaziye. Ku-New Relic, ukuthengiselana kwewebhu kukhethwa ngokushesha kuhlelo lokusebenza lewebhu, zonke izingxenye zikhonjiswe kugrafu yokusebenza, kukhona isilinganiso samaphutha, amaphaneli esilinganiso sesicelo... Okubaluleke kakhulu ukuthi usuka kulawa maphaneli unganyakaza phakathi kokuhlukile. izingxenye zohlelo lokusebenza (isibonelo, ukuchofoza ku-MySQL kuzoholela esigabeni sesizindalwazi).
Njengoba esibonelweni esicatshangelwayo sibona ukwanda komsebenzi PHP, chofoza leli shadi bese uya ngokuzenzakalelayo ku Ukuthengiselana:
Uhlu lwemisebenzi, okungabalawuli abasuka kumodeli ye-MVC, seluhlungwe ngakho Kudla isikhathi esiningi, okuyinto elula kakhulu: sibona ngokushesha ukuthi isicelo senzani. Nazi izibonelo zemibuzo emide eqoqwa ngokuzenzakalelayo yi-New Relic. Ngokushintsha ukuhlunga, kulula ukuyithola:
- isilawuli sohlelo lokusebenza esilayishwe kakhulu;
- isilawuli esicelwa kakhulu;
- ezihamba kancane kwezilawuli.
Ngaphezu kwalokho, unganweba umsebenzi ngamunye futhi ubone ukuthi isicelo benzani ngesikhathi kukhishwa ikhodi:
Ekugcineni, uhlelo lokusebenza lugcina izibonelo zeminonjana yezicelo ezinde (lezo ezithatha imizuzwana emi-2). Nali iphaneli yomsebenzi omude:
Kungabonakala ukuthi izindlela ezimbili zithatha isikhathi esiningi, futhi ngesikhathi esifanayo lapho isicelo senziwe, i-URI yayo kanye nesizinda nazo ziboniswa. Ngokuvamile lokhu kusiza ukuthola isicelo kulogi. Iya ku Landela imininingwane, ungabona lapho lezi zindlela zibizwa khona:
Futhi ku Imibuzo yesizindalwazi - hlola imibuzo kuzinqolobane ezisetshenziswe ngesikhathi isicelo sisasebenza:
Sihlome ngalolu lwazi, singahlola ukuthi kungani uhlelo lokusebenza lwehla futhi sisebenzisane nonjiniyela ukuze siqhamuke nesu lokuxazulula inkinga. Eqinisweni, i-New Relic ayinikezi isithombe esicacile ngaso sonke isikhathi, kodwa iyasiza ukukhetha i-vector yophenyo:
- eside
PDO::Construct
usiholele ekusebenzeni okungajwayelekile kwe-pgpoll; - ukungazinzi ngokuhamba kwesikhathi
Memcache::Get
uphakamise ukuthi umshini we-virtual ulungiselelwe ngokungalungile; - isikhathi esikhuphukile ngokusolisayo sokucutshungulwa kwesifanekiso siholele ku-loop enesidleke ehlola ukuba khona kwama-avatar angu-500 endaweni yokugcina into;
- njll...
Kuyenzeka futhi ukuthi esikhundleni sokwenza ikhodi, okuthile okuhlobene nokugcinwa kwedatha yangaphandle kukhula esikrinini esikhulu - futhi akunandaba ukuthi kuzoba yini: I-Redis noma i-PostgreSQL - zonke zifihliwe kuthebhu. yolwazi.
Ungakhetha isisekelo esithile socwaningo futhi uhlele imibuzo - efana nendlela okwenziwa ngayo kokuthi Okwenziwe. Futhi ngokuya kuthebhu yesicelo, ungabona ukuthi lesi sicelo senzeka kangaki kusilawuli ngasinye sohlelo lokusebenza, futhi ulinganise ukuthi sibizwa kaningi kangakanani. Ikhululekile kakhulu:
Ithebhu iqukethe idatha efanayo Izinkonzo Zangaphandle, efihla izicelo ezinsizeni zangaphandle ze-HTTP, njengokufinyelela isitoreji sezinto, ukuthumela imicimbi kubathumeli, noma okufanayo. Okuqukethwe kwethebhu kufana ngokuphelele ne-Databases:
Izimbangi: amathuba kanye nokuvelayo
Manje into ethakazelisa kakhulu ukuqhathanisa amakhono e-New Relic nalokho okunikezwa izimbangi. Ngeshwa, asikwazanga ukuhlola wonke amathuluzi amathathu enguqulweni eyodwa yohlelo lokusebenza olulodwa olusebenza ekukhiqizweni. Kodwa-ke, sizame ukuqhathanisa izimo/ukulungiselela okwakufana ngangokunokwenzeka.
1. Idatadog
I-Datadog isibingelela ngephaneli enodonga lwezinsizakalo:
Izama ukuphula izinhlelo zokusebenza zibe izingxenye/ama-microservices, ngakho-ke esibonelweni sesicelo se-Django sizobona ukuxhumana oku-2 ku-PostgreSQL (defaultdb
ΠΈ postgres
), kanye neCelery, Redis. Ukusebenza ne-Datadog kudinga ukuthi ube nolwazi oluncane lwezimiso ze-MVC: udinga ukuqonda ukuthi izicelo zabasebenzisi ngokuvamile zivelaphi. Lokhu kuvame ukusiza imephu yezinsizakalo:
Ngendlela, kukhona okufanayo ku-New Relic:
... futhi imephu yabo, ngokubona kwami, yenziwa ibe lula futhi icace: ayibonisi izingxenye zohlelo lokusebenza olulodwa (okungalenza libe nemininingwane eminingi ngokweqile, njengasesimeni se-Datadog), kodwa kuphela izinsizakalo ezithile noma ama-microservices.
Masibuyele ku-Datadog: kusuka kumephu yesevisi singabona ukuthi izicelo zabasebenzisi ziza ku-Django. Asiye kusevisi ye-Django futhi ekugcineni sibone ukuthi besikulindele:
Ngeshwa, ayikho igrafu lapha ngokuzenzakalelayo Isikhathi somsebenzi wewebhu, okufana nesikubona kuphaneli ye-New Relic eyinhloko. Nokho, ingalungiselelwa esikhundleni seshejuli % Isikhathi esichithiwe. Kwanele ukuyishintsha Isikhathi esimaphakathi ngesicelo ngasinye ngohlobo... futhi manje igrafu ejwayelekile isibheke!
Kungani i-Datadog ikhethe ishadi elihlukile kuyimfihlakalo kithi. Enye into ekhungathekisayo ukuthi uhlelo alukhumbuli ukukhetha komsebenzisi (ngokungafani nabancintisana nabo bobabili), ngakho-ke isisombululo kuphela ukudala amaphaneli angokwezifiso.
Kodwa ngijabule ngekhono le-Datadog lokushintsha kusuka kulawa magrafu kuya kumamethrikhi amaseva ahlobene, ngifunde izingodo futhi ngihlole umthwalo kubaphathi beseva yewebhu (Gunicorn). Yonke into icishe ifane neye-New Relic... ngisho nangaphezulu (amalogi)!
Ngezansi kwamagrafu kukhona ukuthengiselana okufana ngokuphelele ne-New Relic:
Ku-Datadog, ukuthengiselana kubizwa izinsiza. Ungakwazi ukuhlunga izilawuli ngenani lezicelo, ngesilinganiso sesikhathi sokuphendula, kanye nesikhathi esiphezulu esichithwe isikhathi esikhethiwe.
Unganweba insiza futhi ubone yonke into esesivele siyibonile ku-New Relic:
Kunezibalo kusisetshenziswa, uhlu olujwayelekile lwamakholi angaphakathi, nezibonelo zezicelo ezingahlungwa ngekhodi yokuphendula... Nokho, onjiniyela bethu bakuthande ngempela lokhu kuhlunga.
Noma iyiphi insiza eyisibonelo ku-Datadog ingavulwa futhi ifundwe:
Amapharamitha wokucela, ishadi lesifinyezo sesikhathi esichithwe engxenyeni ngayinye, kanye neshadi lempophoma elibonisa ukulandelana kwezingcingo kwethulwa. Ungakwazi futhi ukushintshela ekubukeni kwesihlahla kweshadi lempophoma:
Futhi into ethakazelisa kakhulu ukubuka umthwalo womsingathi lapho isicelo senziwe khona nokubuka izingodo zesicelo.
Ukuhlanganiswa okuhle kakhulu!
Ungase uzibuze ukuthi akuphi amathebhu yolwazi ΠΈ Izinkonzo Zangaphandle, njengaku-New Relic. Akukho lapha: njengoba i-Datadog ibola uhlelo lokusebenza lube izingxenye, i-PostgreSQL izocatshangelwa isevisi ehlukile, futhi esikhundleni Sezinkonzo Zangaphandle kufanelekile ukuzifuna aws.storage
(izofana nayo yonke enye isevisi yangaphandle uhlelo lokusebenza olungafinyelela kuyo).
Nasi isibonelo nge postgres
:
Empeleni kukhona konke ebesikufuna:
Ungabona ukuthi iyiphi "isevisi" isicelo esiphuma kuyo.
Ngeke kube iphutha ukukukhumbuza ukuthi i-Datadog ihlanganisa ngokuphelele ne-NGINX Ingress futhi ikuvumela ukuthi wenze ukulandelela ekupheleni kuya ekupheleni kusukela ngesikhathi isicelo sifika ku-cluster, futhi ikuvumela ukuthi uthole amamethrikhi we-statsd, uqoqe amalogi kanye namamethrikhi wokusingatha. .
I-plus enkulu ye-Datadog ukuthi intengo yayo iyathuthuka kusukela ekuqaphelweni kwengqalasizinda, i-APM, i-Log Management kanye nokuhlolwa kwe-Synthetics, i.e. Ungakhetha uhlelo lwakho kalula.
2.Atatu
Ithimba le-Atatus lithi inkonzo yabo βiyafana ne-New Relic, kodwa ingcono.β Ake sibone ukuthi kunjalo ngempela yini.
Iphaneli eliyinhloko libukeka lifana, kodwa akwenzekanga ukunquma i-Redis kanye ne-memcached esetshenziswe kuhlelo lokusebenza.
I-APM ikhetha konke okwenziwayo ngokuzenzakalela, nakuba ngokuvamile kuphela okwenziwa ngeWebhu okudingekayo. Njengaku-Datadog, ayikho indlela yokuzulazula uye kusevisi oyifunayo kusuka kuphaneli enkulu. Ngaphezu kwalokho, ukuthengiselana kufakwa ohlwini ngemuva kwamaphutha, okungabonakali kunengqondo kakhulu ku-APM.
Ekwenziweni kwe-Atatus, yonke into iyafana ngangokunokwenzeka ne-New Relic. Okubi ukuthi i-dynamics yesilawuli ngasinye ayibonakali ngokushesha. Kufanele ukubheke kuthebula lesilawuli, ukuhlunga ngakho Isikhathi Esisetshenziswa Kakhulu:
Uhlu olujwayelekile lezilawuli luyatholakala kuthebhu Hlola:
Ngandlela thize, leli thebula lisikhumbuza i-Datadog futhi ngilithanda kangcono kunelifana ne-New Relic.
Unganweba umsebenzi ngamunye futhi ubone ukuthi isicelo benzani:
Iphaneli nayo ikhumbuza kakhulu i-Datadog: kunenani lezicelo, isithombe esijwayelekile sezingcingo. Iphaneli ephezulu inikeza ithebhu yephutha Ukuhluleka kwe-HTTP kanye nezibonelo zemibuzo ehamba kancane Imikhondo Yeseshini:
Uma uya ku-transaction, ungabona isibonelo somkhondo, ungathola uhlu lwezicelo ku-database futhi ubheke izihloko zesicelo. Konke kufana ne-New Relic:
Ngokuvamile, u-Atatus ujabule ngokulandela okuningiliziwe - ngaphandle kokunamathiselwe kwe-New Relic kwezingcingo ebhulokhi yesikhumbuzi:
Nokho, ayinaso isihlungi (njenge-New Relic) esinganqamula izicelo ezishesha kakhulu (<5ms). Ngakolunye uhlangothi, ngithande ukuboniswa kwempendulo yokugcina yokuthengiselana (impumelelo noma iphutha).
Iphaneli yolwazi izokusiza ukuthi ufunde izicelo kusizindalwazi sangaphandle esenziwa uhlelo lokusebenza. Ake ngikukhumbuze ukuthi i-Atatus ithole i-PostgreSQL ne-MySQL kuphela, nakuba i-Redis ne-memcached nazo zihilelekile kuphrojekthi.
Izicelo zihlelwa ngokwemibandela evamile: imvamisa yokuphendula, isilinganiso sesikhathi sokuphendula, njalo njalo. Ngingathanda futhi ukusho ithebhu ngemibuzo ehamba kancane - ilula kakhulu. Ngaphezu kwalokho, idatha ekule thebhu ye-PostgreSQL ihambisane nedatha evela esandisweni
Ithebhu Izicelo Zangaphandle ifana ngokuphelele ne-Databases.
okutholakele
Womabili amathuluzi ethulwe enze kahle endimeni ye-APM. Noma yimuphi wabo anganikeza ubuncane obudingekayo. Okuvelayo kwethu kungafingqwa kanjena:
I-Datadog
Izinzuzo:
- ishejuli yemali efanelekile (i-APM ibiza u-31 USD ngosivakashi ngamunye);
- usebenze kahle ngePython;
- Amathuba okuhlanganiswa ne-OpenTracing
- ukuhlanganiswa neKubernetes;
- ukuhlanganiswa ne-NGINX Ingress.
Umthengi:
- okuwukuphela kwe-APM ebangele ukuthi isicelo singatholakali ngenxa yephutha lemojula (predis);
- i-PHP auto-instrumentation ebuthakathaka;
- ngokwengxenye incazelo exakile yezinsizakalo nenjongo yazo.
I-Atatu
Izinzuzo:
- insimbi ye-PHP ejulile;
- interface yomsebenzisi efana ne-New Relic.
Umthengi:
- ayisebenzi ezinhlelweni zokusebenza ezindala (Ubuntu 12.05, CentOS 5);
- izinsimbi ezizenzakalelayo ezibuthakathaka;
- ukusekelwa kwezilimi ezimbili kuphela (Node.js ne-PHP);
- Isixhumi esibonakalayo esinensayo.
Uma sicabangela intengo ka-Atatus engu-69 USD ngenyanga ngeseva ngayinye, singakhetha ukusebenzisa i-Datadog, ehlanganisa kahle nezidingo zethu (izinhlelo zokusebenza zewebhu kuma-K8s) futhi enezici eziningi eziwusizo.
PS
Funda futhi kubhulogi yethu:
- Β«
Amathuluzi onjiniyela bezinhlelo zokusebenza ezisebenza ku-Kubernetes "; - Β«
i-plugin ye-kubectl-debug yokususa iphutha kuma-pods e-Kubernetes "; - Β«
Ama-Microservices: Usayizi ubalulekile, noma ngabe une-Kubernetes ".
Source: www.habr.com