MÄs Badoo pastÄvÄ«gi uzraugÄm jaunÄs tehnoloÄ£ijas un izvÄrtÄjam, vai tÄs izmantot savÄ sistÄmÄ. MÄs vÄlamies dalÄ«ties ar kÄdu no Å”iem pÄtÄ«jumiem ar sabiedrÄ«bu. Tas ir veltÄ«ts Loki, baļķu apkopoÅ”anas sistÄmai.
Loki ir risinÄjums žurnÄlu glabÄÅ”anai un apskatei, un Ŕī kaudze nodroÅ”ina arÄ« elastÄ«gu sistÄmu to analÄ«zei un datu nosÅ«tÄ«Å”anai uz Prometheus. MaijÄ tika izlaists vÄl viens atjauninÄjums, kuru veidotÄji aktÄ«vi reklamÄ. MÅ«s interesÄja, ko Loki var darÄ«t, kÄdas funkcijas tas nodroÅ”ina un cik lielÄ mÄrÄ tas var darboties kÄ alternatÄ«va ELK, ko mÄs Å”obrÄ«d izmantojam.
Kas ir Loki
Grafana Loki ir komponentu komplekts pilnÄ«gai reÄ£istrÄÅ”anas sistÄmai. AtŔķirÄ«bÄ no citÄm lÄ«dzÄ«gÄm sistÄmÄm, Loki pamatÄ ir ideja indeksÄt tikai žurnÄlu metadatus - etiÄ·etes (tÄpat kÄ Prometheus) un paÅ”us žurnÄlus saspiest blakus atseviŔķos gabalos.
Pirms turpinÄt aprakstÄ«t, ko varat darÄ«t ar Loki, es vÄlos precizÄt, ko nozÄ«mÄ "ideja indeksÄt tikai metadatus". SalÄ«dzinÄsim Loki pieeju un indeksÄÅ”anas pieeju tradicionÄlajos risinÄjumos, piemÄram, Elasticsearch, izmantojot lÄ«nijas piemÄru no nginx žurnÄla:
TradicionÄlÄs sistÄmas parsÄ visu rindu, tostarp laukus ar daudzÄm unikÄlÄm user_id un item_id vÄrtÄ«bÄm, un visu saglabÄ lielos indeksos. Å Ä«s pieejas priekÅ”rocÄ«ba ir tÄ, ka varat Ätri izpildÄ«t sarežģītus vaicÄjumus, jo gandrÄ«z visi dati ir rÄdÄ«tÄjÄ. Bet jums par to ir jÄmaksÄ, jo indekss kļūst liels, kas nozÄ«mÄ atmiÅas prasÄ«bas. RezultÄtÄ Å¾urnÄlu pilna teksta indekss pÄc izmÄra ir salÄ«dzinÄms ar paÅ”iem žurnÄliem. Lai Ätri to meklÄtu, indekss ir jÄielÄdÄ atmiÅÄ. Un jo vairÄk žurnÄlu, jo ÄtrÄk palielinÄs indekss un patÄrÄ vairÄk atmiÅas.
Loki pieeja paredz, ka no virknes, kuras vÄrtÄ«bu skaits ir mazs, tiek iegÅ«ti tikai nepiecieÅ”amie dati. TÄdÄ veidÄ mÄs iegÅ«stam nelielu indeksu un varam meklÄt datus, filtrÄjot tos pÄc laika un indeksÄtajiem laukiem, un pÄc tam skenÄjot pÄrÄjos, izmantojot regulÄras izteiksmes vai apakÅ”virknes meklÄÅ”anu. Process neŔķiet ÄtrÄkais, taÄu Loki pieprasÄ«jumu sadala vairÄkÄs daļÄs un izpilda tÄs paralÄli, Ä«sÄ laikÄ apstrÄdÄjot lielu datu apjomu. Shardu un paralÄlo pieprasÄ«jumu skaits tajÄs ir konfigurÄjams; tÄdÄjÄdi datu apjoms, ko var apstrÄdÄt laika vienÄ«bÄ, ir lineÄri atkarÄ«gs no nodroÅ”inÄto resursu apjoma.
Å is kompromiss starp lielu Ätru indeksu un nelielu paralÄlu brutÄlÄ spÄka indeksu ļauj Loki kontrolÄt sistÄmas izmaksas. To var elastÄ«gi konfigurÄt un paplaÅ”inÄt atbilstoÅ”i jÅ«su vajadzÄ«bÄm.
Loki kaudze sastÄv no trim sastÄvdaļÄm: Promtail, Loki, Grafana. Promtail apkopo žurnÄlus, apstrÄdÄ tos un nosÅ«ta uz Loki. Loki tos patur. Un Grafana var pieprasÄ«t datus no Loki un parÄdÄ«t tos. KopumÄ Loki var izmantot ne tikai baļķu glabÄÅ”anai un to meklÄÅ”anai. Visa kaudze nodroÅ”ina lieliskas iespÄjas apstrÄdÄt un analizÄt ienÄkoÅ”os datus, izmantojot Prometheus metodi.
InstalÄÅ”anas procesa aprakstu var atrast Å”eit.
ŽurnÄla meklÄÅ”ana
JÅ«s varat meklÄt žurnÄlus Ä«paÅ”Ä interfeisÄ Grafana ā Explorer. VaicÄjumos tiek izmantota LogQL valoda, kas ir ļoti lÄ«dzÄ«ga Prometheus izmantotajai PromQL valodai. PrincipÄ to var uzskatÄ«t par izplatÄ«tu grep.
MeklÄÅ”anas interfeiss izskatÄs Å”Ädi:
Pats vaicÄjums sastÄv no divÄm daļÄm: atlasÄ«tÄja un filtra. AtlasÄ«tÄjs ir meklÄÅ”ana pÄc indeksÄtiem metadatiem (iezÄ«mÄm), kas ir pieŔķirti žurnÄliem, un filtrs ir meklÄÅ”anas virkne vai regexp, kas filtrÄ atlasÄ«tÄja definÄtos ierakstus. DotajÄ piemÄrÄ: IekavÄs - atlasÄ«tÄjs, viss pÄc tam - filtrs.
{image_name="nginx.promtail.test"} |= "index"
TÄ kÄ Loki darbojas, pieprasÄ«jumus nevar veikt bez atlasÄ«tÄja, taÄu etiÄ·etes var padarÄ«t patvaļīgi vispÄrÄ«gas.
AtlasÄ«tÄjs ir cirtainajÄs iekavÄs esoÅ”Äs vÄrtÄ«bas atslÄgas vÄrtÄ«ba. Varat apvienot atlasÄ«tÄjus un norÄdÄ«t dažÄdus meklÄÅ”anas nosacÄ«jumus, izmantojot operatorus =, != vai regulÄrÄs izteiksmes:
Izmantojiet Fluentd vai Fluent Bit, kas var nosÅ«tÄ«t datus uz Loki. AtŔķirÄ«bÄ no Promtail, tiem ir gatavi parsÄtÄji gandrÄ«z jebkura veida žurnÄliem, un tie var apstrÄdÄt arÄ« daudzrindu žurnÄlus.
Parasti Promtail izmanto parsÄÅ”anai. Tas veic trÄ«s lietas:
Atrod datu avotus.
Pievienojiet tiem etiÄ·etes.
Nosūta datus uz Loki.
PaÅ”laik Promtail var nolasÄ«t žurnÄlus no vietÄjiem failiem un sistÄmas žurnÄla. Tas ir jÄuzstÄda katrÄ maŔīnÄ, no kuras tiek savÄkti baļķi.
Ir integrÄcija ar Kubernetes: Promtail automÄtiski noskaidro klastera stÄvokli, izmantojot Kubernetes REST API, un apkopo žurnÄlus no mezgla, pakalpojuma vai pod, nekavÄjoties ievietojot etiÄ·etes, pamatojoties uz Kubernetes metadatiem (pod nosaukums, faila nosaukums utt.).
Varat arÄ« piekÄrt etiÄ·etes, pamatojoties uz datiem no žurnÄla, izmantojot Pipeline. Cauruļvada Promtail var sastÄvÄt no Äetru veidu posmiem. SÄ«kÄka informÄcija - iekÅ”Ä oficiÄlÄ dokumentÄcija, uzreiz atzÄ«mÄÅ”u dažas nianses.
ParsÄÅ”anas posmi. Å is ir RegEx un JSON posms. Å ajÄ posmÄ mÄs iegÅ«stam datus no žurnÄliem tÄ sauktajÄ izvilktajÄ kartÄ. Varat iegÅ«t no JSON, vienkÄrÅ”i kopÄjot vajadzÄ«gos laukus izvilktajÄ kartÄ vai izmantojot regulÄrÄs izteiksmes (RegEx), kur nosauktÄs grupas tiek ākartÄtasā izvilktajÄ kartÄ. IzvilktÄ karte ir atslÄgas vÄrtÄ«bu krÄtuve, kur atslÄga ir lauka nosaukums, bet vÄrtÄ«ba ir tÄ vÄrtÄ«ba no žurnÄliem.
TransformÄcijas posmi. Å ajÄ posmÄ ir divas iespÄjas: transformÄcija, kurÄ mÄs iestatÄm transformÄcijas noteikumus, un avots - datu avots transformÄcijai no iegÅ«tÄs kartes. Ja izvilktajÄ kartÄ Å”Äda lauka nav, tas tiks izveidots. TÄdÄjÄdi ir iespÄjams izveidot etiÄ·etes, kas nav balstÄ«tas uz izvilkto karti. Å ajÄ posmÄ mÄs varam manipulÄt ar datiem iegÅ«tajÄ kartÄ, izmantojot diezgan spÄcÄ«gu golang veidne. TurklÄt mums jÄatceras, ka izvilktÄ karte parsÄÅ”anas laikÄ tiek pilnÄ«bÄ ielÄdÄta, kas ļauj, piemÄram, pÄrbaudÄ«t tajÄ esoÅ”o vÄrtÄ«bu: ā{{if .tag}tag value pastÄv{end}}ā. Veidne atbalsta nosacÄ«jumus, cilpas un dažas virknes funkcijas, piemÄram, AizstÄt un Apgriezt.
DarbÄ«bas posmi. Å ajÄ posmÄ jÅ«s varat kaut ko darÄ«t ar iegÅ«to:
Izveidojiet etiÄ·eti no iegÅ«tajiem datiem, kurus Loki indeksÄs.
Mainiet vai iestatiet notikuma laiku no žurnÄla.
Mainiet datus (žurnÄla tekstu), kas tiks nosÅ«tÄ«ti uz Loki.
Izveidojiet metriku.
FiltrÄÅ”anas posmi. AtbilstÄ«bas posms, kurÄ mÄs varam vai nu nosÅ«tÄ«t ierakstus, kuriem mums nav nepiecieÅ”ams /dev/null, vai nosÅ«tÄ«t tos tÄlÄkai apstrÄdei.
Izmantojot parasto nginx žurnÄlu apstrÄdes piemÄru, es parÄdÄ«Å”u, kÄ jÅ«s varat parsÄt žurnÄlus, izmantojot Promtail.
PÄrbaudei Åemsim modificÄtu nginx jwilder/nginx-proxy:alpine attÄlu un nelielu dÄmonu, kas var vaicÄt pats, izmantojot HTTP kÄ nginx starpniekserveri. DÄmonam ir vairÄki galapunkti, uz kuriem tas var sniegt dažÄda lieluma atbildes ar dažÄdiem HTTP statusiem un ar dažÄdu aizkavi.
MÄs savÄksim baļķus no dokera konteineriem, kurus var atrast pa ceļu /var/lib/docker/containers/ / -json.log
VietnÄ docker-compose.yml mÄs iestatÄm Promtail un norÄdÄm ceļu uz konfigurÄciju:
Pievienojiet ceļu uz žurnÄliem uz promtail.yml (konfigurÄcijÄ ir opcija "docker", kas vienÄ rindÄ dara to paÅ”u, taÄu tas nebÅ«tu tik acÄ«mredzami):
scrape_configs:
- job_name: containers
static_configs:
labels:
job: containerlogs
__path__: /var/lib/docker/containers/*/*log # for linux only
Kad Ŕī konfigurÄcija ir iespÄjota, Loki saÅems žurnÄlus no visiem konteineriem. Lai no tÄ izvairÄ«tos, mÄs mainÄm testa nginx iestatÄ«jumus docker-compose.yml - pievienojiet reÄ£istrÄÅ”anu taga laukam:
Ja izvilktajÄ kartÄ bija iespÄjams ievietot tagu lauku, tad, izmantojot regexp izÅemam attÄla un konteinera nosaukumus.
- labels:
image_name:
container_name:
MÄs pieŔķiram etiÄ·etes. Ja izvilktajos datos ir atrasti atslÄgas attÄla_nosaukums un konteinera_nosaukums, to vÄrtÄ«bas tiks pieŔķirtas atbilstoÅ”ajÄm etiÄ·etÄm.
- match:
selector: '{job="docker",container_name="",image_name=""}'
action: drop
MÄs atmetam visus žurnÄlus, kuriem nav iestatÄ«tas etiÄ·etes image_name un konteinera_nosaukums.
Visiem žurnÄliem, kuru attÄla_nosaukums ir vienÄds ar nginx.promtail.test, mÄs izÅemam žurnÄla lauku no avota žurnÄla un ievietojam to izvilktajÄ kartÄ ar rindas taustiÅu.
ParsÄt pieprasÄ«juma_url. Ar regexp palÄ«dzÄ«bu mÄs nosakÄm pieprasÄ«juma mÄrÄ·i: uz statiku, uz fotoattÄliem, uz API un iestatÄm atbilstoÅ”o atslÄgu izvilktajÄ kartÄ.
- template:
source: request_type
template: "{{if .photo}}photo{{else if .static_type}}static{{else if .api_request}}api{{else}}other{{end}}"
Izmantojot nosacÄ«tos operatorus veidnÄ, mÄs pÄrbaudÄm instalÄtos laukus izvilktajÄ kartÄ un iestatÄm vajadzÄ«gÄs vÄrtÄ«bas laukam request_type: photo, static, API. Ja neizdodas, pieŔķiriet citu. Tagad request_type satur pieprasÄ«juma veidu.
MÄs iestatÄ«jÄm etiÄ·etes api_request, virtual_host, request_type un status (HTTP statuss), pamatojoties uz to, ko mums izdevÄs ievietot izvilktajÄ kartÄ.
- output:
source: nginx_log_row
MainÄ«t izvadi. Tagad iztÄ«rÄ«tais nginx žurnÄls no izvilktÄs kartes nonÄk Loki.
PÄc iepriekÅ” minÄtÄs konfigurÄcijas palaiÅ”anas jÅ«s varat redzÄt, ka katrs ieraksts ir marÄ·Äts, pamatojoties uz datiem no žurnÄla.
Å emiet vÄrÄ, ka etiÄ·eÅ”u iegÅ«Å”ana ar lielu vÄrtÄ«bu skaitu (kardinalitÄte) var ievÄrojami palÄninÄt Loki darbÄ«bu. Tas ir, indeksÄ nevajadzÄtu ievietot, piemÄram, user_id. VairÄk par to lasiet rakstÄKÄ etiÄ·etes programmÄ Loki var padarÄ«t žurnÄla vaicÄjumus ÄtrÄkus un vienkÄrÅ”Äkus". Bet tas nenozÄ«mÄ, ka nevar meklÄt pÄc user_id bez indeksiem. MeklÄjot ir nepiecieÅ”ams izmantot filtrus (āgreifersā pÄc datiem), un indekss Å”eit darbojas kÄ straumes identifikators.
ŽurnÄla vizualizÄcija
Loki var darboties kÄ datu avots Grafana diagrammÄm, izmantojot LogQL. Tiek atbalstÄ«tas Å”Ädas funkcijas:
likme - ierakstu skaits sekundÄ;
skaitÄ«t laika gaitÄ - ierakstu skaits dotajÄ diapazonÄ.
Ir arÄ« apkopoÅ”anas funkcijas Sum, Avg un citas. Varat izveidot diezgan sarežģītas diagrammas, piemÄram, HTTP kļūdu skaita grafiku:
Loki noklusÄjuma datu avots ir nedaudz mazÄk funkcionÄls nekÄ Prometheus datu avots (piemÄram, jÅ«s nevarat mainÄ«t leÄ£endu), bet Loki var savienot kÄ Prometheus tipa avotu. Es neesmu pÄrliecinÄts, vai tÄ ir dokumentÄta uzvedÄ«ba, taÄu, spriežot pÄc izstrÄdÄtÄju atbildes "KÄ konfigurÄt Loki kÄ Prometheus datu avotu? Ā· Izdevums #1222 Ā· grafana/lokiā, piemÄram, tas ir pilnÄ«gi likumÄ«gs, un Loki ir pilnÄ«bÄ savietojams ar PromQL.
Pievienojiet Loki kÄ datu avotu ar tipu Prometheus un pievienojiet URL /loki:
Un jÅ«s varat izveidot grafikus, it kÄ mÄs strÄdÄtu ar Prometheus metriku:
DomÄju, ka funkcionalitÄtes neatbilstÄ«ba ir Ä«slaicÄ«ga un izstrÄdÄtÄji to turpmÄk novÄrsÄ«s.
Metrika
Loki nodroÅ”ina iespÄju no žurnÄliem iegÅ«t skaitliskos rÄdÄ«tÄjus un nosÅ«tÄ«t tos Prometheus. PiemÄram, nginx žurnÄlÄ ir norÄdÄ«ts baitu skaits vienÄ atbildÄ, kÄ arÄ«, veicot noteiktas standarta žurnÄla formÄta izmaiÅas, laiks sekundÄs, kas bija nepiecieÅ”ams, lai atbildÄtu. Å os datus var iegÅ«t un nosÅ«tÄ«t Prometheus.
Pievienojiet vÄl vienu sadaļu vietnei promtail.yml:
Å Ä« opcija ļauj definÄt un atjauninÄt metriku, pamatojoties uz datiem no iegÅ«tÄs kartes. Å ie rÄdÄ«tÄji netiek nosÅ«tÄ«ti uz Loki ā tie tiek rÄdÄ«ti galapunktÄ Promtail /metrics. Prometheus ir jÄkonfigurÄ, lai saÅemtu datus no Ŕī posma. IepriekÅ” minÄtajÄ piemÄrÄ par request_type="api" mÄs apkopojam histogrammas metriku. Izmantojot Å”Äda veida metriku, ir Ärti iegÅ«t procentiles. Statikai un fotoattÄliem mÄs apkopojam baitu summu un rindu skaitu, kurÄs saÅÄmÄm baitus, lai aprÄÄ·inÄtu vidÄjo.
Loki var bÅ«t gan vienÄ binÄrajÄ režīmÄ, gan sadalÄ«tÄ (horizontÄli mÄrogojamÄ režīmÄ). OtrajÄ gadÄ«jumÄ tas var saglabÄt datus mÄkonÄ«, un gabali un indekss tiek glabÄti atseviŔķi. 1.5 versijÄ ir ieviesta iespÄja glabÄt vienuviet, taÄu pagaidÄm to nav ieteicams izmantot ražoÅ”anÄ.
Dabas var glabÄt ar S3 saderÄ«gÄ krÄtuvÄ, indeksu glabÄÅ”anai izmantojiet horizontÄli mÄrogojamas datu bÄzes: Cassandra, BigTable vai DynamoDB. Citas Loki daļas ā IzplatÄ«tÄji (rakstÄ«Å”anai) un Querier (vaicÄjumiem) ā ir bezvalsts un arÄ« tiek mÄrogoti horizontÄli.
Lai pÄrbaudÄ«tu iegÅ«to indeksa lielumu, es paÅÄmu žurnÄlus no nginx konteinera, kuram tika konfigurÄts iepriekÅ” minÄtais cauruļvads. ŽurnÄla failÄ bija 406 624 rindiÅas ar kopÄjo apjomu 109 MB. ŽurnÄli tika Ä£enerÄti stundas laikÄ, aptuveni 100 ieraksti sekundÄ.
Divu rindiÅu piemÄrs no žurnÄla:
Kad ELK indeksÄja, indeksa lielums bija 30,3 MB:
Loki gadÄ«jumÄ tas deva aptuveni 128 KB indeksa un aptuveni 3,8 MB datu gabalos. Ir vÄrts atzÄ«mÄt, ka žurnÄls tika mÄkslÄ«gi Ä£enerÄts un tajÄ nebija daudz dažÄdu datu. VienkÄrÅ”s gzip oriÄ£inÄlajÄ Docker JSON žurnÄlÄ ar datiem nodroÅ”inÄja saspieÅ”anu par 95,4%, un, Åemot vÄrÄ, ka paÅ”am Loki tika nosÅ«tÄ«ts tikai iztÄ«rÄ«tais nginx žurnÄls, saspieÅ”ana lÄ«dz 4 MB ir saprotama. KopÄjais unikÄlo vÄrtÄ«bu skaits Loki etiÄ·etÄm bija 35, kas izskaidro indeksa mazo izmÄru. ELK arÄ« baļķis tika notÄ«rÄ«ts. TÄdÄjÄdi Loki saspieda sÄkotnÄjos datus par 96%, bet ELK - par 70%.
AtmiÅas patÄriÅÅ”
Ja salÄ«dzina visu Prometeja un ELK kaudzÄ«ti, tad Loki "Äd" vairÄkas reizes mazÄk. Ir skaidrs, ka Go pakalpojums patÄrÄ mazÄk nekÄ Java pakalpojums, un Heap Elasticsearch JVM lieluma un Loki pieŔķirtÄs atmiÅas salÄ«dzinÄÅ”ana ir nepareiza, taÄu tomÄr ir vÄrts atzÄ«mÄt, ka Loki patÄrÄ daudz mazÄk atmiÅas. TÄ CPU priekÅ”rocÄ«ba nav tik acÄ«mredzama, taÄu tÄ ir arÄ« klÄt.
Ätrums
Loki ÄtrÄk "aprij" baļķus. Ätrums ir atkarÄ«gs no daudziem faktoriem - kÄdi žurnÄli, cik sarežģīti mÄs tos parsÄjam, tÄ«kls, disks utt. - bet tas noteikti ir lielÄks nekÄ ELK (manÄ testÄ - apmÄram divas reizes). Tas izskaidrojams ar to, ka Loki indeksÄ ievieto daudz mazÄk datu un attiecÄ«gi mazÄk laika pavada indeksÄÅ”anai. Å ajÄ gadÄ«jumÄ situÄcija ir pretÄja ar meklÄÅ”anas Ätrumu: Loki ievÄrojami palÄninÄs datiem, kas ir lielÄki par dažiem gigabaitiem, savukÄrt ELK meklÄÅ”anas Ätrums nav atkarÄ«gs no datu lieluma.
ŽurnÄla meklÄÅ”ana
Loki ir ievÄrojami zemÄks par ELK žurnÄlu meklÄÅ”anas iespÄju ziÅÄ. Grep ar regulÄrÄm izteiksmÄm ir spÄcÄ«ga lieta, taÄu tÄ ir zemÄka par pieauguÅ”o datu bÄzi. Diapazona vaicÄjumu trÅ«kums, apkopoÅ”ana tikai pÄc etiÄ·etÄm, nespÄja meklÄt bez etiÄ·etÄm - tas viss ierobežo mÅ«s interesÄjoÅ”Äs informÄcijas meklÄÅ”anÄ Loki. Tas nenozÄ«mÄ, ka, izmantojot Loki, neko nevar atrast, bet tas nosaka darba plÅ«smu ar žurnÄliem, kad vispirms Prometheus diagrammÄs atrodat problÄmu un pÄc tam meklÄjat žurnÄlos notikuÅ”o, izmantojot Ŕīs etiÄ·etes.
interfeiss
PirmkÄrt, tas ir skaists (atvainojiet, nevarÄju pretoties). Grafana ir jauks interfeiss, bet Kibana ir daudz funkcionÄlÄka.
Loki plusi un mīnusi
No plusiem var atzÄ«mÄt, ka Loki integrÄjas ar Prometheus, attiecÄ«gi mÄs iegÅ«stam metriku un brÄ«dinÄjumus no kastes. Tas ir Ärti, lai savÄktu žurnÄlus un uzglabÄtu tos ar Kubernetes Pods, jo tam ir no Prometheus mantotais pakalpojumu atklÄjums un tas automÄtiski pievieno etiÄ·etes.
No mÄ«nusiem - slikta dokumentÄcija. Dažas lietas, piemÄram, Promtail funkcijas un iespÄjas, es atklÄju tikai koda izpÄtes procesÄ atvÄrtÄ koda priekÅ”rocÄ«bas. VÄl viens trÅ«kums ir vÄjÄs parsÄÅ”anas iespÄjas. PiemÄram, Loki nevar parsÄt vairÄkrindu žurnÄlus. Pie trÅ«kumiem var minÄt arÄ« to, ka Loki ir salÄ«dzinoÅ”i jauna tehnoloÄ£ija (1.0 izlaidums bija 2019. gada novembrÄ«).
SecinÄjums
Loki ir 100% interesanta tehnoloÄ£ija, kas piemÄrota maziem un vidÄjiem projektiem, ļaujot atrisinÄt daudzas baļķu apkopoÅ”anas, baļķu meklÄÅ”anas, baļķu uzraudzÄ«bas un analÄ«zes problÄmas.
MÄs Badoo neizmantojam Loki, jo mums ir ELK kaudze, kas mums ir piemÄrota un kas gadu gaitÄ ir apaugusi ar dažÄdiem pielÄgotiem risinÄjumiem. Mums klupÅ”anas akmens ir meklÄÅ”ana baļķos. Ar gandrÄ«z 100 GB žurnÄlu dienÄ mums ir svarÄ«gi, lai mÄs varÄtu atrast visu un nedaudz vairÄk un izdarÄ«t to Ätri. Diagrammu veidoÅ”anai un uzraudzÄ«bai mÄs izmantojam citus risinÄjumus, kas ir pielÄgoti mÅ«su vajadzÄ«bÄm un ir savstarpÄji integrÄti. Loki kaudzei ir taustÄmas priekÅ”rocÄ«bas, taÄu tas mums nedos vairÄk par to, kas mums ir, un tÄ priekÅ”rocÄ«bas precÄ«zi neatsvÄrs migrÄcijas izmaksas.
Un, lai gan pÄc izpÄtes kļuva skaidrs, ka mÄs nevaram izmantot Loki, mÄs ceram, ka Ŕī ziÅa palÄ«dzÄs jums izvÄlÄties.
Repozitorijs ar rakstÄ izmantoto kodu atrodas Å”eit.