Yury Bushmelev "Map nke rake n'ọhịa nke ịnakọta na ibuga ndekọ" - transcript nke akụkọ.

Ndekọ bụ akụkụ dị mkpa nke usoro ahụ, na-enye gị ohere ịghọta na ọ na-arụ ọrụ (ma ọ bụ na-adịghị arụ ọrụ) dị ka a tụrụ anya ya. N'okpuru ọnọdụ nke microservice architecture, ịrụ ọrụ na ndekọ na-aghọ ọzụzụ dị iche iche nke Olympiad pụrụ iche. E nwere ọtụtụ nsogbu a ga-edozi:

  • otu esi ede ndekọ site na ngwa ahụ;
  • ebe a ga-ede akwụkwọ;
  • otu esi enyefe ndekọ maka nchekwa na nhazi;
  • esi hazie ma chekwaa ndekọ.

Ojiji teknụzụ njide ihe na-ewu ewu ugbu a na-agbakwunye ájá n'elu rake n'ọhịa nke nhọrọ idozi nsogbu.

Naanị ihe dị ka nke a bụ transcript nke akụkọ Yuri Bushmelev "Map nke rake n'ọhịa nke ịnakọta na ibuga ndekọ"

Onye na-eche, biko n'okpuru pusi.

Aha m bụ Yuri Bushmelev. Ana m arụ ọrụ maka Lazada. Taa, m ga-ekwu maka otu anyị si mee osisi anyị, otu anyị si achịkọta ha, na ihe anyị na-ede n'ebe ahụ.

Yury Bushmelev "Map nke rake n'ọhịa nke ịnakọta na ibuga ndekọ" - transcript nke akụkọ.

Olee ebe anyị si? Olee ndị anyị bụ? Lazada bụ onye na-ere ahịa n'ịntanetị #1 na mba isii na Ndịda Ọwụwa Anyanwụ Eshia. A na-ekesa obodo ndị a niile n'etiti ebe data. E nwere ugbu a 4 data center na mkpokọta. Gịnị mere nke a dị mkpa? N'ihi na ụfọdụ mkpebi bụ n'ihi na e nwere nnọọ adịghị ike njikọ n'etiti centers. Anyị nwere ụlọ ọrụ microservice. Ọ tụrụ m n'anya ịhụ na anyị enweelarị microservice 80. Mgbe m malitere ọrụ ahụ na ndekọ, enwere naanị 20 n'ime ha. Ọzọkwa, enwere nnukwu mpempe PHP nketa, nke m ga-ebikwa na ya. Ihe ndị a niile na-ebute anyị ugbu a karịa ozi nde isii kwa nkeji maka sistemụ n'ozuzu ya. Ọzọkwa m ga-egosi otú anyị na-agbalị ibi ndụ na nke a, na ihe mere nke a ji dị otú ahụ.

Yury Bushmelev "Map nke rake n'ọhịa nke ịnakọta na ibuga ndekọ" - transcript nke akụkọ.

Ị ga-ebi na ndị a 6 nde ozi n'ụzọ ụfọdụ. Gịnị ka anyị kwesịrị ime ha? Ozi nde 6 chọrọ:

  • zipu site na ngwa
  • nabata maka nnyefe
  • nyefee maka nyocha na nchekwa.
  • nyochaa
  • na-echekwa n'ụzọ ụfọdụ.

Yury Bushmelev "Map nke rake n'ọhịa nke ịnakọta na ibuga ndekọ" - transcript nke akụkọ.

Mgbe enwere ozi nde atọ, enwere m ihe dị ka otu anya. N'ihi na anyị ji ụfọdụ pennies malite. O doro anya na edere ndekọ ngwa n'ebe ahụ. Dịka ọmụmaatụ, enweghị ike ijikọ na nchekwa data, nwee ike jikọọ na nchekwa data, mana enweghị ike ịgụ ihe. Mana ewezuga nke a, microservices anyị nke ọ bụla na-edekwa ndekọ ohere. Arịrịọ ọ bụla bịarutere na microservice na-adaba na ndekọ. Gịnị mere anyị ji eme nke a? Ndị mmepe chọrọ ka ha nwee ike ịchọta. Ndekọ ohere ọ bụla nwere mpaghara traceid, dị ka nke nwere interface pụrụ iche wee tụpụ agbụ ahụ niile wee gosipụta akara ahụ nke ọma. Nchọgharị ahụ na-egosi ka arịrịọ ahụ siri gaa, nke a na-enyere ndị mmepe anyị aka ịnagide ihe mkpofu ọ bụla amaghị ngwa ngwa.

Yury Bushmelev "Map nke rake n'ọhịa nke ịnakọta na ibuga ndekọ" - transcript nke akụkọ.

Kedu ka esi ebi na ya? Ugbu a, m ga-akọwa nkenke mpaghara nhọrọ - otu esi edozi nsogbu a n'ozuzu ya. Otu esi edozi nsogbu nke ịnakọta, ịnyefe na ịchekwa ndekọ.

Yury Bushmelev "Map nke rake n'ọhịa nke ịnakọta na ibuga ndekọ" - transcript nke akụkọ.

Kedu ka esi ede site na ngwa? O doro anya na e nwere ụzọ dị iche iche. Karịsịa, e nwere omume kacha mma, dị ka fashionable comrades na-agwa anyị. Enwere ụdị ụlọ akwụkwọ ochie abụọ, dị ka ndị nna ochie kwuru. E nwere ụzọ ndị ọzọ.

Yury Bushmelev "Map nke rake n'ọhịa nke ịnakọta na ibuga ndekọ" - transcript nke akụkọ.

Na nchịkọta ndekọ, ọnọdụ ahụ dị ihe dịka otu. Enweghị ọtụtụ nhọrọ maka idozi akụkụ a. Enwere ọtụtụ n'ime ha, mana ọ kabeghị ọtụtụ.

Yury Bushmelev "Map nke rake n'ọhịa nke ịnakọta na ibuga ndekọ" - transcript nke akụkọ.

Ma na nnyefe na nyocha na-esote, ọnụ ọgụgụ dị iche iche na-amalite ịgbawa. Agaghị m akọwa nhọrọ ọ bụla ugbu a. Echere m na nhọrọ ndị bụ isi bụ ndị maara nke ọma na onye ọ bụla nwere mmasị na isiokwu ahụ.

