Юрий Бушмелев «Харитаи мола дар майдони чамъоварй ва супурдани чубу тахта» — стенограммаи маъруза.

Гузоришҳо як қисми муҳими система мебошанд, ки ба шумо имкон медиҳанд, ки фаҳмед, ки он тавре ки интизор мерафт, кор мекунад (ё кор намекунад). Дар меъмории микросервис кор бо гузоришҳо як фани алоҳида барои олимпиадаи махсус мегардад. Якчанд саволҳо бояд якбора ҳал шаванд:

  • чӣ тавр навиштани гузоришҳо аз барнома;
  • дар куҷо навиштани гузоришҳо;
  • чӣ тавр ба интиқоли логҳо барои нигоҳдорӣ ва коркард;
  • чӣ тавр коркард ва нигоҳ доштани гузоришҳо.

Истифодаи технологияҳои маъмули контейнерсозӣ ба майдони вариантҳои ҳалли мушкилот дар болои грабл қумро илова мекунад.

Дар стенограммаи маърузаи Юрий Бушмелев «Харитаи молахо дар сохаи чамъоварй ва супурдани чубу тахта» махз дар хамин аст.

Барои ҳар касе, ки манфиатдор аст, лутфан ба гурба нигаред.

Номи ман Юрий Бушмелев аст. Ман дар Лазада кор мекунам. Имрӯз ман дар бораи он сӯҳбат мекунам, ки чӣ гуна мо чӯбҳои худро сохтем, чӣ гуна онҳоро ҷамъоварӣ кардем ва дар он чӣ менависем.

Юрий Бушмелев «Харитаи мола дар майдони чамъоварй ва супурдани чубу тахта» — стенограммаи маъруза.

Мо аз куҷоем? Мо кистем? Lazada №1 фурӯшандаи онлайн дар шаш кишвари Осиёи Ҷанубу Шарқӣ мебошад. Ҳамаи ин кишварҳо дар байни марказҳои маълумотии мо тақсим карда шудаанд. Дар айни замон дар маҷмӯъ 4 маркази додаҳо вуҷуд дорад Чаро ин муҳим аст? Зеро баъзе карорхо аз он сабаб ба амал омаданд, ки алокаи байни марказхо хеле суст аст. Мо меъмории микросервис дорем. Ман ба ҳайрат омадам, ки мо аллакай 80 микросервис дорем. Вақте ки ман супоришро бо гузоришҳо оғоз кардам, ҳамагӣ 20 адад буданд. Илова бар ин, як порчаи хеле калони мероси PHP мавҷуд аст, ки ман низ бояд бо он зиндагӣ кунам ва тоқат кунам. Ҳамаи ин дар айни замон дар як дақиқа дар маҷмӯъ барои система беш аз 6 миллион паём тавлид мекунад. Минбаъд ман нишон медиҳам, ки мо бо ин чӣ гуна зиндагӣ кардан мехоҳем ва чаро ин тавр аст.

Юрий Бушмелев «Харитаи мола дар майдони чамъоварй ва супурдани чубу тахта» — стенограммаи маъруза.

Шумо бояд бо ин 6 миллион паём зиндагӣ кунед. Мо бояд бо онҳо чӣ кор кунем? 6 миллион паёме, ки ба шумо лозим аст:

  • аз барнома ирсол кунед
  • барои тахвил кабул кунед
  • барои тахлил ва нигахдорн расонед.
  • таҳлил кунед
  • онро бо ягон роҳ нигоҳ доред.

Юрий Бушмелев «Харитаи мола дар майдони чамъоварй ва супурдани чубу тахта» — стенограммаи маъруза.

Вақте ки се миллион паёмҳо пайдо шуданд, ман тақрибан якхела нигоҳ кардам. Зеро мо бо чанд танга сар кардем. Маълум аст, ки дар он ҷо сабтҳои ариза навишта шудаанд. Масалан, ман ба базаи маълумот пайваст шуда натавонистам, ман метавонистам ба база пайваст шавам, аммо ман чизе хонда натавонистам. Аммо ба ғайр аз ин, ҳар як хидматрасонии хурди мо инчунин гузориши дастрасӣ менависад. Ҳар як дархосте, ки ба микросервис ворид мешавад, дар журнал сабт карда мешавад. Чаро мо ин корро мекунем? Таҳиягарон мехоҳанд, ки пайгирӣ кунанд. Ҳар як гузориши дастрасӣ дорои майдони пайгирӣ мебошад, ки бо истифода аз он интерфейси махсус тамоми занҷирро мекушояд ва пайро зебо намоиш медиҳад. Пайрав нишон медиҳад, ки дархост чӣ гуна сурат гирифтааст ва ин ба таҳиягарони мо кӯмак мекунад, ки ҳама гуна партовҳои номаълумро зуд ҳал кунанд.

Юрий Бушмелев «Харитаи мола дар майдони чамъоварй ва супурдани чубу тахта» — стенограммаи маъруза.

Бо ин чӣ гуна зиндагӣ кардан мумкин аст? Акнун ман ба таври мухтасар соҳаи вариантҳоро тавсиф мекунам - ин мушкилот умуман чӣ гуна ҳал карда мешавад. Масъалаи чамъоварй, фиристодан ва нигох доштани журналхо чй тавр хал карда мешавад.

Юрий Бушмелев «Харитаи мола дар майдони чамъоварй ва супурдани чубу тахта» — стенограммаи маъруза.

Чӣ тавр аз ариза нависед? Маълум аст, ки роҳҳои гуногун вуҷуд доранд. Махсусан, тачрибаи пешкадам мавчуд аст, чунон ки рафикони муд-тарамон накл мекунанд. Ду намуди мактаби кӯҳна вуҷуд дорад, чунон ки бобои мо гуфтаанд. Роҳҳои дигар вуҷуд доранд.

Юрий Бушмелев «Харитаи мола дар майдони чамъоварй ва супурдани чубу тахта» — стенограммаи маъруза.

Вазъияти чамъоварии чубу тахта такрибан хамин аст. Имкониятҳои зиёде барои ҳалли ин қисми мушаххас вуҷуд надоранд. Онҳо аллакай зиёданд, аммо ҳоло он қадар зиёд нестанд.

Юрий Бушмелев «Харитаи мола дар майдони чамъоварй ва супурдани чубу тахта» — стенограммаи маъруза.

