Li-log ke karolo ea bohlokoa ea sistimi, e u lumellang ho utloisisa hore e sebetsa (kapa ha e sebetse) joalo ka ha ho lebelletsoe. Boemong ba meralo ea microservice, ho sebetsa ka lifate ho fetoha taeo e arohaneng ea Olympiad e khethehileng. Lipotso tse ngata li hloka ho rarolloa hang-hang:
- mokhoa oa ho ngola li-log ho tsoa ho kopo;
- moo ho ngoloang likutu;
- mokhoa oa ho tsamaisa likutu bakeng sa ho boloka le ho sebetsa;
- mokhoa oa ho sebetsa le ho boloka likutung.
Tšebeliso ea mahlale a hajoale a ho kenya lijana e eketsa lehlabathe lebaleng la likhetho tsa ho rarolla mathata.
Sena ke sona hantle seo tlaleho ea Yuri Bushmelev ea tlaleho ea "Mapa oa Rake tšimong ea Pokello ea Li-Log le Delivery" e buang ka eona.

Ke mang ea tsotellang, ka kopo tlasa katse.
Lebitso la ka ke Yuri Bushmelev. Ke sebetsa Lazada. Kajeno ke tla bua ka hore na re ile ra etsa likutu tsa rona joang, re li bokelletse joang, le hore na re ngola eng moo.

Re tsoa kae? Re bo-mang? Lazada ke lebenkele la #1 la marang-rang linaheng tse tšeletseng tsa Asia Boroa-bochabela. Linaha tsena kaofela li ajoa ho pholletsa le litsi tsa rona tsa data. Hona joale ho na le litsi tse 'nè tsa data ka kakaretso. Ke hobane’ng ha see e le sa bohlokoa? Hobane liqeto tse ling li entsoe ho ipapisitsoe le taba ea hore ho na le khokahano e fokolang haholo lipakeng tsa litsi. Re na le meralo ea microservice. Ke ile ka makala ha ke fumana hore re se re na le li-microservices tse 4. Ha ke qala mosebetsi ka li-log, ho ne ho e-na le tse 80 feela. Ho feta moo, ho na le karolo e batlang e le khōlō ea lefa la PHP eo hape re lokelang ho phela le ho mamella. Sena sohle hajoale se hlahisa melaetsa e fetang limilione tse 20 ka motsotso bakeng sa sistimi ka kakaretso. Ho feta moo, ke tla bonts'a hore na re leka ho phela le sena joang, le hore na hobaneng ho le joalo.

Re tlameha ho phela le melaetsa ena ea limilione tse 6 ka tsela e itseng. Re lokela ho etsa’ng ka tsona? Melaetsa e limilione tse 6 e hlokang ho:
- romela ho tsoa ho app
- amohela bakeng sa ho beleha
- fana ka tlhahlobo le polokelo.
- sekaseka
- e boloke ka tsela e itseng.

Ha ho hlaha melaetsa e limilione tse tharo, ke ile ka ba le maikutlo a tšoanang. Hobane re qalile ka lipeni. Ho hlakile hore li-log tsa kopo li ngotsoe moo. Ka mohlala, ha ke khone ho hokahanya le database, ke ne ke khona ho hokahanya le database, empa ke ne ke sitoa ho bala ntho e itseng. Empa ntle le sena, e 'ngoe le e' ngoe ea li-microservices tsa rona e boetse e ngola lethathamo la phihlello. Kopo e 'ngoe le e' ngoe e fihlang ho microservice e oela ka har'a log. Ke hobane’ng ha re etsa see? Bahlahisi ba batla ho khona ho latela. Lenane le leng le le leng la phihlello le na le lebala la traceid, leo ho lona sebopeho se ikhethileng se lokollang ketane eohle ebe se bonts'a mohlala ka bokhabane. Mehlala e bonts'a hore na kopo e tsamaile joang, 'me sena se thusa baetsi ba rona ho sebetsana ka potlako le mefuta eohle ea bohlanya bo sa tsejoeng.

Joang ho phela le see? Hona joale ke tla u bolella ka bokhutšoanyane tšimo ea likhetho - hore na bothata bona bo rarolloa joang ka kakaretso. Mokhoa oa ho rarolla bothata ba ho bokella, ho fetisa le ho boloka likutu.

Joang ho ngola ho tsoa ho kopo? Ho hlakile hore ho na le mekhoa e fapaneng. Haholo-holo, ho na le mekhoa e metle, joalo ka ha metsoalle ea feshene e re bolella. Ho na le sekolo sa khale ka mefuta e 'meli, joalo ka ha bo-ntate-moholo ba boletse. Ho na le litsela tse ling.

Boemo ba ho bokella lifate bo batla bo tšoana. Ha ho na likhetho tse ngata tsa ho rarolla karolo ena. Ho na le tse ling tsa tsona, empa ha li ngata hakaalo.

Empa ka tlhahiso le tlhahlobo e latelang, palo ea mefuta e fapaneng e qala ho phatloha. Ha ke na ho hlalosa khetho ka 'ngoe hona joale. Ke nahana hore likhetho tse ka sehloohong li tloaelehile ho bohle ba neng ba thahasella sehlooho sena.

Ke tla u bontša hore na re e entse joang Lazada le hore na e qalile joang.