Yury Bushmelev "Map nke rake n'ọhịa nke ịnakọta na ibuga ndekọ" - transcript nke akụkọ.

Aga m egosi gị otu anyị siri mee ya na Lazada na otu o si malite.

Yury Bushmelev "Map nke rake n'ọhịa nke ịnakọta na ibuga ndekọ" - transcript nke akụkọ.

Otu afọ gara aga, m bịara Lazada ma zigara m ọrụ log. Ọ dị ka nke a n'ebe ahụ. Edere ndekọ sitere na ngwa ahụ na stdout na stderr. E mere ihe niile n'ụzọ ejiji. Ma mgbe ahụ, ndị mmepe tụpụrụ ya na iyi ọkọlọtọ, mgbe ahụ, ndị ọkachamara akụrụngwa ga-achọpụta ya n'ụzọ ụfọdụ. N'etiti ndị ọkachamara n'ihe gbasara akụrụngwa na ndị mmepe, e nwekwara ndị na-ahapụ ndị kwuru: "Uh ... ọ dị mma, ka anyị kechie ha na faịlụ nwere shei, ọ bụkwa ya." Ebe ọ bụ na ihe a niile dị n’ime akpa, ha kechie ya kpọmkwem n’akpa ahụ n’onwe ya, mapụta akwụkwọ ndekọ aha n’ime ya ma tinye ya n’ebe ahụ. Echere m na ọ bụ ihe doro anya nye onye ọ bụla ihe merenụ.

Yury Bushmelev "Map nke rake n'ọhịa nke ịnakọta na ibuga ndekọ" - transcript nke akụkọ.

Ka anyị lebakwuo anya n'ihu. Olee otú anyị na-anapụta ndị a ndekọ. Otu onye họpụtara td-agent, nke na-ama nke ọma mana ọ naghị asụ ya nke ọma. M ka na-adịghị aghọta mmekọrịta nke abụọ a oru ngo, ma ha yiri ka ọ bụ banyere otu ihe. Na nke a mara mma, nke edere na Ruby, gụọ faịlụ ndekọ, jiri okwu ụfọdụ na-atụgharị ya na JSON. E zigaziri ha na Kafka. Ọzọkwa, na Kafka, anyị nwere isiokwu 4 dị iche iche maka API ọ bụla. Gịnị mere 4? N'ihi na e nwere ndụ, e nwere staging, na n'ihi na e nwere stdout na stderr. Ndị na-emepụta ihe na-emepụta ha, ndị ọrụ akụrụngwa ga-emepụta ha na Kafka. Ọzọkwa, ngalaba ọzọ na-achịkwa Kafka. Ya mere, ọ dị mkpa ịmepụta tiketi ka ha wee mepụta isiokwu 4 maka api ọ bụla. Onye ọ bụla chefuru ya. N'ozuzu, ọ bụ ahịhịa na ihe mkpofu.

Yury Bushmelev "Map nke rake n'ọhịa nke ịnakọta na ibuga ndekọ" - transcript nke akụkọ.

Gịnị ka anyị mere ọzọ na ya? Anyị zigara ya kafka. Site na Kafka, ọkara nke ndekọ ahụ fegara Logstash. A na-ekekọrịta ọkara nke ọzọ nke osisi. Ụfọdụ fega n'otu Graylog, ụfọdụ gbaga na Graylog ọzọ. N'ihi ya, ihe ndị a niile batara n'otu ụyọkọ Elasticsearch. Ya bụ, ọgbaghara a niile dara na njedebe ebe ahụ. Ị gaghị eme nke ahụ!

Yury Bushmelev "Map nke rake n'ọhịa nke ịnakọta na ibuga ndekọ" - transcript nke akụkọ.

Nke a bụ ihe ọ dị ka a na-ele ya anya site n'elu. Ị gaghị eme nke ahụ! N'ebe a, a na-eji nọmba akara akara ebe nsogbu ozugbo. Enwere n'ezie ọtụtụ n'ime ha, mana 6 bụ ndị nwere nsogbu n'ezie, nke ekwesịrị iji mee ihe. M ga-agwa banyere ha iche iche ugbu a.

Yury Bushmelev "Map nke rake n'ọhịa nke ịnakọta na ibuga ndekọ" - transcript nke akụkọ.

N'ebe a (1,2,3) anyị na-ede faịlụ na, ya mere, enwere rakes atọ ebe a otu oge.

Nke mbụ (1) bụ na anyị kwesịrị ide ha ebe. Ọ bụghị mgbe niile ka ọ na-achọsi ike inye API ike ide ozugbo na faịlụ. Ọ bụ ihe na-achọsi ike ka API dịpụrụ adịpụ n'ime akpa, ma ka mma, na ọ ga-agụ naanị ya. Abụ m onye nchịkwa sistemụ, yabụ enwere m echiche ọzọ maka ihe ndị a.

Isi ihe nke abụọ (2,3) bụ na anyị nwere ọtụtụ arịrịọ na-abịa na API. API na-ede ọtụtụ data na faịlụ. Faịlụ na-eto eto. Anyị kwesịrị ịtụgharị ha. Maka na ma ọ bụghị ya, ị gaghị enwe ike ịchekwa diski ọ bụla n'ebe ahụ. Ịtụgharị ha dị njọ n'ihi na a na-ebugharị ha site na shei gaa na ndekọ. O nweghị otú anyị ga-esi bugharịa ya. Ị nweghị ike ịgwa ngwa ka imepee aka. N'ihi na ndị mmepe ga-ele gị anya dị ka onye nzuzu: "Gịnị na-akọwa? Anyị na-edegara stdout akwụkwọ. The frameworks mere copytruncate n'ime logrotate, nke na-eme ka a oyiri nke faịlụ na ogwe ndị mbụ. N'ihi ya, n'etiti usoro nṅomi ndị a, ohere diski na-agwụkarị.

