Loki 概述

Loki 是 Grafana Labs 推出的开源日志聚合系统,受 Prometheus 启发,专为云原生环境设计。

核心特点(和 ELK/ES 对比):

特性LokiElasticsearch
存储成本极低(只存标签+原始日志)高(全文索引)
查询性能标签过滤极快,内容搜索稍慢全文搜索极快
架构复杂度简单(单二进制可运行)复杂
适合场景大量微服务、Kubernetes 日志需要复杂分析的业务日志

Loki = Labels(标签) + Chunks(日志块) + Index(轻量索引)

Loki 核心组件

  • Loki 主程序:读写核心(可单进程模式或微服务模式)
  • Promtail / Grafana Agent:日志采集(部署在每个节点)
  • Querier:查询接口
  • Ingester:写入接口
  • Distributor:分发写入请求
  • Ruler(可选):告警规则
  • 对象存储:S3/MinIO/GCS/本地文件系统等(存放日志块和索引)

Loki 部署

在 K8S 中使用 Helm 以微服务的方式部署 Loki

# 
helm repo add grafana https://grafana.github.io/helm-charts

helm repo update

helm search repo grafana/loki -l | grep 'loki '

helm show values grafana/loki --version 5.43.3 > values-loki-5.43.3.yaml


# 修改 values 文件后,执行
helm upgrade --install loki grafana/loki \
  --version 5.43.3 \
  --namespace monitoring \
  --create-namespace \
  -f values-loki-5.43.3.yaml