Selemong se fetileng, ke ile ka tla Lazada, 'me ba ile ba nthomella morerong oa lifate. E ne e le ntho e kang ena. Lenane le tsoang ho kopo le ngoletsoe stdout le stderr. Ntho e 'ngoe le e 'ngoe e ne e etsoa ka mokhoa oa feshene. Empa joale bahlahisi ba ile ba e lahlela ka ntle ho melapo e tloaelehileng, 'me joale litsebi tsa litšebeletso tsa motheo li tla e tseba ka tsela e itseng. Ho boetse ho na le ba lokollang pakeng tsa litsebi tsa mekhoa ea motheo le bahlahisi, ba ileng ba re: "uh ... hantle, ho lokile, a re e phutheng feela ka faele e nang le khetla, 'me ho joalo." 'Me kaha tsohle li ka har'a setshelo, ba li phuthela hantle ka har'a sets'oants'o ka bosona, ba etsa 'mapa oa bukana ka hare mme ba e beha moo. Ke nahana hore ho hlakile ho bohle se tsoileng ho eona.

A re hlahlobeng ka hloko. Re ile ra isa likutu tsena joang. Motho e mong o khethile td-agent, eo ha e le hantle e buang hantle, empa e sa bue hantle. Ke ntse ke sa utloisise kamano pakeng tsa merero ena e 'meli, empa ho bonahala eka e bua ka ntho e le' ngoe. 'Me sena se ngotsoeng ka mokhoa o phollatsi, se ngotsoeng ka Ruby, se bala lifaele tsa log, sa li arola ho JSON se sebelisa lipolelo tse tloaelehileng. Eaba e ba romela Kafka. Ho feta moo, Kafka, re ne re e-na le lihlooho tse 4 tse arohaneng bakeng sa API ka 'ngoe. Hobaneng 4? Hobane ho phela, ho na le sethala, le hobane ho na le stdout le stderr. Bahlahisi ba li theha, 'me litsebi tsa litšebeletso tsa motheo li tlameha ho li theha Kafka. Ho feta moo, Kafka e ne e laoloa ke lefapha le leng. Ka hona, ho ne ho hlokahala ho theha tekete e le hore ba ka etsa lihlooho tse 4 bakeng sa API ka 'ngoe. E mong le e mong o ile a lebala ka eona. Ka kakaretso, e ne e le litšila le monate.

Re ile ra etsa’ng ka eona ka mor’a moo? Re e rometse Kafka. Joale, ho tloha Kafka, halofo ea lifate e ile ea fofa ho ea Logstash. Halofo e ’ngoe ea lifate e ne e arotsoe. Ba bang ba ile ba fofela ho Graylog e le 'ngoe, ba bang ho e' ngoe ea Graylog. Ka lebaka leo, tsena tsohle li ile tsa fofela sehlopheng se le seng sa Elasticsearch. Ke hore moferefere ona kaofela o ile oa fella moo. Ha ua lokela ho etsa joalo!

Ke kamoo e shebahalang kateng ha u sheba u le hōle le holimo. O seke oa etsa joalo! Libaka tsa mathata li tšoailoe ka linomoro mona. Ha e le hantle ho na le tse ngata tsa tsona, empa tse 6 ke tsona tse hlileng li nang le mathata a lokelang ho sebetsanoa le tsona. Ke tla u bolella ka tsona ka thoko hona joale.

Mona (1,2,3) re ngola lifaele mme, ka hona, ho na le li-rake tse tharo mona hang-hang.
Pele (1) - re hloka ho li ngola kae-kae. Hase kamehla ho lakatsehang ho fa API bokhoni ba ho ngola ka ho toba faeleng. Ke ntho e lakatsehang hore API e be thoko ka har'a sets'oants'o, 'me ho betere - hore e baloe feela. Ke sysadmin, kahoo ke na le pono e fapaneng hanyane ka lintho tsena.
Ntlha ea bobeli (2,3) - re na le likopo tse ngata tse tlang ho API. API e ngola lintlha tse ngata ho file. Lifaele li ntse li eketseha. Re hloka ho li potoloha. Hobane ho seng joalo ho ke ke ha e-ba le li-disk tse lekaneng moo. Ho li potoloha ho fosahetse hobane li entsoe ka ho tsamaisa khetla ho ea bukeng. Re ke ke ra e potoloha ka tsela efe kapa efe. Ha re khone ho bolella sesebelisoa ho bula litlhaloso hape. Hobane bahlahisi ba tla u sheba joalokaha eka u sethoto: "Litlhaloso life? Re ngolla stdout." Bahlahisi ba meralo ea motheo ba entse copytruncate ka logrotate, e etsang kopi ea faele ebe e fokotsa ea mantlha. Ka hona, lipakeng tsa lits'ebetso tsena tsa ho kopitsa, sebaka sa disk hangata se fela.
(4) Re ne re e-na le lifomate tse fapaneng ho li-API tse fapaneng. Li ne li fapane hanyane, empa regexp e ne e tlameha ho ngoloa ka tsela e fapaneng. Kaha tsena tsohle li ne li laoloa ke Puppet, ho ne ho e-na le sehlopha se seholo sa lihlopha tse nang le li-quirks tsa tsona. Ho feta moo, td-agent e ne e ka ja mohopolo ka nako e telele, e se e le semumu, e ka iketsa eka e ea sebetsa empa e sa etse letho. Ho ne ho sa khonehe ho bolela ka ntle hore e ne e sa etse letho. Ha e le hantle, e ne e tla soahlamana ebe motho e mong o ne a tla e nka hamorao. Hantle-ntle, tlhokomeliso e ne e tla fofa 'me motho e mong a e'o e nka hape ka letsoho.