(4) Anyị nwere ụdị dị iche iche na API dị iche iche. Ha dịtụ iche, mana a ga-ederịrị regexp n'ụzọ dị iche. Ebe ọ bụ na ọ bụ Puppet na-elekọta ya, e nwere nnukwu klaasị nwere ọchịcha nke ha. Na mgbakwunye, td-agent ọtụtụ oge nwere ike iri ebe nchekwa, bụrụ onye nzuzu, ọ nwere ike mee ka à ga-asị na ọ na-arụ ọrụ na-eme ihe ọ bụla. N'èzí, ọ gaghị ekwe omume ịghọta na ọ dịghị ihe ọ na-eme. Ọ kacha mma, ọ ga-ada, mmadụ ga-eburu ya ma emechaa. Kpọmkwem nke ọma, njikere ga-efeba, mmadụ ga-eji aka ya bulie ya elu.

Yury Bushmelev "Map nke rake n'ọhịa nke ịnakọta na ibuga ndekọ" - transcript nke akụkọ.

(6) Na ihe mkpofu na ihe mkpofu - ọ bụ elasticsearch. N'ihi na ọ bụ nsụgharị ochie. N’ihi na anyị enweghị ndị nna raara onwe ha nye n’oge ahụ. Anyị nwere osisi dị iche iche nke ubi ha nwere ike ịgbakọ. Enwere ike iji otu aha ubi dee ndekọ dị iche iche nke ngwa dị iche iche, mana n'otu oge ahụ enwere ike ịnwe data dị iche iche n'ime. Ya bụ, otu log na-abịa na Integer n'ọhịa, dịka ọmụmaatụ, ọkwa. Ndekọ ọzọ na-abịa na eriri n'ọhịa ọkwa. Na enweghị maapụ static, ihe magburu onwe ya na-apụta. Ọ bụrụ na, mgbe ntụgharị index gachara, ozi nwere eriri rutere na elasticsearch, yabụ anyị na-ebikwa ndụ. Ma ọ bụrụ na nke mbụ rutere na Integer, mgbe ahụ, a na-atụfu ozi niile na-esote ya na String. N'ihi na ụdị ubi ahụ adabaghị.

Yury Bushmelev "Map nke rake n'ọhịa nke ịnakọta na ibuga ndekọ" - transcript nke akụkọ.

Anyị malitere ịjụ ajụjụ ndị a. Anyị kpebiri na anyị agaghị achọ ndị ikpe mara.

Yury Bushmelev "Map nke rake n'ọhịa nke ịnakọta na ibuga ndekọ" - transcript nke akụkọ.

Ma e kwesịrị ime ihe! Ihe doro anya bụ na anyị kwesịrị iguzobe ụkpụrụ. Anyị enweelarị ụkpụrụ ụfọdụ. Ụfọdụ anyị wetara ntakịrị oge. Ọ dabara nke ọma, akwadolarị otu usoro ndekọ maka API niile n'oge ahụ. Edere ya ozugbo na ụkpụrụ mmekọrịta ọrụ. N'ihi ya, ndị chọrọ ịnata ndekọ kwesịrị ide ya n'ụdị a. Ọ bụrụ na mmadụ edeghị ndekọ na usoro a, anyị anaghị ekwe nkwa ihe ọ bụla.

Ọzọkwa, ọ ga-amasị m ịnwe otu ọkọlọtọ maka usoro ndekọ, ịnyefe na ịnakọta ndekọ. N'ezie, ebe a ga-ede ha, na otu esi anapụta ha. Ọnọdụ kachasị mma bụ mgbe ọrụ na-eji otu ọba akwụkwọ. Enwere ọba akwụkwọ ndekọ aha dị iche maka Go, enwere ọbá akwụkwọ dị iche maka PHP. Onye ọ bụla anyị nwere, onye ọ bụla kwesịrị iji ha. N'oge a, m ga-ekwu na anyị na-eme nke ọma site na pasent 80. Ma ụfọdụ na-aga n'ihu na-eri cacti.

N'ebe ahụ (na slide) "SLA maka nnyefe ndekọ" na-amalitebeghị ịpụta. Ọ dịbeghị ebe ahụ, mana anyị na-arụ ọrụ na ya. N'ihi na ọ na-adaba adaba mgbe infra na-ekwu na ọ bụrụ na ị na-ede n'ụdị dị otú ahụ na usoro dị otú ahụ na ebe dị otú ahụ na ọ dịghị ihe karịrị N ozi kwa nkeji, mgbe ahụ anyị ga-yikarịrị na-ebuga ya n'ebe ahụ. Ọ na-ewepụ ọtụtụ isi ọwụwa. Ọ bụrụ na enwere SLA, mgbe ahụ ọ dị oke mma!

Yury Bushmelev "Map nke rake n'ọhịa nke ịnakọta na ibuga ndekọ" - transcript nke akụkọ.

Olee otú anyị si malite idozi nsogbu ahụ? Isi rake bụ ya na onye nnọchite td. Amabeghị ebe osisi anyị na-aga. A napụtara ha? Ha na-aga? Ebee ka ha nọ? Ya mere, e kpebiri iji ihe mbụ dochie td-agent. Nhọrọ maka ihe a ga-eji dochie ya, m kọwara nkenke ebe a.

Fluentd. Mbụ, ahụrụ m ya n'ọrụ gara aga, ọ na-adakwa n'ebe ahụ mgbe ụfọdụ. Nke abuo, nke a bụ otu, naanị na profaịlụ.

filebeat. Kedu ka ọ dị anyị mma? Eziokwu ahụ bụ na ọ nọ na Go, na anyị nwere nnukwu nka na Go. N'ihi ya, ọ bụrụ na ihe ọ bụla, anyị nwere ike tinye ya n'onwe anyị. Ọ bụ ya mere anyị ewereghị ya. Ka a ghara ọbụna inwe ọnwụnwa ịmalite idegharị ya n'onwe gị.

Ihe ngwọta doro anya maka sysadmin bụ ụdị syslogs niile na nke a (syslog-ng/rsyslog/nxlog).

Ma ọ bụ dee ihe nke gị, mana anyị tụfuru ya, yana filebeat. Ọ bụrụ na ị dee ihe, mgbe ahụ ọ ka mma ịde ihe bara uru maka azụmahịa. Iji nyefee ndekọ, ọ ka mma iwere ihe dị njikere.