Аммо бо таҳвил ва таҳлили минбаъда, шумораи вариантҳо ба таркиш оғоз мекунанд. Ман ҳоло ҳар як вариантро тавсиф намекунам. Ман фикр мекунам, ки вариантҳои асосӣ ба ҳама онҳое, ки ба мавзӯъ таваҷҷӯҳ доранд, хуб медонанд.

Юрий Бушмелев «Харитаи мола дар майдони чамъоварй ва супурдани чубу тахта» — стенограммаи маъруза.

Ман ба шумо нишон медиҳам, ки мо ин корро дар Лазада чӣ гуна анҷом додем ва ҳамааш чӣ гуна оғоз ёфт.

Юрий Бушмелев «Харитаи мола дар майдони чамъоварй ва супурдани чубу тахта» — стенограммаи маъруза.

Як сол пеш ман ба Лазада омадам ва ба лоиҳа дар бораи чӯб фиристода шудам. Чунин чизе буд. Сабти барнома ба stdout ва stderr навишта шудааст. Ҳама чиз ба таври муд анҷом дода шуд. Аммо баъдтар таҳиягарон онро аз ҷараёнҳои стандартӣ партофтанд ва он гоҳ мутахассисони инфрасохтор бо кадом роҳ онро муайян мекунанд. Дар байни мутахассисони инфрасохтор ва таҳиягарон инчунин релизҳо ҳастанд, ки мегӯянд: "Уҳ ... хуб, биёед онҳоро дар як файл бо ҷилди печонем ва ҳамин тавр аст." Ва азбаски ин ҳама дар як контейнер буд, онҳо онро дуруст дар худи контейнер печонида, каталогро дар дохили он ҷойгир карданд. Ман фикр мекунам, ки ин ба ҳама равшан аст, ки аз он чӣ ба вуҷуд омадааст.

Юрий Бушмелев «Харитаи мола дар майдони чамъоварй ва супурдани чубу тахта» — стенограммаи маъруза.

Биёед ҳоло каме бештар назар кунем. Мо ин гузоришҳоро чӣ гуна ба даст овардем? Касе td-agent-ро интихоб кард, ки воқеан босавод аст, аммо чандон хуб нест. Ман то ҳол муносибати байни ин ду лоиҳаро намефаҳмам, аммо ба назар чунин мерасад, ки онҳо дар бораи як чиз ҳастанд. Ва ин забони равон, ки бо забони руби навишта шудааст, файлҳои журналро мехонад ва онҳоро бо истифода аз як навъ муқаррарӣ ба JSON таҳлил кардааст. Баъд ман онҳоро ба Кафка фиристодам. Ғайр аз он, дар Кафка мо барои ҳар як API 4 мавзӯи алоҳида доштем. Чаро 4? Азбаски зинда вуҷуд дорад, саҳнагузорӣ вуҷуд дорад ва азбаски stdout ва stderr вуҷуд дорад. Таҳиягарон онҳоро эҷод мекунанд ва таҳиягарони инфрасохтор бояд онҳоро дар Кафка эҷод кунанд. Гузашта аз ин, Кафкаро шӯъбаи дигар назорат мекард. Аз ин ру, билет тартиб додан лозим буд, ки ба хар api 4 мавзуъ ташкил кунанд. Ҳама инро фаромӯш карданд. Умуман, партов ва ғавғо вуҷуд дошт.

Юрий Бушмелев «Харитаи мола дар майдони чамъоварй ва супурдани чубу тахта» — стенограммаи маъруза.

Мо минбаъд бо ин чӣ кор кардем? Мо онро ба Кафка фиристодем. Сипас нисфи чӯбҳои аз Кафка ба Логсташ парвоз карданд. Нисфи дигари чӯбҳо тақсим карда шуд. Баъзеҳо ба як Грейлог парвоз карданд, баъзеҳо ба Грейлоги дигар. Дар натиҷа, ҳамаи ин ба як кластери Elasticsearch дохил шуд. Яъне, ин ҳама бесарусомонӣ дар ҳамин ҷо анҷом ёфт. Ин корро накунед!

Юрий Бушмелев «Харитаи мола дар майдони чамъоварй ва супурдани чубу тахта» — стенограммаи маъруза.

Ин аст, ки агар шумо ба он аз боло назар кунед. Ин корро накунед! Дар ин чо участкахои проблемавй фавран бо ракамхо кайд карда мешаванд. Дар асл шумораи онҳо зиёданд, аммо 6-тои онҳо воқеан мушкиле ҳастанд, ки бояд кореро анҷом дод. Ман ҳоло ба шумо дар бораи онҳо алоҳида мегӯям.

Юрий Бушмелев «Харитаи мола дар майдони чамъоварй ва супурдани чубу тахта» — стенограммаи маъруза.

Дар ин ҷо (1,2,3) мо файлҳоро менависем ва мувофиқан, дар ин ҷо якбора се рейк мавҷуд аст.

Аввалин (1) ин аст, ки мо бояд онҳоро дар ҷое нависем. Ба API қобилияти навиштани мустақим ба файл на ҳамеша матлуб аст. Ин матлуб аст, ки API дар як контейнер ҷудо карда шавад ё ҳатто беҳтар аст, ки он танҳо барои хондан бошад. Ман мудири система ҳастам, бинобар ин ман ба ин чизҳо назари каме алтернативӣ дорам.

Нуктаи дуюм (2,3) ин аст, ки мо ба API дархостҳои зиёде дорем. API ба файл маълумоти зиёде менависад. Файлҳо афзоиш меёбанд. Мо бояд онҳоро гардиш кунем. Зеро дар акси ҳол шумо наметавонед дар ягон диски он ҷо захира кунед. Гардонидани онҳо бад аст, зеро онҳо тавассути интиқоли тавассути ниҳонӣ ба директория сохта мешаванд. Ҳеҷ гуна роҳе нест, ки мо онро аз нав дида бароем. Шумо наметавонед ба барнома бигӯед, ки дастаҳоро боз кунад. Зеро таҳиягарон ба шумо мисли аблаҳ нигоҳ мекунанд: “Кадом тавсифкунандагон? Мо одатан ба stdout менависем. ” Таҳиягарони инфрасохтор copytruncate-ро барои logrotate сохтанд, ки он танҳо як нусхаи файлро месозад ва нусхаи аслиро транскрипсия мекунад. Мувофиқи он, дар байни ин равандҳои нусхабардорӣ фазои диск одатан тамом мешавад.