(6) 'Me lithōle le monate ka ho fetisisa e ne e le elasticsearch. Hobane e ne e le phetolelo ea khale. Hobane re ne re se na benghali ba inehetseng ka nako eo. Re ne re e-na le lifate tse sa tšoaneng, tseo masimo a tsona a neng a ka kopana. Li-log tse fapaneng tsa lits'ebetso tse fapaneng li ka ngoloa ka mabitso a masimong a tšoanang, empa ka nako e ts'oanang ho ka ba le data e fapaneng kahare. Ke hore, log e le 'ngoe e tla le Integer tšimong, mohlala, boemo. Log e 'ngoe e tla le Mohala sebakeng sa boemo. Ha ho se na 'mapa o tsitsitseng, ntho e ntle joalo e ea hlaha. Haeba ka mor'a ho potoloha ha index ho elasticsearch molaetsa oa pele o fihlile ka khoele, joale re phela ka mokhoa o tloaelehileng. Empa haeba ea pele e fihlile ka Integer, melaetsa eohle e latelang e fihlileng ka String e lahloa feela. Hobane mofuta oa lebala ha o lumellane.

Re ile ra qala ho ipotsa lipotso tsena. Re ile ra etsa qeto ea hore re se ke ra batla motho eo re ka mo behang molato.

Empa ho na le ntho e lokelang ho etsoa! Ntho e totobetseng ke ho theha litekanyetso. Re ne re se re ntse re e-na le litekanyetso tse itseng. Re ile ra theha tse ling hamorao. Ka lehlohonolo, mokhoa o le mong oa log bakeng sa li-API tsohle o ne o se o amohetsoe ka nako eo. E ngotsoe ka kotloloho ho litekanyetso tsa tšebelisano ea litšebeletso. Ka hona, ba batlang ho fumana li-log ba tlameha ho li ngola ka mokhoa ona. Haeba motho a sa ngole lintlha ka mokhoa ona, joale ha re tiise letho.
Ka mor'a moo, ke rata ho theha tekanyetso e le 'ngoe bakeng sa mekhoa ea ho rekota, ho tsamaisa le ho bokella lintlha. Ha e le hantle, li ngoloe hokae, le mokhoa oa ho li isa. Boemo bo loketseng ke ha laeborari e tšoanang e sebelisoa mererong. Ho na le laeborari e arohaneng ea ho rema lifate bakeng sa Go, ho na le laeborari e arohaneng ea PHP. E mong le e mong eo re nang le eena o lokela ho li sebelisa. Hona joale, nka re re atlehile ka karolo ea 80 lekholong. Empa ba bang ba tsoela pele ho ja cacti.
'Me moo (ho slide) "Log Delivery SLA" ha e sa qala ho hlaha. Ha e-so fihle, empa re ntse re sebetsa ho eona. Hobane ho bonolo haholo ha meaho ea motheo e re haeba u ngola ka mokhoa o joalo-le-joalo sebakeng se joalo-le-joalo, 'me u sa fete melaetsa ea N ka motsotsoana, joale re tla e isa sebakeng se joalo-le-joalo ka monyetla oa hore-le-joalo. Sena se tlosa hlooho e ngata haholo. Haeba ho na le SLA, ke ntho e ntle feela!

Re qalile joang ho rarolla bothata boo? Bothata bo boholo e ne e le ka td-agent. Ho ne ho sa hlaka hore na lifate tsa rōna li ea hokae. Na li ntse li tlisoa? Na lia bokelloa? Ba hokae ho hang? Ka hona, mohato oa pele e ne e le ho nkela td-agent sebaka. Ke hlalositse ka bokhutšoane likhetho tsa hore na nka e nkela sebaka ka eng mona.
E bua hantle. Taba ea pele, ke ile ka kopana le eena mosebetsing oa ka oa pele, 'me le eena o ne a oela moo nako le nako. Taba ea bobeli, ke ntho e ts'oanang, ho profil feela.
Filebeat. Ke eng e neng e re loketse? Hobane e ho Go, mme re na le boiphihlelo bo bongata ho Go. Ka hona, haeba ho na le letho, ka tsela e itseng re ka iketsetsa eona. Ke kahoo re sa kang ra e nka. E le hore ho se ke ha e-ba le moleko oa ho qala ho ingolla eona hape.
Tharollo e totobetseng bakeng sa mookameli oa tsamaiso e ntse e le mefuta eohle ea li-syslogs ka bongata bo joalo (syslog-ng/rsyslog/nxlog).
Kapa ngola ntho ea hau, empa re hanne seo, hammoho le filebeat. Haeba u ngola ntho e itseng, ho molemo ho ngola ntho e molemo bakeng sa khoebo. Bakeng sa ho fana ka li-log, ho molemo ho nka ntho e lokiselitsoeng.
Ka hona, khetho e hlile e theohile ho khetha pakeng tsa syslog-ng le rsyslog. Ke ile ka sekamela ho rsyslog hobane feela re ne re se re ntse re e-na le litlelase tsa rsyslog ho Puppet, 'me ha kea ka ka fumana phapang e teng lipakeng tsa tsona. syslog ke eng moo, syslog ke eng mona. E, motho o na le litokomane tse mpe, motho e mong o betere. E mong a ka e etsa ka tsela ena, 'me e mong a ka e etsa ka tsela e fapaneng.