Ya mere, nhọrọ ahụ gbadara na nhọrọ n'etiti syslog-ng na rsyslog. M dabere na rsyslog naanị n'ihi na anyị enweela klaasị maka rsyslog na Puppet, ma ahụghị m ọdịiche pụtara ìhè n'etiti ha. Kedu ihe bụ syslog, gịnị bụ syslog. Ee, ụfọdụ akwụkwọ dị njọ, ụfọdụ ka mma. Ọ maara otú a, ọ na-emekwa ya n'ụzọ dị iche.

Yury Bushmelev "Map nke rake n'ọhịa nke ịnakọta na ibuga ndekọ" - transcript nke akụkọ.

Na ntakịrị gbasara rsyslog. Nke mbụ, ọ dị mma n'ihi na ọ nwere ọtụtụ modulu. O nwere RainerScript nke mmadụ nwere ike ịgụ (asụsụ nhazi oge a). Ego dị egwu bụ na anyị nwere ike iṅomi omume nke td-agent na ngwaọrụ ọkọlọtọ ya, ọ nweghịkwa ihe gbanwere maka ngwa. Ya bụ, anyị na-agbanwe td-agent ka ọ bụrụ rsyslog, ma emetụghị ihe ọ bụla ọzọ aka. Na ozugbo anyị na-enweta nnyefe ọrụ. Na-esote, mmnormalize bụ ihe dị mma gbasara rsyslog. Ọ na-enye gị ohere inyocha ndekọ, mana ọ bụghị na Grok na regexp. Ọ na-eme osisi syntax abstract. Ọ na-atụgharị ndekọ n'otu ụzọ ahụ onye nchịkọta akụkọ na-atụgharị koodu isi mmalite. Nke a na-enye gị ohere ịrụ ọrụ ngwa ngwa, rie obere CPU, na, n'ozuzu, ọ bụ naanị ihe dị mma. Enwere ụyọkọ bonuses ndị ọzọ. Agaghị m ebi ndụ na ha.

Yury Bushmelev "Map nke rake n'ọhịa nke ịnakọta na ibuga ndekọ" - transcript nke akụkọ.

rsyslog nwere ọtụtụ ọghọm ndị ọzọ. Ha bụ otu ihe na ego ego. Nsogbu ndị bụ isi bụ na ị ga-enwe ike esi nri ya, na ị ga-ahọrọ ụdị.

Yury Bushmelev "Map nke rake n'ọhịa nke ịnakọta na ibuga ndekọ" - transcript nke akụkọ.

Anyị kpebiri na anyị ga-ede ndekọ n'ime oghere unix. Ma ọ bụghị na / dev/log, n'ihi na n'ebe ahụ anyị nwere ọgbaghara nke usoro ndekọ, e nwere akwụkwọ akụkọ na pipeline a. Ya mere, ka anyị dee na oghere omenala. Anyị ga-ejikọta ya na usoro iwu dị iche. Ka anyị ghara itinye aka na ihe ọ bụla. Ihe niile ga-apụta ìhè na nghọta. Ya mere, anyị mere n'ezie. A na-ahazi akwụkwọ ndekọ aha nwere oghere ndị a ma bufee ya na arịa niile. Ngwa nwere ike ịhụ oghere ha chọrọ, mepee ma degara ya akwụkwọ.

Gịnị kpatara na ọ bụghị faịlụ? N'ihi na onye ọ bụla agụwo akụkọ banyere Badushechka, nke nwara ibugharị faịlụ ahụ na docker, wee chọpụta na ka ịmalitegharịa rsyslog, onye na-akọwa faịlụ na-agbanwe, na docker tufuru faịlụ a. Ọ na-emeghe ihe ọzọ, ma ọ bụghị otu oghere ebe ha na-ede. Anyị kpebiri na anyị ga-agabiga nsogbu a, na, n'otu oge ahụ, gafere nsogbu mgbochi.

Yury Bushmelev "Map nke rake n'ọhịa nke ịnakọta na ibuga ndekọ" - transcript nke akụkọ.

Rsyslog na-eme omume ndị egosiri na slide ahụ wee ziga ndekọ na relay ma ọ bụ Kafka. Kafka na-agbaso ụzọ ochie. Rayleigh - Agbalịrị m iji rsyslog dị ọcha na-ebuga ndekọ. Enweghị ozi Queue, na-eji ngwaọrụ rsyslog ọkọlọtọ. N'ụzọ bụ isi, ọ na-arụ ọrụ.

Yury Bushmelev "Map nke rake n'ọhịa nke ịnakọta na ibuga ndekọ" - transcript nke akụkọ.

Mana enwere nuances otu esi etinye ha ma emechaa banye na akụkụ a (Logstash/Graylog/ES). A na-eji akụkụ a (rsyslog-rsyslog) n'etiti datacenters. Nke a bụ njikọ tcp agbakwunyere, nke na-enye gị ohere ịchekwa bandwidth na, yabụ, na-abawanye ohere na anyị ga-enweta ụfọdụ ndekọ site na ebe data ọzọ mgbe ọwa zuru. N'ihi na anyị nwere Indonesia, ebe ihe niile dị njọ. Ọ bụ ebe ahụ ka nsogbu na-adị mgbe niile.

Yury Bushmelev "Map nke rake n'ọhịa nke ịnakọta na ibuga ndekọ" - transcript nke akụkọ.

Anyị chere otú anyị n'ezie nyochaa, na ihe puru omume na ndekọ na anyị dekọrọ si ngwa iru na njedebe? Anyị kpebiri ibido metrik. Rsyslog nwere modul nchịkọta ọnụ ọgụgụ nke ya, nke nwere ụdị counters. Dịka ọmụmaatụ, ọ nwere ike igosi gị nha kwụ n'ahịrị, ma ọ bụ ozi ole batara maka ụdị ihe a. Ị nwere ike ịnara ha ihe. Na mgbakwunye, ọ nwere ọnụọgụ omenala nke ị nwere ike hazie, ọ ga-egosikwa gị, dịka ọmụmaatụ, ọnụọgụ ozi ụfọdụ API dekọtara. Ọzọ, edere m rsyslog_exporter na Python, anyị zigakwara ya niile na Prometheus wee kpaa nkata. Anyị chọrọ metrics Graylog n'ezie, mana ruo ugbu a anyị enweghị oge ịtọlite ​​​​ha.

