Одатан Promtail барои таҳлил истифода мешавад. Он се чизро иҷро мекунад:
Манбаъҳои маълумотро пайдо мекунад.
Ба онҳо тамғакоғазҳо часпонед.
Маълумотро ба Loki мефиристад.
Дар айни замон Promtail метавонад гузоришҳоро аз файлҳои маҳаллӣ ва аз маҷаллаи системавӣ хонад. Он бояд дар ҳар як мошине насб карда шавад, ки аз он гузоришҳо ҷамъ карда мешаванд.
Интегратсия бо Kubernetes мавҷуд аст: Promtail ба таври худкор ҳолати кластерро тавассути Kubernetes REST API муайян мекунад ва гузоришҳоро аз гиреҳ, хидмат ё подк ҷамъ мекунад ва фавран дар асоси метамаълумоти Kubernetes (номи паҳлӯ, номи файл ва ғ.) тамғакоғазҳоро ҷойгир мекунад.
Шумо инчунин метавонед тамғакоғазҳоро дар асоси маълумот аз гузориш бо истифода аз Pipeline овезон кунед. Pipeline Promtail метавонад аз чор намуди марҳила иборат бошад. Тафсилоти бештар - дар ҳуҷҷатҳои расмӣ, Дархол баъзе нозукихоро кайд мекунам.
Марҳилаҳои таҳлил. Ин марҳилаи RegEx ва JSON аст. Дар ин марҳила, мо маълумотро аз гузоришҳо ба харитаи истихроҷшуда истихроҷ мекунем. Шумо метавонед аз JSON тавассути нусхабардории майдонҳое, ки ба мо лозим аст, ба харитаи истихроҷшуда ё тавассути ифодаҳои муқаррарӣ (RegEx), ки дар он гурӯҳҳои номбаршуда ба харитаи истихроҷшуда "харита карда мешаванд" истихроҷ кунед. Харитаи истихроҷшуда анбори арзишҳои калидӣ мебошад, ки дар он калид номи майдон аст ва арзиш арзиши он аз гузоришҳо мебошад.
Марҳилаҳои табдилдиҳӣ. Ин марҳила ду интихоб дорад: табдил, ки дар он мо қоидаҳои трансформатсияро муқаррар мекунем ва манбаъ - манбаи маълумот барои табдил аз харитаи истихроҷшуда. Агар дар харитаи истихроҷшуда чунин майдон вуҷуд надошта бошад, пас он сохта мешавад. Ҳамин тариқ, метавон нишонаҳоеро эҷод кард, ки дар харитаи истихроҷшуда асос наёфтаанд. Дар ин марҳила, мо метавонем маълумотро дар харитаи истихроҷшуда бо истифода аз қувваи хеле пурқувват коркард кунем қолаби голанг. Илова бар ин, мо бояд дар хотир дошта бошем, ки харитаи истихроҷшуда ҳангоми таҳлил пурра бор карда мешавад, ки масалан, имкон медиҳад, ки арзиши он дар он тафтиш карда шавад: "{{if .tag}tag арзиши мавҷуд аст{end}}". Шаблон шартҳо, ҳалқаҳо ва баъзе функсияҳои сатрро, аз қабили Иваз ва Тримро дастгирӣ мекунад.
Дар мавриди Loki, ин тақрибан 128 КБ индекс ва тақрибан 3,8 МБ маълумотро дар қисмҳо дод. Қобили зикр аст, ки гузориш ба таври сунъӣ тавлид шуда буд ва дорои навъҳои зиёди маълумот набуд. Gzip оддӣ дар сабти аслии Docker JSON бо маълумот фишурдани 95,4% дод ва бо назардошти он, ки танҳо сабти nginx тозашуда ба худи Loki фиристода шудааст, фишурдашавӣ ба 4 МБ фаҳмо аст. Шумораи умумии арзишҳои беназир барои тамғакоғазҳои Loki 35 буд, ки андозаи хурди индексро шарҳ медиҳад. Барои ELK, журнал низ тоза карда шуд. Ҳамин тариқ, Loki маълумоти аслиро 96% ва ELK 70% фишурдааст.
Истеъмоли хотира
Агар мо тамоми стеки Prometheus ва ELK-ро муқоиса кунем, пас Локи якчанд маротиба камтар "мехӯрад". Маълум аст, ки хидмати Go нисбат ба хидмати Java камтар истеъмол мекунад ва муқоисаи андозаи Heap Elasticsearch JVM ва хотираи ҷудошуда барои Loki нодуруст аст, аммо ба ҳар ҳол, бояд қайд кард, ки Loki хотираи камтарро истифода мебарад. Бартарии CPU он қадар равшан нест, аммо он низ мавҷуд аст.
Суръат
Локи сабтҳоро тезтар "хӯрад". Суръат аз бисёр омилҳо вобаста аст - чӣ гуна гузоришҳо, мо то чӣ андоза мураккаби онҳоро таҳлил мекунем, шабака, диск ва ғайра - аммо он бешубҳа аз ELK баландтар аст (дар санҷиши ман - тақрибан ду маротиба). Ин бо он шарҳ дода мешавад, ки Локи ба индекс камтар маълумот мегузорад ва мувофиқан барои индексатсия вақти камтар сарф мекунад. Дар ин ҳолат, вазъият бо суръати ҷустуҷӯ баръакс мешавад: Loki маълумоти калонтар аз чанд гигабайтро ба таври назаррас суст мекунад, дар ҳоле ки барои ELK суръати ҷустуҷӯ аз андозаи маълумот вобаста нест.
Ҷустуҷӯи сабт
Loki аз ҷиҳати қобилияти ҷустуҷӯи гузоришҳо аз ELK хеле пасттар аст. Grep бо ибораҳои муқаррарӣ як чизи қавӣ аст, аммо он аз пойгоҳи додаҳои калонсолон пасттар аст. Набудани дархостҳои диапазон, ҷамъкунӣ танҳо аз рӯи тамғакоғазҳо, имконнопазирии ҷустуҷӯ бидуни нишонаҳо - ҳамаи ин моро дар ҷустуҷӯи маълумоти ҷолиб дар Loki маҳдуд мекунад. Ин маънои онро надорад, ки бо истифода аз Loki чизе ёфтан мумкин нест, аммо он ҷараёни кор бо гузоришҳоро муайян мекунад, вақте ки шумо аввал дар диаграммаҳои Prometheus мушкилот пайдо мекунед ва сипас дар гузоришҳо бо истифода аз ин тамғакоғазҳо чӣ ҳодиса рух додааст, ҷустуҷӯ кунед.
интерфейси
Аввалан, он зебо аст (бахшед, муқобилат карда натавонистам). Grafana интерфейси зебо дорад, аммо Кибана хеле функсионалӣ аст.
Тарафҳои мусбат ва манфии Loki
Аз бартариятҳо метавон қайд кард, ки Loki бо Prometheus ҳамгиро мешавад, мутаносибан мо ченакҳо ва огоҳкуниро аз қуттӣ мегирем. Он барои ҷамъоварии гузоришҳо ва нигоҳ доштани онҳо бо Kubernetes Pods қулай аст, зеро он дорои кашфи хидмате, ки аз Prometheus мерос гирифтааст ва ба таври худкор тамғакоғазҳоро замима мекунад.
Аз камбудиҳо - ҳуҷҷатгузории бад. Баъзе чизҳо, ба монанди хусусиятҳо ва имкониятҳои Promtail, ман танҳо дар ҷараёни омӯзиши код, манфиати кушодаасосро кашф кардам. Камбудии дигар ин қобилияти таҳлили заиф мебошад. Масалан, Loki гузоришҳои чандсатиро таҳлил карда наметавонад. Инчунин, камбудиҳо аз он иборатанд, ки Loki технологияи нисбатан ҷавон аст (версияи 1.0 дар моҳи ноябри соли 2019 буд).
хулоса
Loki як технологияи 100% ҷолиб аст, ки барои лоиҳаҳои хурд ва миёна мувофиқ аст ва ба шумо имкон медиҳад, ки мушкилоти зиёди ҷамъкунии гузоришҳо, ҷустуҷӯи гузоришҳо, мониторинг ва таҳлили гузоришҳоро ҳал кунед.
Мо Loki-ро дар Badoo истифода намебарем, зеро мо як стеки ELK дорем, ки ба мо мувофиқ аст ва дар тӯли солҳо бо қарорҳои гуногуни фармоишӣ пур шудааст. Барои мо монеаи пешпо ҷустуҷӯ дар гузоришҳост. Бо қариб 100 ГБ гузоришҳо дар як рӯз, барои мо муҳим аст, ки ҳама чизро ва каме бештарро пайдо кунем ва онро зуд иҷро кунем. Барои диаграмма ва мониторинг, мо дигар қарорҳоро истифода мебарем, ки ба ниёзҳои мо мутобиқ карда шудаанд ва бо ҳамдигар муттаҳид шудаанд. Стеки Loki манфиатҳои назаррас дорад, аммо он ба мо аз он чизе, ки мо дорем, бештар намедиҳад ва фоидаи он аз хароҷоти муҳоҷират комилан зиёдтар нахоҳад буд.
Ва гарчанде ки пас аз таҳқиқот маълум шуд, ки мо Loki-ро истифода бурда наметавонем, мо умедворем, ки ин паём ба шумо дар интихоб кӯмак хоҳад кард.