Le hanyenyane ka rsyslog. Pele ho tsohle, e ntle hobane e na le li-module tse ngata. E na le RainerScript e ka baloang ke motho (puo ea sejoale-joale ea tlhophiso). Bonase e makatsang ke hore re ka etsisa boitšoaro ba td-agent ka lisebelisoa tsa eona tse tloaelehileng, 'me ha ho letho le fetotsoeng bakeng sa lits'ebetso. Ka mantsoe a mang, re fetola td-agent ho rsyslog, 'me re tlohele tse ling kaofela hajoale. 'Me hang-hang re fumana ho fana ka mosebetsi. E latelang, mmnormalize ke ntho e makatsang ho rsyslog. E u lumella ho arola likutu, empa eseng ka Grok le regexp. E etsa sefate se sa bonahaleng sa syntax. E arola lits'oants'o ka mokhoa o batlang o tšoana le moqapi o arola likhoutu tsa mohloli. Sena se o lumella ho sebetsa ka potlako haholo, ho ja CPU e nyane, mme, ka kakaretso, ke ntho e ntle haholo. Ho na le li-bonase tse ling tse ngata. nke ke ka lula holim'a tsona.

Rsyslog e na le mathata a mang a mangata. Li batla li tšoana le li-bonase. Mathata a mantlha ke hore o hloka ho tseba ho e lokisa, mme o hloka ho khetha mofuta.

Re ile ra etsa qeto ea hore re tla ngola likutu ho sokete ea unix. Mme eseng ho /dev/log, hobane re na le pherekano ea lits'oants'o tsa sistimi moo, ho na le litaba tse phatlalalitsoeng pompong ena. Kahoo ha re ngolle soketeng e ikhethileng. Re tla e hokahanya le melaoana e fapaneng. Re ke ke ra kena-kenana le letho. Ntho e 'ngoe le e 'ngoe e tla ba e hlakileng le e hlakileng. Ke seo re hlileng re se entseng. Bukana e nang le li-sockets tsena e behiloe 'me e fetisetsoa ho lijana tsohle. Li-container li ka bona sokete eo li e hlokang, ea e bula le ho e ngolla.
Hobaneng e se faele? Hobane bohle ba e bala , e ileng ea leka ho fetisetsa faele ho docker, 'me ho ile ha fumanoa hore ka mor'a ho qala rsyslog, tlhaloso ea faele e fetoha,' me docker e lahleheloa ke faele ena. E boloka ntho e 'ngoe e butsoe, empa eseng sokete moo ba ngollang teng. Re nkile qeto ea hore re tla iphapanyetsa bothata bona, 'me, ka nako e ts'oanang, re fete bothata ba ho thibela.

Rsyslog e etsa liketso tse bontšitsoeng ho slide ebe e romela li-log ho li fetisetsa kapa ho Kafka. Kafka e lumellana le mokhoa oa khale. Relay ke 'na ea lekang ho sebelisa rsyslog feela ho fana ka lits'oants'o. Ntle le Mola oa Molaetsa, o sebelisa lisebelisoa tse tloaelehileng tsa rsyslog. Ha e le hantle, e sebetsa.

Empa ho na le lintlha tse mabapi le mokhoa oa ho li sutumelletsa karolong ena (Logstash/Graylog/ES). Karolo ena (rsyslog-rsyslog) e sebelisoa pakeng tsa litsi tsa data. Mona ke sehokelo sa tcp se hatelletsoeng, se re lumellang ho boloka li-bandwidth mme, ka hona, ka tsela e itseng re eketsa monyetla oa hore re fumane lintlha tse ling tse tsoang setsing se seng sa data maemong ha mocha o koaletsoe. Hobane re na le Indonesia, moo tsohle li leng mpe. Ke hona moo bothata bona bo sa feleng bo leng teng.

Re ile ra nahana ka hore na re ka beha leihlo joang, ka monyetla ofe oo re o rekotileng ho tsoa ts'ebelisong o fihla pheletsong eo? Re nkile qeto ea ho theha metrics. Rsyslog e na le mojule oa eona oa pokello ea lipalo, o nang le li-counters. Mohlala, e ka u bontša boholo ba mola, kapa hore na ke melaetsa e mekae e tlileng ketsong e itseng. U se u ka nka ho hong ho bona. Ho feta moo, e na le li-counters tse tloaelehileng tse ka lokisoang, 'me e tla u bontša, mohlala, palo ea melaetsa eo API e itseng e e ngotseng. Joale, ke ile ka ngola rsyslog_exporter ka Python, 'me re e rometse kaofela ho Prometheus le ho haha li-graph. Re ne re hlile re batla metrics ea Graylog, empa ha re so be le nako ea ho e lokisa.