(4) Мо дар API-ҳои гуногун форматҳои гуногун доштем. Онҳо каме фарқ мекарданд, аммо regexp бояд ба таври дигар навишта шавад. Азбаски ҳамаи ин аз ҷониби Puppet назорат карда мешуд, як гурӯҳи зиёди синфҳо бо тараканҳои худ буданд. Илова бар ин, аксар вақт td-агент метавонад хотираро бихӯрад, беақл бошад, он метавонад вонамуд кунад, ки он кор мекунад ва ҳеҷ кор намекунад. Аз берун фахмидан мумкин набуд, ки у хеч кор намекунад. Бехтаринаш у меафтад ва баъдтар касе уро мебардорад. Аниқтараш, ҳушдор меояд ва касе рафта онро бо дастонаш боло мекунад.

Юрий Бушмелев «Харитаи мола дар майдони чамъоварй ва супурдани чубу тахта» — стенограммаи маъруза.

(6) Ва аз ҳама партов ва партовҳо elasticsearch буд. Зеро он версияи кӯҳна буд. Зеро мо он вакт устодони фидокор надоштем. Мо ғӯлачӯбҳои гетерогенӣ доштем, ки майдонҳои онҳо метавонанд ба ҳам мувофиқ бошанд. Гузоришҳои гуногуни замимаҳои гуногун метавонанд бо як номҳои майдон навишта шаванд, аммо дар дохили он маълумотҳои гуногун мавҷуданд. Яъне, як гузориш бо Integer дар майдон меояд, масалан, сатҳи. Сабти дигар бо String дар майдони сатҳ меояд. Дар сурати мавҷуд набудани харитасозии статикӣ, ин як чизи аҷиб аст. Агар пас аз гардиши индекс дар elasticsearch аввал паём бо сатр расад, пас мо ба таври муқаррарӣ зиндагӣ мекунем. Аммо агар паёми аввал аз Integer омада бошад, пас ҳамаи паёмҳои минбаъда, ки аз String омадаанд, ба таври оддӣ партофта мешаванд. Зеро навъи майдон мувофиқат намекунад.

Юрий Бушмелев «Харитаи мола дар майдони чамъоварй ва супурдани чубу тахта» — стенограммаи маъруза.

Мо ба додани ин саволҳо шурӯъ кардем. Мо тасмим гирифтем, ки гунаҳкоронро ҷустуҷӯ накунем.

Юрий Бушмелев «Харитаи мола дар майдони чамъоварй ва супурдани чубу тахта» — стенограммаи маъруза.

Аммо чизе бояд кард! Чизи аён аст, ки мо бояд стандартҳоро муқаррар кунем. Мо аллакай баъзе стандартҳо доштем. Мо каме дертар оғоз кардем. Хушбахтона, дар он вақт формати ягонаи гузориш барои ҳамаи APIҳо аллакай тасдиқ шуда буд. Он бевосита ба стандартҳои ҳамкории байни хидматҳо навишта шудааст. Бинобар ин, онҳое, ки мехоҳанд гузоришҳоро гиранд, бояд онҳоро дар ин формат нависанд. Агар касе дар ин формат гузориш нанависад, мо ба ҳеҷ чиз кафолат намедиҳем.

Минбаъд ман мехоҳам стандарти ягонаи усулҳои сабт, интиқол ва ҷамъоварии гузоришҳоро эҷод кунам. Воқеан, онҳоро дар куҷо навиштан ва чӣ тавр ба онҳо расонидан. Вазъияти беҳтарин он аст, ки лоиҳаҳо ҳамон китобхонаро истифода мебаранд. Барои Go китобхонаи алоҳидаи сабткунӣ ва китобхонаи алоҳида барои PHP мавҷуд аст. Ҳар касе, ки мо дорем, бояд онҳоро истифода барад. Дар айни замой гуям, ки мо дар ин бобат 80 фоиз муваффакият дорем. Аммо баъзе одамон ба хӯрдани кактус идома медиҳанд.

Ва дар он ҷо (дар слайд) "SLA барои интиқоли гузоришҳо" базӯр пайдо мешавад. Он ҳанӯз вуҷуд надорад, аммо мо дар болои он кор карда истодаем. Зеро вақте инфрасохтор мегӯянд, хеле қулай аст, ки агар шумо ба фалон ҷой ба фалон шакл нависед ва дар як сония на бештар аз N паём нависед, пас ба эҳтимоли зиёд мо онро ба фалон ҷой мерасонем. Ин бисёр дарди сарро дафъ мекунад. Агар SLA вуҷуд дошта бошад, пас ин комилан олиҷаноб аст!

Юрий Бушмелев «Харитаи мола дар майдони чамъоварй ва супурдани чубу тахта» — стенограммаи маъруза.

Мо ба ҳалли мушкилот чӣ гуна шурӯъ кардем? Проблемаи асосй бо td-агент буд. Маълум набуд, ки чӯбҳои мо ба куҷо рафтанд. Оё онҳо расонида мешаванд? Онҳо мераванд? Ба ҳар ҳол онҳо дар куҷоянд? Аз ин ру, нуктаи аввал карор дода шуд, ки тд-агент иваз карда шавад. Ман ба таври мухтасар вариантҳоро барои иваз кардани он дар ин ҷо тавсиф кардам.

Фуенд. Аввалан, ман бо ӯ дар кори қаблӣ вохӯрдам ва ӯ низ давра ба давра ба он ҷо афтод. Дуюм, ин ҳамон чизест, танҳо дар профил.

Filebeat. Чӣ тавр он барои мо қулай буд? Зеро он дар Go аст ва мо дар Go таҷрибаи зиёд дорем. Аз ин рӯ, агар чизе рӯй диҳад, мо метавонем бо ягон роҳ ба худамон илова кунем. Барои ҳамин мо онро нагирифтем. Барои он ки ҳатто ягон васвасаи оғоз кардани навиштани он барои худ нест.

Ҳалли равшан барои мудири система ҳама навъҳои системаҳои системавӣ дар ин миқдор аст (syslog-ng/rsyslog/nxlog).

Ё чизе аз худатон нависед, аммо мо ин ва инчунин filebeat-ро партофтем. Агар шумо чизе нависед, беҳтар аст, ки чизи барои тиҷорат муфид нависед. Барои расонидани гузоришҳо, беҳтар аст, ки чизи тайёрро гиред.