Yury Bushmelev "Map nke rake n'ọhịa nke ịnakọta na ibuga ndekọ" - transcript nke akụkọ.

Gịnị bụ nsogbu? Nsogbu ahụ bilitere na anyị chọpụtara (na mberede!) na API Live anyị na-ede ozi 50k kwa sekọnd. Nke a bụ naanị API Live na-enweghị nhazi. Na Graylog naanị na-egosi anyị ozi puku iri na abụọ kwa nkeji. Na ajụjụ ezi uche dị na ya bilitere, olee ebe ihe fọdụrụ nọ? Site na nke anyị kwubiri na Graylog enweghị ike ịnagide ya. Anyị lere anya na, n'ezie, Graylog nwere Elasticsearch amachaghị usoro a.

Ọzọ, nchọpụta ndị ọzọ anyị mere n'ụzọ.

Akpọchiela ihe edere na oghere. Kedu ka o siri mee? Mgbe m na-eji rsyslog maka nnyefe, n'oge ụfọdụ anyị mebiri ọwa n'etiti ebe data. Nnyefe bilitere n'otu ebe, nnyefe bilitere n'ebe ọzọ. Ihe a niile agbadatala na igwe nwere API na-ede na oghere rsyslog. Enwere kwụ n'ahịrị. Mgbe ahụ kwụ n'ahịrị maka ide ihe na oghere unix, nke na ndabara bụ ngwugwu 128. Na na-esote dee() na ngwa blocks. Mgbe anyị lere anya n'ọbá akwụkwọ anyị na-eji na ngwa Go, edere ya n'ebe ahụ na ide ihe na oghere na-apụta na ọnọdụ anaghị egbochi. Anyị ji n'aka na ọ nweghị ihe gbochiri. N'ihi na anyị agụwo akụkọ banyere Badushechkaonye dere banyere ya. Ma enwere oge. Enwekwara loop na-enweghị ngwụcha gburugburu oku a, nke a na-agba mbọ mgbe niile ịkwanye ozi n'ime oghere. Anyị ahụghị ya. Ekwesịrị m idegharị ọbá akwụkwọ ahụ. Kemgbe ahụ, ọ gbanwere ọtụtụ oge, mana ugbu a, anyị ewepụla mkpọchi na sistemụ niile. Ya mere, ị nwere ike ịkwụsị rsyslog na ọ dịghị ihe ga-ada.

Ọ dị mkpa iji nyochaa nha nke queues, nke na-enyere aka ịghara ịzọ ụkwụ na rake a. Mbụ, anyị nwere ike nyochaa mgbe anyị na-amalite ida ozi. Nke abuo, anyị nwere ike nyochaa na anyị nwere isi nwere nsogbu na nnyefe.

Na oge ọzọ na-adịghị mma - mmụba nke ugboro 10 na ụlọ ọrụ microservice dị mfe. Anyị enweghị ọtụtụ arịrịọ na-abata, mana n'ihi eserese nke ozi ndị a na-aga n'ihu, n'ihi ndekọ ohere, anyị na-abawanye ibu na ndekọ ahụ ihe dị ka ugboro iri. N'ụzọ dị mwute, enweghị m oge iji gbakọọ ọnụ ọgụgụ ndị ahụ kpọmkwem, mana microservices bụ ihe ha bụ. A ghaghị iburu nke a n'uche. Ọ tụgharịrị na ugbu a subsystem nchịkọta ndekọ bụ nke kacha ibu na Lazada.

Yury Bushmelev "Map nke rake n'ọhịa nke ịnakọta na ibuga ndekọ" - transcript nke akụkọ.

Otu esi edozi nsogbu elasticsearch? Ọ bụrụ na ịchọrọ ịnweta ndekọ ngwa ngwa n'otu ebe, ka ị ghara ịgafe igwe niile ma kpokọta ha n'ebe ahụ, jiri nchekwa faịlụ. Nke a na-ekwe nkwa ịrụ ọrụ. A na-eme ya site na ihe nkesa ọ bụla. Naanị ịkwesịrị ịrapara diski ebe ahụ wee tinye syslog. Mgbe nke ahụ gasịrị, a na-ekwe nkwa na ị ga-enwe ndekọ niile n'otu ebe. Mgbe ahụ, ọ ga-ekwe omume iji nwayọ hazie elasticsearch, graylog, ma ọ bụ ihe ọzọ. Mana ị ga-enwerịrị ndekọ ndekọ niile, ma, ọzọkwa, ị nwere ike ịchekwa ha, ọ bụrụhaala na enwere usoro diski zuru oke.

Yury Bushmelev "Map nke rake n'ọhịa nke ịnakọta na ibuga ndekọ" - transcript nke akụkọ.

N'oge akụkọ m, atụmatụ ahụ malitere ịdị ka nke a. Anyị kwụsịtụrụ ide na faịlụ ahụ. Ugbu a, dịcha, anyị ga- gbanyụọ remnants. Na igwe mpaghara na-arụ API, anyị ga-akwụsị ide na faịlụ. Nke mbụ, enwere nchekwa faịlụ, nke na-arụ ọrụ nke ọma. Nke abuo, igwe ndị a na-apụ n'anya mgbe niile, ịkwesịrị ịlele ya mgbe niile.

Akụkụ a nwere Logstash na Graylog, ọ na-arị elu n'ezie. Ya mere, ikwesiri ikpochapu ya. Ị ga-ahọrọ otu.

Yury Bushmelev "Map nke rake n'ọhịa nke ịnakọta na ibuga ndekọ" - transcript nke akụkọ.

Anyị kpebiri ịhapụ Logstash na Kibana. N'ihi na anyị nwere ngalaba nchekwa. Gịnị bụ njikọ? Njikọ ahụ bụ na Kibana na-enweghị X-Pack na enweghị Shield anaghị ekwe ka ị dị iche iche ikike ịnweta ndekọ. Ya mere, ha were Graylog. O nwere ya niile. Achọghị m ya, mana ọ na-arụ ọrụ. Anyị zụtara ngwaike ọhụrụ, tinye Graylog ọhụrụ ebe ahụ, ma bugharịa ndekọ niile nwere usoro siri ike gaa na Graylog dị iche. Anyị ejirila ụdị mpaghara dị iche iche dozie nsogbu ahụ n'usoro nhazi.