Ke eng e bakileng mathata? Mathata a ile a hlaha hobane re ile ra fumana (HASAKA!) hore Live APIs tsa rona li ngola melaetsa ea 50k motsotsoana. Ena ke Live API feela ntle le sethala. 'Me Graylog e re bontša feela melaetsa ea 12k motsotsoana. Mme ho ile ha hlaha potso e utloahalang: ba bang kaofela ba hokae? Ho tloha moo re ileng ra etsa qeto ea hore Graylog ha a khone ho mamella. Re ile ra sheba, 'me, kannete, Graylog le Elasticsearch ha li khone ho sebetsana le phallo ena.
Ka mor'a moo, litšibollo tse ling tseo re ileng ra li fumana tseleng.
Socket e ngola e koetsoe. See se etsahetse joang? Ha ke ne ke sebelisa rsyslog bakeng sa ho pepa, ka nako e 'ngoe mocha o pakeng tsa litsi tsa data o ile oa robeha. Delivery e ile ea emisa sebakeng se seng, thomello e emisitsoe sebakeng se seng. Tsena tsohle li kentsoe mochining o nang le API e ngolla sokete ea rsyslog. Letoto la tlala hodimo mono. Joale letoto la ho ngolla sokete ea unix le ile la tlala, leo ka tloaelo e leng lipakete tse 128. Mme lengolo le latelang () ts'ebelisong le koetsoe. Ha re sheba laebrari eo re e sebelisang ho Go applications, ho ne ho ngotsoe moo hore ho ngolla socket ho etsahala ka mokhoa o sa thibeleng. Re ne re kholisehile hore ha ho letho le thibetsoeng. Hobane rea bala , ea ngotseng ka eona. Empa ho na le nakwana. Hape ho ne ho e-na le loop e sa feleng ho pota-pota mohala ona, moo ho neng ho e-na le boiteko bo sa khaotseng ba ho sutumelletsa molaetsa ka har'a sokete. Ha rea e hlokomela. Re ile ra tlameha ho ngola laebrari bocha. Ho tloha ka nako eo, e fetohile makhetlo a 'maloa, empa joale re lahlile liloko ho li-subsystems tsohle. Ka hona, o ka emisa rsyslog, 'me ha ho letho le tla senyeha.
Hoa hlokahala ho beha leihlo boholo ba mela, e thusang ho qoba maraba ana. Taba ea pele, re ka beha leihlo ha re qala ho lahleheloa ke melaetsa. Taba ea bobeli, re ka beha leihlo hore na re na le mathata a ho fana ka thepa ka nepo.
'Me motsotso o mong o sa thabiseng - ho holisa ka makhetlo a 10 mohahong oa microservice ho bonolo haholo. Ha re na likopo tse ngata tse kenang, empa ka lebaka la kerafo eo melaetsa ena e tsamaeang ka eona ho feta, ka lebaka la lits'oants'o tsa phihlello, re hlile re eketsa mojaro oa log ka makhetlo a ka bang leshome. Ka bomalimabe, ke ne ke se na nako ea ho bala linomoro tse nepahetseng, empa li-microservices li joalo. Sena se lokela ho hopoloa. Hoa etsahala hore hajoale tsamaiso ea pokello ea li-log ke eona e jarollotsoeng ka ho fetisisa Lazada.

Mokhoa oa ho rarolla bothata ba elasticsearch? Haeba o hloka ho potlakela ho fumana lits'oants'o sebakeng se le seng, e le hore u se ke ua matha ho pota-pota mechine eohle 'me u se ke ua e bokella moo, sebelisa polokelo ea lifaele. Sena se netefalitsoe hore se tla sebetsa. E etsoa ho tsoa ho seva efe kapa efe. U hloka feela ho khomarela li-disk moo ebe u kenya syslog. Ka mor'a moo, u tiisetsoa ho ba le li-logs tsohle sebakeng se le seng. Ebe o ka hlophisa butle-butle elasticsearch, graylog, ntho e 'ngoe hape. Empa u tla be u se u ntse u e-na le lits'oants'o tsohle, 'me, ho feta moo, u ka li boloka ha feela li-array tsa disk li ntse li tsoela pele.

Nakong ea tlaleho ea ka, morero o ile oa qala ho shebahala tjena. Re ile ra khaotsa ho ngolla faele. Joale, mohlomong, re tla tima tse ling kaofela. Mechineng ea lehae, eo API e sebetsang ho eona, re tla emisa ho ngolla lifaele. Taba ea pele, ho na le polokelo ea faele, e sebetsang hantle haholo. Taba ea bobeli, mechini ena e lula e felloa ke sebaka, e tlameha ho lula e beiloe leihlo.
Karolo ena e nang le Logstash le Graylog, e hlile ea phaphamala. Kahoo re hloka ho e tlosa. Re hloka ho khetha e 'ngoe kapa e' ngoe.

Re ile ra etsa qeto ea ho lahla Logstash le Kibana. Hobane re na le lefapha la tšireletso. Khokahano ke efe? Khokahano ke hore Kibana ntle le X-Pack le ntle le Shield ha e u lumelle ho khetholla litokelo tsa phihlello ho li-log. Kahoo re ile ra nka Graylog. E na le tsena tsohle. Ha ke e rate, empa e ea sebetsa. Re ile ra reka lisebelisoa tse ncha, ra kenya Graylog e ncha moo 'me ra tsamaisa lifate tsohle tse nang le liforomo tse thata ho Graylog e arohaneng. Re rarolle bothata ka mefuta e fapaneng ea masimo a ts'oanang ka mokhatlo.

Ke eng hantle e kenyellelitsoeng ho Graylog e ncha. Re ngotse tsohle fatše ho Docker. Re nkile li-server tse ngata, ra ntša maemo a mararo a Kafka, 7 Graylog server version 2.3 (hobane re ne re batla Elasticsearch version 5). Re phahamisitse tsena tsohle ka litlhaselo tsa HDD. Re bone sekhahla sa indexing sa melaetsa e fihlang ho likete tse 100 motsotsoana. Re bone palo ea 140 terabytes ea data ka beke.