Аз ин рӯ, интихоб воқеан ба интихоби байни syslog-ng ва rsyslog омад. Ман ба rsyslog такя кардам, зеро мо аллакай дар Puppet барои rsyslog дарсҳо доштем ва байни онҳо фарқияти возеҳ наёфтам. syslog чист, syslog чист. Бале, баъзеҳо ҳуҷҷатҳои бадтар доранд, баъзеҳо беҳтаранд. Ин корро ин тавр карда метавонад ва дигаре ба таври дигар.

Юрий Бушмелев «Харитаи мола дар майдони чамъоварй ва супурдани чубу тахта» — стенограммаи маъруза.

Ва каме дар бораи rsyslog. Пеш аз ҳама, ин аҷиб аст, зеро он модулҳои зиёде дорад. Он дорои RainerScript (забони конфигуратсияи муосир) мебошад, ки барои одамон хонда мешавад. Ин як бонуси олӣ аст, ки мо метавонем бо истифода аз абзорҳои стандартӣ рафтори td-агентро тақлид кунем ва барои барномаҳо ҳеҷ чиз тағир наёфт. Яъне, мо td-agent-ро ба rsyslog иваз мекунем ва ҳама чизро ҳоло танҳо мегузорем. Ва мо фавран интиқоли корро мегирем. Баъдан, mmnormalize як чизи олӣ дар rsyslog аст. Он ба шумо имкон медиҳад, ки гузоришҳоро таҳлил кунед, аммо на бо Grok ва regexp. Он дарахти абстрактии синтаксисро месозад. Он гузоришҳоро ҳамон тавре, ки компилятор сарчашмаҳоро таҳлил мекунад, таҳлил мекунад. Ин ба шумо имкон медиҳад, ки хеле зуд кор кунед, CPU-и каме истеъмол кунед ва дар маҷмӯъ, ин чизи воқеан аҷиб аст. Як қатор бонусҳои дигар мавҷуданд. Ман дар бораи онҳо таваққуф намекунам.

Юрий Бушмелев «Харитаи мола дар майдони чамъоварй ва супурдани чубу тахта» — стенограммаи маъруза.

rsyslog бисёр камбудиҳои дигар дорад. Онҳо тақрибан ба бонусҳо баробаранд. Мушкилоти асосӣ дар он аст, ки шумо бояд донед, ки чӣ тавр онро пухтан лозим аст ва шумо бояд версияро интихоб кунед.

Юрий Бушмелев «Харитаи мола дар майдони чамъоварй ва супурдани чубу тахта» — стенограммаи маъруза.

Мо тасмим гирифтем, ки гузоришҳоро ба васлаки unix нависед. Ва на дар /dev/log, зеро дар он ҷо мо бесарусомонии гузоришҳои система дорем, journald дар ин лӯла мавҷуд аст. Пас биёед ба розеткаи фармоишӣ нависед. Мо онро ба маҷмӯи қоидаҳои алоҳида замима мекунем. Ба хеч чиз дахолат накунем. Ҳама чиз шаффоф ва фаҳмо хоҳад буд. Мо маҳз ҳамин тавр кардем. Феҳрист бо ин розеткаҳо стандартизатсия карда шуда, ба ҳама контейнерҳо фиристода мешавад. Контейнерҳо метавонанд розеткаеро, ки ба онҳо лозим аст, бубинанд, кушоянд ва ба он нависед.

Чаро файл нест? Чунки ҳама онро мехонанд мақола дар бораи Бадушечка. Он чизи дигареро кушода нигоҳ медорад, аммо на розеткае, ки онҳо менависанд. Мо тасмим гирифтем, ки ин мушкилотро ҳал кунем ва дар баробари ин, мо мушкилоти бастани онро ҳал кунем.

Юрий Бушмелев «Харитаи мола дар майдони чамъоварй ва супурдани чубу тахта» — стенограммаи маъруза.

Rsyslog амалҳои дар слайд нишондодашударо иҷро мекунад ва гузоришҳоро ба реле ё Кафка мефиристад. Кафка бо рохи кухна меравад. Эстафета - Ман кӯшиш кардам, ки rsyslog-и холисро барои интиқоли гузоришҳо истифода барам. Бе навбати паём, бо истифода аз абзорҳои стандартии rsyslog. Асосан, он кор мекунад.

Юрий Бушмелев «Харитаи мола дар майдони чамъоварй ва супурдани чубу тахта» — стенограммаи маъруза.

Аммо нозукиҳо мавҷуданд, ки чӣ гуна онҳоро ба ин қисм тела додан лозим аст (Logstash/Graylog/ES). Ин қисм (rsyslog-rsyslog) дар байни марказҳои додаҳо истифода мешавад. Дар ин ҷо як истиноди фишурдашудаи tcp аст, ки ба мо имкон медиҳад, ки фарохмаҷро сарфа кунем ва мувофиқан, эҳтимоли он, ки мо ҳангоми баста шудани канал баъзе гузоришҳоро аз маркази додаҳои дигар мегирем, зиёд кунем. Зеро мо Индонезия дорем, ки дар он ҷо ҳама чиз бад аст. Дар ин ҷо мушкилоти доимӣ вуҷуд дорад.

Юрий Бушмелев «Харитаи мола дар майдони чамъоварй ва супурдани чубу тахта» — стенограммаи маъруза.

Мо дар бораи он фикр мекардем, ки чӣ тавр мо метавонем воқеан назорат кунем, ки то чӣ андоза гузоришҳое, ки мо аз барнома сабт кардем, ба охир мерасад? Мо тасмим гирифтем, ки метрика эҷод кунем. rsyslog модули ҷамъоварии омори худро дорад, ки дорои як навъ ҳисобкунакҳо мебошад. Масалан, он метавонад ба шумо андозаи навбат, ё чанд паём дар фалон амал омадаро нишон диҳад. Шумо аллакай аз онҳо чизе гирифта метавонед. Илова бар ин, он дорои ҳисобкунакҳои фармоишӣ мебошад, ки онҳоро танзим кардан мумкин аст ва он ба шумо, масалан, шумораи паёмҳоеро, ки баъзе API сабт кардаанд, нишон медиҳад. Баъдан, ман rsyslog_exporter дар Python навиштам ва мо ҳамаашро ба Prometheus фиристодем ва графикҳо сохтем. Мо дар ҳақиқат мехостем метрикаи Graylog дошта бошем, аммо мо то ҳол барои насб кардани онҳо вақт наёфтаем.

