Grafana-нын жергиликтүү лог чогултуучу Loki менен канчалык таанышсыз?
sobes.tech AI
AIден жооп
Loki жакшы белгилүү. Ал горизонталдык масштабдуу, жогорку жеткиликтүүлүккө ээ лог жыйноо системасы, ал Grafana Labs тарабынан иштелип чыккан. Анын негизги өзгөчөлүгү — логдордун бардык мазмунун эмес, метадата (лейблдер) гана индексдөө, бул сактоо жана индексдөө чыгымдарын айтарлыктай төмөндөтөт.
Loki архитектурасы негизги бир нече компоненттерден турат:
- Distributor: Кирүү логдорун кабыл алат, текшерет, шардтайт жана Ingesterге жиберет.
- Ingester: Логдорду узак мөөнөттүү сактоого жазуу үчүн жооптуу (мисалы, S3, GCS, MinIO же жергиликтүү сактоо) жана акыркы маалыматтарды эс тутумда кэшке алат, суроолорду тездетүү үчүн.
- Querier/Query-Frontend: Логдорду окуу суроолорун иштетет. Querier акыркы логдор үчүн Ingestersтен, ошондой эле узак мөөнөттүү сактоодон маалымат сурай алат. Query-Frontend натыйжаларды кэшке алат жана татаал суроолорду кичине бөлүктөргө бөлө алат.
- Compactor: Parquet сыяктуу сактоолор үчүн, кичинекей лог бөлүктөрүн чоңураак кылып, окууну оптималдаштырат.
Loki Prometheus сыяктуу лейбл системасын логдорду индекстеүү үчүн колдонуп, LogQL тилинде суроолорду иштетет, ал синтаксиси боюнча PromQLга окшош жана лейблдер жана мазмун боюнча логдорду фильтрлөөгө жана агрегацияларды жүргүзүүгө мүмкүндүк берет.
Grafana менен тыгыз интеграцияланган, Loki datasource катары иштейт. Логдор оңой эле Prometheus метрикалары менен бириктирилет, ошол эле лейблдер аркылуу.
LogQL колдонуу мисалдары:
// "production" namespaceтен бардык логдорду тандоо
{namespace="production"}
// "production" namespaceтен, "error" сөзү камтылган логдорду тандоо
{namespace="production"} |= "error"
// Соңку бир сааттагы лог жазууларынын санын эсептеп, контейнер боюнча топтоо
sum by (container) (count_over_time({namespace="production"}[1h]))
Loki Kubernetes кластерлеринде Promtail (daemonset) же Fluentd/Fluent Bit чыгуу плагиндери менен логдорду чогултуу жана Lokiге жөнөтүү үчүн колдонулат. S3 шайкеш сактоо бекенд катары колдонулат.
Lokiдин артыкчылыктары:
- Метадаттар гана индексдөө аркылуу үнөмдүү.
- Жогорку масштабдуулук.
- Жеңил орнотуу жана эксплуатация, оор тутумдарга салыштырмалуу (мисалы, ELK).
- Grafana/Prometheus экосистемасы менен тыгыз интеграция.
Кемчиликтери:
- Логдордун ичиндеги тексттик дал келүүнү гана издөө, өнүккөн издөө мүмкүнчүлүктөрү жок (мисалы, Elasticsearch).
- Лейблдердин сапаты жана туруктуулугуна көз каранды, эффективдүү индекстеүү жана издөө үчүн.
Жалпысынан, Loki — масштабдуу жана Grafana менен интеграцияланган лог жыйноо үчүн мыкты чечим, ал эми логдун ар бир талаасында пълнотексттүү издөө маанилүү эмес болсо.