'Me hape rake! Re na le lithekiso tse peli tse tlang. Re tsamaisitse ho feta melaetsa e limilione tse 6. Graylog ha e khone ho e hlafuna. Re tlameha ho phela hape ka tsela e itseng.

Ke kamoo re ileng ra pholoha kateng. Re kentse li-server tse 'maloa le SSD. Hajoale, ke tsela eo re phelang ka eona. Hajoale re hlafuna melaetsa ea 160k ka motsotsoana. Ha re e-s’o fihle moeling, kahoo ha ho e-s’o hlake hore na re ka fumana bokae ho sena.

Tsena ke merero ea rona ea bokamoso. Har'a tsena, ntho ea bohlokoa ka ho fetisisa mohlomong ke ho fumaneha ho phahameng. Ha re na eona. Mechini e mengata e hlophisitsoe ka mokhoa o ts'oanang, empa ntho e ngoe le e ngoe e sebetsa ka mochini o le mong hajoale. Re hloka ho qeta nako ho theha failover pakeng tsa bona.
Bokella metrics ho tsoa ho Graylog.
Etsa moeli oa sekhahla hore re se be le API e le 'ngoe e hlanyang mme e bolaee bandwidth ea rona le tse ling kaofela.
'Me qetellong, saena SLA e itseng le bahlahisi hore re ka e sebeletsa haholo. Haeba u ngola ho feta, joale ke kōpa tšoarelo.
Le ho ngola litokomane.