Юрий Бушмелев «Харитаи мола дар майдони чамъоварй ва супурдани чубу тахта» — стенограммаи маъруза.

Мушкилот чӣ гуна буд? Вақте ки мо фаҳмидем, ки API-ҳои Live мо дар як сония 50k паём менависанд, мушкилот ба миён омаданд. Ин танҳо як API Live бе саҳна аст. Ва Graylog ба мо танҳо 12 ҳазор паём дар як сония нишон медиҳад. Ва саволи асоснок ба миён омад: боқимондаҳо куҷоянд? Аз он мо ба хулосае омадем, ки Graylog танҳо аз ӯҳдаи ин кор баромада наметавонад. Мо нигоҳ кардем ва дар ҳақиқат Graylog ва Elasticsearch ин ҷараёнро идора карда натавонистанд.

Баъд, бозьёфтҳои дигаре, ки мо дар роҳ ба даст овардем.

Навиштҳо ба розетка баста шудаанд. Ин чӣ гуна рӯй дод? Вақте ки ман rsyslog-ро барои интиқол истифода мебурдам, дар як лаҳза канали байни марказҳои додаҳо вайрон шуд. Дар як чо тахеил, дар чои дигар. Ҳамаи ин ба мошин бо APIҳо расид, ки ба васлаки rsyslog менависанд. Дар он чо навбат буд. Пас аз он навбат барои навиштан ба васлаки unix, ки ба таври нобаёнӣ 128 пакет аст, пур шуд. Ва навиштани навбатӣ () дар барнома баста шудааст. Вақте ки мо ба китобхонае, ки мо дар замимаҳои Go истифода мебарем, аз назар гузарондем, дар он ҷо навишта шудааст, ки навиштан ба розетка дар реҷаи ғайрибандӣ сурат мегирад. Мо боварӣ доштем, ки ҳеҷ чиз монеъ нашудааст. Зеро мехонем мақола дар бораи Бадушечкаки дар ин бора навиштааст. Аммо лаҳзае ҳаст. Дар атрофи ин занг низ як ҳалқаи беохир вуҷуд дошт, ки дар он ҳамеша кӯшиши пахш кардани паём ба розетка вуҷуд дошт. Мо ӯро пайхас накардем. Ман маҷбур шудам, ки китобхонаро аз нав нависам. Аз он вақт инҷониб он якчанд маротиба тағйир ёфт, аммо ҳоло мо дар ҳама зерсистемаҳо аз басташавӣ халос шудем. Аз ин рӯ, шумо метавонед rsyslog-ро қатъ кунед ва ҳеҷ чиз вайрон намешавад.

Андозаи навбатҳоро назорат кардан лозим аст, ки ин барои пешгирӣ кардани қадам ба ин раке кӯмак мекунад. Аввалан, мо метавонем ҳангоми аз даст додани паёмҳо назорат кунем. Сониян, мо метавонем назорат кунем, ки мо бо интиқол мушкилот дорем.

Ва боз як лаҳзаи ногувор - пурқувват кардани 10 маротиба дар меъмории микросервис хеле осон аст. Мо дархостҳои воридотии зиёде надорем, аммо аз сабаби графике, ки ин паёмҳо дар тӯли он бештар сафар мекунанд, аз ҳисоби сабтҳои дастрасӣ, мо воқеан сарбории гузоришро тақрибан даҳ маротиба зиёд мекунем. Мутаассифона, ман барои ҳисоб кардани рақамҳои дақиқ вақт надоштам, аммо микросервисҳо ҳамон чизест. Инро дар хотир бояд дошт. Маълум мешавад, ки дар айни замон зерсистемаи ҷамъоварии гузоришҳо дар Лазада аз ҳама пурбор аст.

Юрий Бушмелев «Харитаи мола дар майдони чамъоварй ва супурдани чубу тахта» — стенограммаи маъруза.

Чӣ тавр ҳалли мушкилоти elasticsearch? Агар ба шумо лозим ояд, ки гузоришҳоро дар як ҷо зуд ба даст оред, то ба ҳама мошинҳо давида нашавед ва онҳоро дар он ҷо ҷамъ кунед, захираи файлро истифода баред. Ин ба кор кафолат дода мешавад. Он метавонад аз ҳама гуна сервер анҷом дода шавад. Шумо бояд танҳо дискҳоро дар он ҷо часпонед ва syslog-ро насб кунед. Пас аз ин, ба шумо кафолат дода мешавад, ки ҳамаи гузоришҳо дар як ҷо дошта бошед. Пас шумо метавонед оҳиста-оҳиста elasticsearch, graylog ва чизи дигарро танзим кунед. Аммо шумо аллакай ҳамаи гузоришҳоро доред ва илова бар ин, шумо метавонед онҳоро то он даме, ки массиви дискҳои кофӣ вуҷуд дорад, нигоҳ доред.

Юрий Бушмелев «Харитаи мола дар майдони чамъоварй ва супурдани чубу тахта» — стенограммаи маъруза.

Дар замони гузориши ман, схема чунин ба назар мерасад. Мо амалан навиштанро ба файл қатъ кардем. Ҳоло, ба эҳтимоли зиёд, мо боқимондаро хомӯш мекунем. Дар мошинҳои маҳаллӣ, ки API-ро иҷро мекунанд, мо навиштанро ба файлҳо қатъ мекунем. Аввалан, нигоҳдории файл мавҷуд аст, ки хеле хуб кор мекунад. Сониян, ин машинахо доимо аз чои холй мемонанд, онро доимо назорат кардан лозим аст.

Ин қисм бо Logstash ва Graylog, он воқеан хомӯш мешавад. Бинобар ин мо бояд аз он даст кашем. Шумо бояд як чизро интихоб кунед.

Юрий Бушмелев «Харитаи мола дар майдони чамъоварй ва супурдани чубу тахта» — стенограммаи маъруза.

Мо тасмим гирифтем, ки Логсташ ва Кибанаро партоем. Зеро мо шуъбаи бехатарй дорем. Кадом робита? Пайвастшавӣ дар он аст, ки Kibana бе X-Pack ва бе Shield ба шумо имкон намедиҳад, ки ҳуқуқи дастрасӣ ба гузоришҳоро фарқ кунед. Барои ҳамин мо Graylog-ро гирифтем. Он ҳама чизро дорад. Ба ман маъқул нест, аммо он кор мекунад. Мо сахтафзори нав харидем, дар он ҷо Graylog-и нав насб кардем ва ҳама гузоришҳоро бо форматҳои қатъӣ ба Graylog-и алоҳида интиқол додем. Мо масъаларо бо навъҳои гуногуни соҳаҳои якхела аз ҷиҳати ташкилӣ ҳал кардем.