Yury Bushmelev "Map nke rake n'ọhịa nke ịnakọta na ibuga ndekọ" - transcript nke akụkọ.

Kedu ihe agbakwunyere na Graylog ọhụrụ. Anyị dere ihe niile na docker. Anyị were ụyọkọ nke sava, wepụta oge Kafka atọ, ụdị sava 7 Graylog 2.3 (n'ihi na achọrọ m ụdị Elasticsearch 5). E welitere ihe a niile na mwakpo sitere na HDD. Anyị hụrụ ọnụego ntinye aka ruru 100 puku ozi kwa nkeji. Anyị hụrụ ọnụ ọgụgụ na 140 terabytes nke data kwa izu.

Yury Bushmelev "Map nke rake n'ọhịa nke ịnakọta na ibuga ndekọ" - transcript nke akụkọ.

Na ọzọ a zaa! Anyị nwere ahịa abụọ na-abịa. Anyị agabigala ọkwa nde isii. Anyị Graylog enweghị oge ịta. N'ụzọ ụfọdụ, ị ga-adị ndụ ọzọ.

Yury Bushmelev "Map nke rake n'ọhịa nke ịnakọta na ibuga ndekọ" - transcript nke akụkọ.

Otu a ka anyị si lanarị. Agbakwunyere sava ole na ole na SSDs. N'oge anyị na-ebi otú a. Ugbu a, anyị na-ata 160k ozi kwa nkeji. Anyị erubeghị oke, yabụ amabeghị etu anyị ga-esi nweta ya n'ezie.

Yury Bushmelev "Map nke rake n'ọhịa nke ịnakọta na ibuga ndekọ" - transcript nke akụkọ.

Ndị a bụ atụmatụ anyị maka ọdịnihu. N'ime ndị a, n'ezie, ihe kachasị mkpa bụ ma eleghị anya dị elu. Anyị enwebeghị ya. A na-ahazi ọtụtụ ụgbọ ala n'otu ụzọ ahụ, mana ka ọ dị ugbu a, ihe niile na-aga n'otu ụgbọ ala. Ọ dị mkpa iwepụta oge iji guzobe ọdịda n'etiti ha.

Na-anakọta metrik site na Graylog.

Mee oke ọnụego ka anyị nwee otu API nzuzu nke na-adịghị egbu anyị bandwit na ihe ọ bụla ọzọ.

N'ikpeazụ, bịanye aka n'ụdị SLA na ndị mmepe ka anyị nwee ike ije ozi nke ukwuu. Ọ bụrụ na ị dee ihe ọzọ, we mebie.

Ma dee akwụkwọ.

Yury Bushmelev "Map nke rake n'ọhịa nke ịnakọta na ibuga ndekọ" - transcript nke akụkọ.

Na nkenke, nsonaazụ nke ihe niile anyị nwetara. Nke mbụ, ụkpụrụ. Nke abụọ, syslog bụ achicha. Nke atọ, rsyslog na-arụ ọrụ kpọmkwem dịka edere ya na slide. Ka anyị banye na ajụjụ ndị ahụ.

Ajụjụ gị.

ajụjụ: Gịnị mere ha ji kpebie na ha agaghị ewere ... (filebeat?)

Azịza: Achọrọ ide na faịlụ. Achọghị m n'ezie. Mgbe API gị na-ede puku kwuru puku ozi kwa nkeji, ọ bụrụgodị na ị na-atụgharị otu elekere, nke a abụghị nhọrọ. Ị nwere ike dee na ọkpọkọ. Nke ndị mmepe jụrụ m: "Gịnị ga-eme ma ọ bụrụ na usoro nke anyị na-ede na-ada ada"? Ahụghị m ihe m ga-aza ha, wee sị: "Ọfọn, ok, ka anyị ghara ime nke ahụ."

ajụjụ: Gịnị mere na ị naghị ede ndekọ na HDFS?

AzịzaA: Nke a bụ ọkwa na-esote. Anyị chere banyere ya na mmalite, mana ebe ọ bụ na enweghị akụrụngwa iji mesoo ya ugbu a, ọ dabere na ngwọta ogologo oge anyị.

ajụjụ: Usoro kọlụm ga-adaba adaba.

Azịza: Aghọtara m. Anyị bụ "maka" na aka abụọ.

ajụjụ: Ị na-edegara rsyslog akwụkwọ. Ma TCP na UDP dị ebe ahụ. Mana ọ bụrụ UDP, kedu ka ị ga-esi kwe nkwa nnyefe?

AzịzaA: Enwere isi ihe abụọ. Mbụ, m ozugbo na-agwa onye ọ bụla na anyị anaghị ekwe nkwa nnyefe nke ndekọ. N'ihi na mgbe ndị mmepe bịara wee sị: "Ka anyị malite ide data ego n'ebe ahụ, na ị ga-etinye ya ebe maka anyị ma ọ bụrụ na ihe mere," anyị na-aza ha, "Ọ dị mma! Ka anyị malite igbochi ide ihe na oghere, ma mee ya na azụmahịa, nke mere na ị ga-ekwe nkwa itinye ya na oghere maka anyị ma jide n'aka na anyị natara ya n'akụkụ nke ọzọ. Na n'oge a, onye ọ bụla ozugbo na-aghọ adịghị mkpa. Ma ọ bụrụ na ọ bụghị, olee ajụjụ anyị nwere? Ọ bụrụ na ịchọghị ikwe nkwa dee na oghere, gịnị kpatara anyị ga-eji kwe nkwa nnyefe? Anyị na-eme mgbalị kacha mma. Anyị na-agbalị n'ezie ịnapụta dị ka o kwere omume na kacha mma dị ka o kwere, ma anyị adịghị enye a 100% nkwa. Ya mere, ịkwesighi ide data ego n'ebe ahụ. Enwere ọdụ data azụmahịa maka nke a.

ajụjụ: Mgbe API na-ewepụta ozi ụfọdụ na ndekọ ma nyefee njikwa na microservices, ị hụla nsogbu na ozi sitere na microservice dị iche iche na-abịa n'usoro na-ezighi ezi? N'ihi nke a, mgbagwoju anya na-ebilite.

AzịzaA: Ọ bụ ihe nkịtị na ha na-abịa n'usoro dị iche. Ị ga-adị njikere maka nke a. N'ihi na nnyefe netwọk ọ bụla anaghị ekwe gị nkwa, ma ọ bụ na ị ga-etinye ego pụrụ iche na nke a. Ọ bụrụ na anyị ewere nchekwa faịlụ, mgbe ahụ API ọ bụla na-echekwa ndekọ na faịlụ nke ya. Kama, rsyslog na-ewepụta ha ka ọ bụrụ akwụkwọ ndekọ aha ebe ahụ. API nke ọ bụla nwere ndekọ nke ya ebe ahụ, ebe ị nwere ike ịga leba anya, wee jiri akara timestamp tụnyere ha. Ọ bụrụ na ha na-aga ileba anya na Graylog, mgbe ahụ, a ga-ahazi ha site na timestamp. Ihe niile ga-adị mma ebe ahụ.

ajụjụ: Oge stampụ nwere ike ịdịgasị iche site na millisekọnd.

Azịza: API n'onwe ya mebere stampụ oge. Nke a, n'ezie, bụ isi ihe niile. Anyị nwere NTP. API na-ewepụta stampụ oge na ozi n'onwe ya. A naghị agbakwunye ya na rsyslog.

ajụjụ: Mmekọrịta dị n'etiti ebe data adịghị anya nke ọma. N'ime usoro nke data center, o doro anya ka esi chịkọta ma hazie ndekọ. Kedu ka mmekọrịta dị n'etiti ebe data? Ka ọ bụla data center na-ebi ndụ nke ya?

Azịza: Ọ fọrọ nke nta ka ọ bụrụ. Anyị nwere obodo ọ bụla dị n'otu ebe data. Anyị enweghị mgbasa ozi ugbu a, nke mere na etinyere otu obodo n'ime ebe data dị iche iche. Ya mere, ọ dịghị mkpa ijikọta ha. N'ime etiti ọ bụla enwere Log Relay. Nke a bụ ihe nkesa Rsyslog. N'ezie, igwe njikwa abụọ. A na-edozi ha otu ụzọ ahụ. Mana ugbu a, okporo ụzọ na-agafe naanị otu n'ime ha. Ọ na-edekọ ihe niile mkpokọta. Ọ nwere kwụ n'ahịrị diski naanị ma ọ bụrụ. Ọ na-akụ osisi ndị ahụ ma ziga ha na Central data center (Singapore), ebe a na-egbukwa ha na Graylog. Na ebe data ọ bụla nwere nchekwa faịlụ nke ya. Ọ bụrụ na anyị enweghị njikọ, anyị nwere ndekọ niile ebe ahụ. Ha ga-anọ ebe ahụ. A ga-echekwa ha ebe ahụ.

ajụjụ: Ị na-enweta ndekọ si ebe ahụ n'oge ọnọdụ ndị na-adịghị mma?

Azịza: Ị nwere ike ịga ebe ahụ (na ebe nchekwa faịlụ) wee lelee.

ajụjụ: Kedu ka ị ga-esi nyochaa na ị gaghị efunahụ ndekọ?

Azịza: Anyị na-efunahụ ha n'ezie, anyị na-enyocha ya. Nlebanya malitere otu ọnwa gara aga. Ọbá akwụkwọ ndị Go API na-eji nwere metrik. Ọ nwere ike ịgụta ugboro ole ọ deghị akwụkwọ na oghere. N'ebe ahụ n'oge a nwere aghụghọ heuristic. Enwere nchekwa ebe ahụ. Ọ na-agbalị ịde ozi site na ya na oghere. Ọ bụrụ na ihe nchekwa ahụ tofee, ọ na-amalite ịtụba ha. Ọ na-agụkwa mmadụ ole ọ tụpụrụ ha. Ọ bụrụ na ọnụ ọgụgụ na-amalite na-ejupụta ebe ahụ, anyị ga-ama banyere ya. Ha na-abịakwa na prometheus ugbu a, ị ga-ahụkwa eserese ndị dị na Grafana. Ị nwere ike ịtọ ọkwa. Mana amabeghị onye a ga-ezigara ha.

ajụjụ: Na elasticsearch, ị na-echekwa ndekọ na redundancy. oyiri ole ka ị nwere?

Azịza: Otu oyiri.

ajụjụ: Ọ bụ naanị otu ahịrị?

Azịza: Nke a bụ nna ukwu na oyiri. A na-echekwa data ahụ n'ụdị oyiri.

ajụjụ: Ị tweak nha nke rsyslog buffer n'ụzọ ụfọdụ?

Azịza: Anyị na-ede datagrams na oghere unix omenala. Nke a na-etinye njedebe nke 128 kilobytes ozugbo na anyị. Anyị enweghị ike ide karịa n'ime ya. Anyị edeela nke a na ọkọlọtọ. Onye chọrọ ịbanye na nchekwa, ha na-ede 128 kilobytes. Ọbá akwụkwọ, ọzọkwa, bepụ ma tinye ọkọlọtọ na ebipụrụ ozi ahụ. Anyị nwere ubi pụrụ iche na ọkọlọtọ ozi n'onwe ya, nke na-egosi ma ebipụrụ ya n'oge ndekọ ma ọ bụ na ọ bụghị. Yabụ na anyị nwere ohere iji soro oge a.

Ajụjụ: Ị na-ede JSON agbajiri?

Azịza: A ga-atụfu JSON mebiri emebi n'oge agbagharị agbagharị n'ihi na ngwugwu ahụ buru ibu. Ma ọ bụ a ga-ahapụ Graylog, n'ihi na ọ gaghị enwe ike ịtụgharị JSON. Mana enwere nuances ebe a kwesịrị idozi, na-ejikọkarị ya na rsyslog. Ejupụtaworị m mbipụta ole na ole n'ebe ahụ, nke a ka kwesịrị ịrụ ọrụ na ya.

Ajụjụ: Gịnị kpatara Kafka? Ị nwara RabbitMQ? Graylog anaghị agbakwunye n'okpuru ibu dị otú ahụ?

Azịza: Ọ naghị arụ ọrụ na Graylog. Na Graylog na-etolite. Ọ na-enye ya nsogbu n'ezie. Ọ bụ ụdị ihe. Na, n'ezie, ọ dịghị mkpa. Ọ ga-akara m mma dee site na rsyslog ozugbo na elasticsearch wee lelee Kibana. Ma anyị kwesịrị idozi okwu ahụ na ndị nche. Nke a nwere ike ịdị iche na mmepe anyị mgbe anyị tụpụrụ Graylog wee jiri Kibana. Logstash agaghị enwe isi. N'ihi na m nwere ike ime otu ihe ahụ na rsyslog. O nwekwara modul ide na elasticsearch. Na Graylog anyị na-agbalị ibi ndụ n'ụzọ ụfọdụ. Anyị gbanwetụrụ ya ntakịrị. Ma a ka nwere ohere imeziwanye ihe.

Banyere Kafka. Otú ahụ ka o si mee n’akụkọ ihe mere eme. Mgbe m rutere, ọ dịlarị ebe ahụ, a na-edekwara ya akwụkwọ ndekọ aha. Anyị weliri ụyọkọ anyị ma buba osisi n'ime ya. Anyị na-ejikwa ya, anyị maara otú ọ dị ya. Maka RabbitMQ... anyị na-enwe nsogbu na RabbitMQ. Na RabbitMQ na-etolite maka anyị. Anyị nwere ya na mmepụta, na enwere nsogbu na ya. Ugbu a, tupu ire ere, ọ ga-emechu ya ihu, ọ ga-amalitekwa ịrụ ọrụ nke ọma. Ma tupu nke ahụ, adịghị m njikere ịhapụ ya na mmepụta. Enwere otu isi ihe ọzọ. Greylog nwere ike ịgụ ụdị AMQP 0.9 yana rsyslog nwere ike dee ụdị AMQP 1.0. Ọ dịghịkwa otu ngwọta nke nwere ike ime ma n'etiti. Enwere ma otu ma ọ bụ nke ọzọ. Yabụ ugbu a naanị Kafka. Mana enwerekwa nuances. N'ihi na omkafka nke ụdị rsyslog nke anyị na-eji nwere ike tufuo ihe nchekwa ozi niile ọ nwetara site na rsyslog. Ogologo oge anyị na-anagide ya.

Ajụjụ: Ị na-eji Kafka n'ihi na ị nwere ya? Ejighị ya mee ihe ọ bụla ọzọ?

Azịza: Kafka, nke ndị otu Data Science ji mee ihe. Nke a bụ ọrụ dị iche iche kpamkpam, nke m, dị mwute ikwu, enweghị ike ikwu ihe ọ bụla. Amaghị m. Ndị otu Sayensị Data na-achị ya. Mgbe osisi malitere, ha kpebiri iji ya, ka ha ghara itinye nke ha. Ugbu a, anyị emelitere Graylog, anyị enwekwaghị ndakọrịta, n'ihi na e nwere ụdị ochie nke Kafka. Anyị aghaghị ime nke anyị. N'otu oge ahụ, anyị kpochapụrụ isiokwu anọ ndị a maka API nke ọ bụla. Anyị mere otu obosara elu elu maka mmadụ niile dị ndụ, otu obosara obosara maka ihe ngosi niile, anyị na-agbapụkwa ihe niile ebe ahụ. Graylog na-ewepụ ihe a niile n'otu aka ahụ.

Ajụjụ: Gịnị mere anyị ji mkpa a shamanism na sockets? Ị nwara iji syslog log driver maka arịa.

Azịza: N'oge anyị jụrụ ajụjụ a, anyị na onye docker enweghị mmekọrịta. Ọ bụ docker 1.0 ma ọ bụ 0.9. Docker n'onwe ya dị ịtụnanya. Nke abuo, ọ bụrụ na ị na-akwaba logs n'ime ya ... M nwere unverified enyo na ọ na-agafe niile ndekọ site n'onwe ya, site docker daemon. Ọ bụrụ na anyị nwere otu API na-agba ara, mgbe ahụ API ndị ọzọ ga-abanye n'eziokwu na ha enweghị ike izipu stdout na stderr. Amaghị m ebe nke a ga-eduga. Enwere m enyo na ọkwa nke mmetụta na ọ dịghị mkpa iji docker syslog driver na ebe a. Ngalaba nnwale anyị na-arụ ọrụ nwere ụyọkọ Graylog nke ya nwere ndekọ. Ha na-eji ndị ọkwọ ụgbọ ala docker na ihe niile yiri ka ọ dị mma ebe ahụ. Ma ha na-edegara GELF ozugbo na Graylog. N'oge anyị malitere ihe a niile, anyị chọrọ ka ọ rụọ ọrụ naanị. Ikekwe mgbe e mesịrị, mgbe mmadụ bịara kwuo na ọ na-arụ ọrụ nke ọma kemgbe otu narị afọ, anyị ga-agbalị.

Ajụjụ: Ị na-ebufe n'etiti ebe data site na iji rsyslog. Gịnị mere na ọ bụghị na Kafka?

Azịza: Anyị na-eme nke a, ma otu a ka ọ dị n'ezie. N'ihi ihe abụọ. Ọ bụrụ na ọwa ahụ nwụrụ kpamkpam, mgbe ahụ, ndekọ anyị niile, ọbụlagodi n'ụdị abịakọrọ, agaghị arịgo site na ya. Na kafka na-enye ha ohere ịla n'iyi na usoro ahụ. N'ụzọ dị otú a, anyị na-ewepụ ịrapara nke osisi ndị a. Anyị na-eji Kafka naanị na nke a ozugbo. Ọ bụrụ na anyị nwere ọwa dị mma ma chọọ ịtọhapụ ya, mgbe ahụ anyị na-eji rsyslog ha. Ma n'ezie, ị nwere ike ịtọ ya ka ọ daa ihe ọ na-agaghị enweta. N'oge a, anyị na-eji nnyefe rsyslog ozugbo ebe, ebe Kafka.

isi: www.habr.com

Tinye a comment