Ka bokhutšoanyane, liphetho tsa tsohle tseo re fetileng ho tsona. Ea pele, litekanyetso. Ea bobeli, syslog ke kuku. Ea boraro, rsyslog e sebetsa hantle joalo ka ha e ngotsoe selaeteng. Mme ha re feteleng pele ho dipotso.
Lipotso.
Potso ea hau: Ke hobane'ng ha u entse qeto ea ho se nke ... (filebeat?)
Araba: U tlameha ho ngolla faele. Ke ne ke hlile ke sa batle. Ha API ea hau e ngola melaetsa e likete motsotsoana, leha u ka e potoloha hang ka hora, e ntse e se khetho. U ka ngolla phala. Eo bahlahisi ba ileng ba mpotsa: "Ho etsahala'ng haeba ts'ebetso eo re e ngollang e senyeha?" Ke ile ka sitoa feela ho fumana karabo eaba ke re: "Ho lokile, ha re etseng joalo."
Potso ea hau: Ke hobane'ng ha u sa ngolle likutu ho HDFS?
Araba: Ena ke mohato o latelang. Re ile ra nahana ka eona qalong, empa kaha hajoale ha re na lisebelisoa tsa ho etsa sena, e ntse e leketlile tharollong ea nako e telele.
Potso ea hau: Sebopeho sa columnar se ka ba se loketseng haholoanyane.
Araba: Ke utloisisa tsohle. Kaofela re bakeng sa eona.
Potso ea hau: U ngolla rsyslog. Ka bobeli TCP le UDP lia khoneha moo. Empa haeba UDP, joale u tiisa ho tsamaisoa joang?
Araba: Ho na le lintlha tse peli. Taba ea pele, ke bolella motho e mong le e mong hang-hang hore ha re tiise hore ho tsamaisoa ha log. Hobane ha bahlahisi ba tla 'me ba re: "A re qaleng ho ngola lintlha tsa lichelete moo,' me u tla li beha kae-kae bakeng sa rona haeba ho etsahala ntho e itseng," rea ba araba: "E kholo! A re qaleng ho thibela ho ngolla soketeng, 'me re e etse ka litšebelisano, e le hore u tiisetsoe hore u tla e kenya ka mokotleng oa rona le ho etsa bonnete ba hore re e fumane ka lehlakoreng le leng." 'Me ka nako eo bohle ba hana hang-hang. 'Me haeba ha ho hlokahale, joale u na le lipotso life bakeng sa rona? Haeba u sa batle ho netefatsa hore u ngolla sokete, ke hobane'ng ha re lokela ho fana ka tiiso ea ho fana ka thepa? Re etsa boiteko bo matla. Re hlile re leka ho fana ka lintho tse ngata le ka hohle kamoo ho ka khonehang, empa ha re fane ka tiiso ea 100%. Ka hona, ha ho hlokahale ho ngola lintlha tsa lichelete moo. Ho na le li-database tse nang le litšebelisano bakeng sa sena.
Potso ea hau: Ha API e hlahisa molaetsa oa log mme e fetisetsa taolo ho li-microservices, na u kile ua kopana le bothata ba hore melaetsa e tsoang ho microservices e fapaneng e tla ka tatellano e fosahetseng? Sena se baka pherekano.
Araba: Ke ntho e tloaelehileng hore li fihle ka tatellano e fapaneng. O lokela ho itokisetsa seo. Hobane ho fana ka marang-rang ha ho tiise hore u odara, kapa u tlameha ho sebelisa lisebelisoa tse khethehileng ho seo. Haeba re nka polokelo ea lifaele, joale API e 'ngoe le e' ngoe e boloka li-log ho faele ea eona. Kapa ho e-na le hoo, rsyslog e li hlophisa hore e be li-directory. API e 'ngoe le e' ngoe e na le li-log tsa eona moo, moo u ka eang ho ea sheba, 'me u ka li bapisa ka setempe sa nako ho logi eo. Haeba ba il'o sheba Graylog, ba tla hlophisoa ka setempe sa nako. Tsohle di tla loka moo.
Potso ea hau: Setempe sa nako se ka fapana ka milliseconds.
Araba: Setempe sa nako se hlahisoa ke API ka boeona. Ke eona taba kaofela. Re na le NTP. API e hlahisa setempe sa nako se seng se ntse se le molaetsa ka boeona. Ha e eketsoe ke rsyslog.
Potso ea hau: Tšebelisano pakeng tsa litsi tsa data ha e hlake haholo. Ka har'a setsi sa data, ho hlakile hore na li-log li ile tsa bokelloa le ho sebetsoa joang. Tšebelisano pakeng tsa litsi tsa data e etsahala joang? Kapa na setsi se seng le se seng sa data se phela bophelo ba sona?
Araba: Hoo e ka bang. Naha ka 'ngoe e sebakeng se le seng sa data. Ha re na ho hasana hona joale, e le hore naha e le 'ngoe e be libakeng tse fapaneng tsa data. Kahoo ha ho hlokahale ho li kopanya. Ka hare ho setsi ka seng ho na le Log Relay. Ena ke seva sa Rsyslog. Ha e le hantle, mechine e 'meli ea tsamaiso. Li hlophisitsoe ka mokhoa o ts'oanang. Empa hajoale, sephethephethe se feta ho e 'ngoe ea tsona. E kopanya likutu tsohle. E na le mokoloko oa li-disk ha ho khoneha. E hatella lits'oants'o ebe e li romella setsing sa data se bohareng (Singapore), moo li romeloang Graylog. 'Me setsi se seng le se seng sa data se na le polokelo ea sona ea lifaele. Haeba re lahleheloa ke khokahano, re na le li-log tsohle moo. Ba tla sala teng. Ba tla bolokeha teng.
Potso ea hau: Na u fumana likutu ho tloha moo maemong a tšohanyetso?
Araba: U ka ea moo (ho polokelo ea lifaele) 'me u shebe.
Potso ea hau: U beha leihlo joang hore ha u lahleheloe ke lifate?
Araba: Ha e le hantle re lahleheloa ke tsona, 'me rea e beha leihlo. Re tsebisitse tlhokomelo khoeling e fetileng. Laeborari e sebelisang Go API e na le metrics. E ka bala hore na e hlotsoe ka makhetlo a makae ho ngolla soketeng. Ho na le heuristic e qhekellang hona joale. Ho na le buffer. E leka ho ngola molaetsa ho tloha ho eona ho ea soketeng. Haeba buffer e tlala, e qala ho li theola. Mme e bala hore na e wetse ba bakae. Haeba li-counter li qala ho tlala, re fumana ka eona. Hona joale ba boetse ba tla ho prometheus, 'me u ka bona litšoantšo tsa Grafana. U ka theha litsebiso. Empa ha ho e-s’o hlake hore na ba tla li romela ho mang.
Potso ea hau: Ho elasticsearch u boloka likutu ka botsofali. U na le likopi tse kae?
Araba: Polelo e le 'ngoe.
Potso ea hau: Na ona ke mola o le mong feela?
Araba: Ena ke monghali le setšoantšo. Lintlha li bolokiloe ka likopi tse peli.
Potso ea hau: Na ka tsela e itseng u lokisitse boholo ba buffer ea rsyslog?
Araba: Re ngola li-datagrams ho sokete ea Unix e tloaelehileng. Hang-hang sena se beha moeli oa 128 kilobyte ho rona. Re ke ke ra ngola ho feta ho eona. Re ngotse sena ho latela maemo. Ba batlang ho kena polokelong ba ngola 128 kilobytes. Lilaebrari, ho feta moo, li ile tsa li khaola ’me tsa beha folakha eo molaetsa o khaotsoeng. Re na le tšimo e khethehileng molaong oa molaetsa ka boeona o bontšang hore na o khaotsoe nakong ea ho ngola kapa che. Kahoo re na le bokhoni ba ho latela motsotso ona hape.
Potso: Na u ngola JSON e robehileng?
Araba: JSON e robehileng e tla lahloa nakong ea relay, hobane pakete e kholo haholo. Kapa Graylog e tla e lahla, hobane e ke ke ea hlalosa JSON. Empa ho na le li-nuances mona tse hlokang ho lokisoa, 'me hangata li hokahane le rsyslog. Ke se ke tlatsitse litaba tse ‘maloa mono, tse ntseng li hloka ho sebetsoa.
Potso: Hobaneng Kafka? O lekile RabbitMQ? Na Graylog ha e sebetse tlas'a meroalo e joalo?
Araba: Graylog ha e sebetse bakeng sa rona. 'Me Graylog e sebetsa molemong oa rona. E hlile e na le mathata. Ke ntho e ikgethileng. 'Me, ha e le hantle, ha e hlokehe. Nka khetha ho ngola ho tloha rsyslog ka kotloloho ho ea elasticsearch ebe ke sheba Kibana. Empa re hloka ho lokisa taba ka tshireletso. Ena ke khetho e ka khonehang bakeng sa nts'etsopele ea rona, ha re lahla Graylog mme re qala ho sebelisa Kibana. Ha ho na thuso ho sebelisa Logstash. Hobane nka etsa lintho tse tšoanang ka rsyslog. Mme e na le mojule oa ho ngolla elasticsearch. Re leka ho phela le Graylog ka tsela e itseng. Re se re e ntlafalitse hanyane. Empa ho ntse ho na le sebaka sa ho ntlafatsa.
Mabapi le Kafka. E etsahetse historing. Ha ke fihla, e ne e se e ntse e le teng, ’me ho ne ho se ho ngoletsoe lifate ho eona. Re ile ra phahamisa sehlopha sa rona feela mme ra tsamaisa likutu ho sona. Rea e laola, rea tseba hore na e ikutloa joang. Mabapi le RabbitMQ… lintho ha li re tsamaele hantle ka RabbitMQ. Empa RabbitMQ e sebetsa molemong oa rona. Re na le eona tlhahisong, 'me ho bile le mathata ka eona. Joale, pele ho thekiso, re ka be re ile ra khema le eona, 'me e ne e tla qala ho sebetsa ka mokhoa o tloaelehileng. Empa pele ho moo, ke ne ke sa itokisetsa ho e lokolla tlhahiso. Ho na le ntho e 'ngoe hape. Graylog e ka bala mofuta oa AMQP 0.9, 'me rsyslog e ka ngola mofuta oa AMQP 1.0. 'Me ha ho na tharollo bohareng e ka etsang bobeli. Ho na le e 'ngoe kapa e' ngoe. Ka hona, hajoale, ke Kafka feela. Empa e boetse e na le li-nuances tsa eona. Hobane omkafka ea mofuta oa rsyslog eo re e sebelisang e ka lahleheloa ke buffer eohle ea molaetsa eo e e hutseng ho rsyslog. Re ntse re e mamella hajoale.
Potso: Na u sebelisa Kafka hobane u ne u e-na le eona? Ha u e sebelisetse eng kapa eng?
Araba: Kafka, e neng e le, e sebelisoa ke sehlopha sa Data Science. Ena ke morero o fapaneng ka ho feletseng, oo ka oona, ka bomalimabe, nke keng ka bua letho. Ha ke tsebe. E ne e le tlas'a taolo ea sehlopha sa Data Science. Ha re qala ho rema lifate, re ile ra etsa qeto ea ho e sebelisa e le hore re se ke ra kenya ea rona. Hona joale re ntlafalitse Graylog, 'me re lahlehetsoe ke ho lumellana, hobane ho na le phetolelo ea khale ea Kafka. Re ile ra tlameha ho iqalla tsa rona. Ka nako e ts'oanang, re ile ra tlosa lihlooho tsena tse 'nè bakeng sa API ka' ngoe. Re entse sehlooho se le seng se pharaletseng bakeng sa bohle ba phelang, sehlooho se le seng se pharaletseng bakeng sa lipapali tsohle mme re lahlela ntho e 'ngoe le e' ngoe moo. Graylog e hlahisa tsena tsohle ka ho tšoana.
Potso: Ke hobane'ng ha u hloka shamanism ee e nang le li-sockets? Na u lekile ho sebelisa syslog log driver bakeng sa lijana?
Araba: Ka nako eo re neng re botsa potso ena, kamano ea rona le Docker e ne e le thata. E ne e le Docker 1.0 kapa 0.9. Docker ka boeona e ne e makatsa. Taba ea bobeli, haeba le uena u sutumetsa lits'oants'o ho eona ... Ke na le pelaelo e sa netefatsoang ea hore e fetisa lits'oants'o tsohle ka boeona, ka daemon ea Docker. Haeba e 'ngoe ea li-API tsa rona e hlanya, li-API tse ling li kena tabeng ea hore ha li khone ho romela stdout le stderr. Ha ke tsebe hore na sena se tla lebisa ho eng. Ke na le lipelaelo ka boemo ba maikutlo a hore ha rea lokela ho sebelisa mokhanni oa syslog oa Docker sebakeng sena. Lefapha la rona la liteko tse sebetsang le na le sehlopha sa lona sa Graylog se nang le lifate. Ba sebelisa li-driver tsa log tsa Docker mme tsohle li bonahala li le hantle moo. Empa hang-hang ba ngolla GELF ho Graylog. Nakong eo re neng re qala tsena tsohle, re ne re hloka feela hore e sebetse. Mohlomong hamorao, ha motho e mong a fihla a re e se e sebetsa hantle ka lilemo tse lekholo, re tla leka.
Potso: U tsamaisa lipakeng tsa litsi tsa data ho rsyslog. Ke hobane'ng ha u sa ee Kafka?
Araba: Re etsa bobeli, ha e le hantle. Ka mabaka a mabeli. Haeba mocha o shoele ka ho feletseng, joale lifate tsohle tsa rona, esita le ka foromo e hatelitsoeng, ha li lumellane le eona. 'Me Kafka e re lumella ho lahleheloa ke bona feela ts'ebetsong. Ka tsela ena re tlosa likutu tsena tse khomarelang. Re sebelisa Kafka ka kotloloho tabeng ena. Haeba re na le mocha o motle mme re batla ho o lokolla, re sebelisa rsyslog ea bona. Empa ha e le hantle, u ka e hlophisa e le hore e theole se neng se sa lekana ka boeona. Hajoale, re sebelisa ho fana ka rsyslog ka kotloloho libakeng tse ling, le Kafka ho tse ling.
Source: www.habr.com