Юрий Бушмелев «Харитаи мола дар майдони чамъоварй ва супурдани чубу тахта» — стенограммаи маъруза.

Чӣ маҳз ба Graylog нав дохил карда шудааст. Мо ҳама чизро ба docker навиштем. Мо як қатор серверҳоро гирифтем, се мисоли Кафка, 7 сервери Graylog версияи 2.3 (зеро мо мехостем, ки версияи 5-и Elasticsearch бошад). Ҳамаи ин ҳангоми рейдҳо аз HDD гирифта шудааст. Мо сатҳи индексатсияи то 100 ҳазор паёмро дар як сония дидем. Мо ин рақамро дидем, ки 140 терабайт маълумот дар як ҳафта.

Юрий Бушмелев «Харитаи мола дар майдони чамъоварй ва супурдани чубу тахта» — стенограммаи маъруза.

Ва боз раке! Мо ду фурӯш дорем. Мо аз 6 миллион паём гузаштем. Грейлог барои хоидан вақт надорад. Ягон хел мо бояд дубора зинда монем.

Юрий Бушмелев «Харитаи мола дар майдони чамъоварй ва супурдани чубу тахта» — стенограммаи маъруза.

Хамин тавр мо зинда мондем. Мо боз чанд сервер ва SSD илова кардем. Дар айни хол мо хамин тавр зиндагй мекунем. Ҳоло мо аллакай дар як сония 160 ҳазор паёмро мехӯрем. Мо то ҳол ба ҳадди ниҳоӣ нарасидем, аз ин рӯ маълум нест, ки мо воқеан аз ин чӣ қадар ба даст оварда метавонем.

Юрий Бушмелев «Харитаи мола дар майдони чамъоварй ва супурдани чубу тахта» — стенограммаи маъруза.

Инҳо нақшаҳои мо барои оянда мебошанд. Аз инҳо, муҳимтаринаш эҳтимол дастрасии баланд аст. Мо ҳоло онро надорем. Якчанд мошинҳо ҳамин тавр танзим карда шудаанд, аммо то ҳол ҳама чиз аз як мошин мегузарад. Барои танзими ноком байни онҳо вақт лозим аст.

Аз Graylog ченакҳоро ҷамъ кунед.

Маҳдудияти нархро муқаррар кунед, то мо як API-и девона дошта бошем, ки маҷрои мо ва ҳама чизи дигарро накушад.

Ва ниҳоят, бо таҳиягарон як навъ SLA-ро имзо кунед, то мо ин қадар хидмат кунем. Агар шумо бештар нависед, ман пушаймонам.

Ва ҳуҷҷат нависед.

Юрий Бушмелев «Харитаи мола дар майдони чамъоварй ва супурдани чубу тахта» — стенограммаи маъруза.

Хулоса, натиҷаҳои ҳама чизе, ки мо аз сар гузаронидаем. Якум, стандартҳо. Дуюм, syslog торт аст. Сеюм, rsyslog айнан ҳамон тавре кор мекунад, ки дар слайд навишта шудааст. Ва биёед ба саволҳо гузарем.

Саволҳои шумо.

савол: Чаро шумо тасмим гирифтед, ки... (filebeat?)

Ҷавоб диҳед: Мо бояд ба файл нависем. Ман дар ҳақиқат намехостам. Вақте ки API-и шумо дар як сония ҳазорҳо паём менависад, ҳатто агар шумо онро дар як соат як маротиба гардед, ин ҳоло ҳам имкон надорад. Шумо метавонед дар қубур нависед. Ба он таҳиягарон аз ман пурсиданд: "Агар раванде, ки мо ба он менависем, вайрон шавад, чӣ мешавад?" Ман танҳо наёфтам, ки ба онҳо чӣ ҷавоб диҳам ва гуфтам: "Хуб, биёед ин корро накунем".

савол: Чаро шумо танҳо ба HDFS гузориш наменависед?

Ҷавоб диҳед: Ин марҳилаи оянда аст. Мо дар аввал дар ин бора фикр мекардем, аммо азбаски дар айни замон захираҳо барои ин кор вуҷуд надоранд, он дар ҳалли дарозмуддати мо овезон аст.

савол: Формати сутун мувофиқтар мебуд.

Ҷавоб диҳед: Ман мефаҳмам. Мо бо ду даст тарафдори онем.

савол: Шумо ба rsyslog менависед. Дар он ҷо шумо метавонед ҳам TCP ва UDP-ро истифода баред. Аммо агар UDP, пас шумо чӣ гуна кафолат дода метавонед?

Ҷавоб диҳед: Ду нукта вуҷуд дорад. Аввалан, ман дарҳол ба ҳама мегӯям, ки мо таҳвили логҳоро кафолат намедиҳем. Зеро вақте ки таҳиягарон меоянд ва мегӯянд: "Биёед, дар он ҷо навиштани маълумоти молиявиро оғоз кунем ва шумо онро барои мо дар ҷое мегузоред, агар чизе рӯй диҳад", мо ба онҳо ҷавоб медиҳем: "Аъло! Биёед бастани навиштан ба розеткаро оғоз кунем ва ин корро дар муомилот анҷом диҳем, то ба шумо кафолат дода шавад, ки онро барои мо ба розетка гузоред ва боварӣ ҳосил кунед, ки мо онро аз тарафи дигар қабул мекунем. ” Ва дар айни замон, ҳама фавран ба он ниёз надоранд. Агар зарур набошад, пас мо бояд кадом саволҳоро диҳем? Агар шумо намехоҳед, ки ба розетка навиштанро кафолат диҳед, пас чаро мо бояд интиқолро кафолат диҳем? Мо тамоми кувваро ба кор мебарем. Мо дар ҳақиқат мекӯшем, ки ба қадри имкон ва ба таври беҳтарин интиқол диҳем, аммо мо 100% кафолат намедиҳем. Аз ин рӯ, дар он ҷо навиштани маълумоти молиявӣ лозим нест. Барои ин пойгоҳи додаҳо бо транзаксия мавҷуданд.

савол: Вақте ки API баъзе паёмҳоро дар гузориш тавлид мекунад ва назоратро ба хидматрасониҳои хурд интиқол медиҳад, оё шумо бо мушкилоте дучор шудаед, ки паёмҳо аз микросервисҳои гуногун бо тартиби нодуруст меоянд? Ин боиси нофаҳмиҳо мегардад.

Ҷавоб диҳед: Ин муқаррарӣ аст, ки онҳо бо тартиби гуногун меоянд. Шумо бояд ба ин омода бошед. Зеро ҳама гуна интиқоли шабака фармоишро кафолат намедиҳад, ё шумо бояд барои ин захираҳои махсус сарф кунед. Агар мо захираҳои файлро гирем, пас ҳар як API гузоришҳоро ба файли худ захира мекунад. Дурусттараш, дар он ҷо rsyslog онҳоро ба феҳристҳо ҷудо мекунад. Ҳар як API гузоришҳои худро дорад, ки шумо метавонед ба он ҷо равед ва бубинед ва пас шумо метавонед онҳоро бо истифода аз тамғаи вақт дар ин гузориш муқоиса кунед. Агар онҳо дар Graylog дидан кунанд, пас онҳо дар он ҷо аз рӯи тамғаи вақт ҷудо карда мешаванд. Дар он ҷо ҳама чиз хуб мешавад.

савол: Тамғаи вақт метавонад бо миллисонияҳо фарқ кунад.

Ҷавоб диҳед: Тамғаи вақт аз ҷониби худи API тавлид мешавад. Дар хакикат хам ин аст. Мо NTP дорем. API дар худи паём тамғаи вақт тавлид мекунад. rsyslog онро илова намекунад.

савол: Муносибати байни марказҳои маълумот чандон равшан нест. Дар дохили маркази додаҳо маълум аст, ки гузоришҳо чӣ гуна ҷамъоварӣ ва коркард шудаанд. Муносибати байни марказҳои додаҳо чӣ гуна сурат мегирад? Ё ҳар як маркази маълумот ҳаёти худро дорад?

Ҷавоб диҳед: Қариб. Дар мамлакати мо хар як мамлакат дар як маркази маълумот чойгир аст. Дар айни замон, мо паҳн надорем, то як кишвар дар марказҳои гуногуни маълумот ҷойгир бошад. Аз ин рӯ, зарурати якҷоя кардани онҳо нест. Ҳар як марказ дар дохили он як релеи Log дорад. Ин сервери Rsyslog аст. Дар асл ду мошини идоракунӣ. Онҳо ҳамин гуна муносибат доранд. Аммо ҳоло трафик танҳо аз яке аз онҳо мегузарад. Он ҳама гузоришҳоро ҷамъ мекунад. Вай ба ҳар ҳол навбати диск дорад. Он гузоришҳоро зеркашӣ мекунад ва онҳоро ба маркази додаҳои марказӣ (Сингапур) мефиристад ва дар он ҷо онҳо ба Graylog фиристода мешаванд. Ва ҳар як маркази додаҳо дорои захираи файлии худро дорад. Дар сурати гум шудани пайвасти мо, мо ҳама гузоришҳоро дар он ҷо дорем. Онҳо дар он ҷо хоҳанд монд. Онҳо дар он ҷо нигоҳ дошта мешаванд.

савол: Дар ҳолатҳои ғайримуқаррарӣ, оё шумо аз он ҷо гузоришҳо мегиред?

Ҷавоб диҳед: Шумо метавонед ба он ҷо (ба анбори файл) равед ва бубинед.

савол: Чӣ тавр шумо назорат мекунед, ки шумо гузоришҳоро аз даст намедиҳед?

Ҷавоб диҳед: Мо аслан онхоро аз даст дода истодаем ва мо инро назорат мекунем. Мониторинг як моҳ пеш оғоз шуд. Китобхонае, ки API-ҳои Go истифода мебаранд, дорои ченакҳо мебошанд. Вай метавонад ҳисоб кунад, ки чанд маротиба ба розетка навишта натавонист. Дар айни замон дар он ҷо эвристикаи доно мавҷуд аст. Дар он ҷо буфер мавҷуд аст. Он кӯшиш мекунад, ки аз он ба розетка паём нависад. Агар буфер пур шавад, он ба партофтани онҳо оғоз мекунад. Ва ӯ ҳисоб мекунад, ки чанд нафари онҳоро партофтааст. Агар дар он ҷо ҳисобкунакҳо пур шаванд, мо аз ин хабар хоҳем ёфт. Онҳо ҳоло ба прометей меоянд ва шумо метавонед графикҳоро дар Графана бубинед. Шумо метавонед огоҳиҳоро танзим кунед. Аммо ба кӣ фиристодани онҳо ҳанӯз маълум нест.

савол: Дар elasticsearch шумо гузоришҳоро бо зиёдатӣ нигоҳ медоред. Шумо чанд нусха доред?

Ҷавоб диҳед: Як сатр.

савол: Оё ин танҳо як сатр аст?

Ҷавоб диҳед: Ин устод ва нусхабардорӣ аст. Маълумот дар ду нусха нигоҳ дошта мешавад.

савол: Оё шумо андозаи буфери rsyslog-ро бо ягон роҳ танзим кардед?

Ҷавоб диҳед: Мо датаграммаҳоро ба васлаки фармоишии unix менависем. Ин фавран ба мо маҳдудияти 128 килобайтро ҷорӣ мекунад. Мо наметавонем ба он бештар бинависем. Мо инро дар стандарт навиштем. Касоне, ки ба анбор дохил шудан мехоханд, 128 килобайт менависанд. Гузашта аз ин, китобхонаҳо бурида мешаванд ва байрақе гузошта мешавад, ки паём бурида мешавад. Стандарти мо барои худи паём майдони махсус дорад, ки нишон медиҳад, ки оё он ҳангоми сабт бурида шудааст ё не. Пас, мо имкон дорем, ки ин лаҳзаро низ пайгирӣ кунем.

Савол: Оё шумо JSON шикаста менависед?

Ҷавоб диҳед: JSON-и шикаста ё ҳангоми реле партофта мешавад, зеро баста хеле калон аст. Ё Graylog партофта мешавад, зеро он JSON-ро таҳлил карда наметавонад. Аммо нозукиҳое ҳастанд, ки онҳоро ислоҳ кардан лозим аст ва онҳо асосан ба rsyslog алоқаманданд. Ман аллакай дар он ҷо якчанд масъалаҳоро пур кардам, ки ҳоло ҳам бояд кор карда шаванд.

Савол: Чаро Кафка? Оё шумо RabbitMQ-ро санҷидаед? Оё Graylog дар чунин борҳо ноком мешавад?

Ҷавоб диҳед: Ин барои мо бо Graylog кор намекунад. Ва Graylog барои мо шакл гирифта истодааст. Вай воқеан мушкил аст. Вай як чизи хос аст. Ва, дар асл, он лозим нест. Ман бартарӣ медиҳам, ки аз rsyslog мустақиман ба elasticsearch нависам ва сипас ба Кибана назар кунам. Аммо мо бояд масъаларо бо посбонони амниятӣ ҳал кунем. Ин як варианти имконпазири рушди мост, вақте ки мо Graylog-ро хориҷ мекунем ва Kibana-ро истифода мебарем. Истифодаи Logstash ҳеҷ маъно надорад. Зеро ман метавонам ҳамин корро бо rsyslog иҷро кунам. Ва он дорои модул барои навиштан ба elasticsearch. Мо кӯшиш мекунем, ки бо Graylog зиндагӣ кунем. Мо ҳатто онро каме танзим кардем. Аммо барои такмил додани он хануз имконият мавчуд аст.

Дар бораи Кафка. Ин тавр буд таърихӣ. Вақте ки ман омадам, он аллакай дар он ҷо буд ва аллакай ба он гузоришҳо навишта мешуданд. Мо танҳо кластери худро баланд кардем ва логҳоро ба он кӯчонидем. Мо роҳбари ӯ ҳастем, мо медонем, ки ӯ чӣ гуна аст. Дар мавриди RabbitMQ... он барои мо бо RabbitMQ кор намекунад. Ва RabbitMQ барои мо шакл гирифта истодааст. Мо онро дар истеҳсолот дорем ва дар он мушкилот вуҷуд дошт. Акнун пеш аз фурУш уро мафтун мекарданду у муътадил кор мекард. Аммо пеш аз ин барои ба истехсолот баровардани он тайёр набудам. Боз як нуктаи дигар хает. Graylog метавонад версияи AMQP 0.9-ро хонад ва rsyslog версияи AMQP 1.0-ро нависад. Ва дар мобайн ягон ҳалли ягонае нест, ки ҳардуро иҷро кунад. Ин як ё он аст. Аз ин рӯ, дар айни замон танҳо Кафка. Аммо он низ нозукиҳои худро дорад. Зеро омкафкаи версияи rsyslog, ки мо истифода мебарем, метавонад тамоми буфери паёмро, ки аз rsyslog хориҷ кардааст, гум кунад. Ҳоло мо ба он тоб меоварем.

Савол: Оё шумо Кафкаро барои он истифода мебаред, ки онро аллакай доштед? Дигар барои ягон мақсад истифода намешавад?

Ҷавоб диҳед: Кафка, ки буд, аз ҷониби гурӯҳи Data Science истифода мешавад. Ин як лоиҳаи комилан алоҳида аст, ки дар бораи он, мутаассифона, ман чизе гуфта наметавонам. Ман намедонам. Он аз ҷониби гурӯҳи Data Science идора карда шуд. Вақте ки гузоришҳо сохта шуданд, мо тасмим гирифтем, ки онро истифода барем, то худамонро насб накунем. Ҳоло мо Graylog-ро нав кардем ва мувофиқатро аз даст додем, зеро он версияи кӯҳнаи Кафка дорад. Мо бояд худамонро оғоз кунем. Ҳамзамон, мо барои ҳар як API аз ин чаҳор мавзӯъ халос шудем. Мо як мавзӯи васеъро барои ҳама зинда сохтем, як мавзӯи васеъ барои ҳама саҳнасозӣ ва ҳама чизро дар он ҷо гузоштем. Graylog ҳамаи инро дар баробари пошхӯрӣ мекунад.

Савол: Чаро ин шаманизм бо розетка лозим аст? Оё шумо кӯшиш кардаед, ки драйвери syslog-ро барои контейнерҳо истифода баред?

Ҷавоб диҳед: Вакте ки мо ин саволро додем, муносибати мо бо докер тезу тунд буд. Он docker 1.0 ё 0.9 буд. Худи Докер аҷиб буд. Сониян, агар шумо низ логҳоро ба он тела диҳед... Ман гумони тасдиқнашуда дорам, ки он тамоми гузоришҳоро тавассути худ, тавассути демони докер мегузарад. Агар як API девона шавад, пас боқимондаи APIҳо дар он мемонанд, ки онҳо stdout ва stderr-ро фиристода наметавонанд. Ман намедонам, ки ин ба куҷо мебарад. Ман дар сатҳи эҳсос гумон дорам, ки дар ин ҷо ба истифодаи драйвери syslog Docker лозим нест. Шӯъбаи санҷиши функсионалии мо кластери Graylog-и худро бо гузоришҳо дорад. Онҳо драйверҳои журнали Docker-ро истифода мебаранд ва дар он ҷо ҳама чиз хуб ба назар мерасад. Аммо онҳо фавран ба Graylog GELF менависанд. Дар замоне, ки мо ин ҳамаро оғоз кардем, танҳо барои кор кардан лозим буд. Шояд баъдтар касе омада гӯяд, ки сад сол боз хуб кор мекунад, кӯшиш мекунем.

Савол: Шумо бо истифода аз rsyslog байни марказҳои маълумот интиқол медиҳед. Чаро Кафка не?

Ҷавоб диҳед: Мо дар асл ҳарду мекунем. Бо ду сабаб. Агар канал комилан мурда бошад, пас ҳамаи гузоришҳои мо, ҳатто дар шакли фишурда, тавассути он намегузаранд. Ва Кафка ба шумо имкон медиҳад, ки онҳоро дар ин раванд гум кунед. Ҳамин тавр мо аз часпида мондани ин гузоришҳо халос мешавем. Мо дар ин ҳолат танҳо Кафкаро мустақиман истифода мебарем. Агар мо канали хуб дошта бошем ва онро озод кардан хоҳем, пас мо rsyslog-и онҳоро истифода мебарем. Аммо дар асл, шумо метавонед онро тавре танзим кунед, ки худи он чизеро, ки ба он мувофиқ набуд, партояд. Дар айни замон, мо танҳо интиқоли rsyslog-ро мустақиман дар ҷое истифода мебарем ва Кафка дар ҷое.

Манбаъ: will.com

Илова Эзоҳ