k8s日志收集工具
常用的日志收集工具有两种: ELK和Loki
区别:ELK重量级,Loki轻量级
一、Loki
Loki是Grafana Labs开源的一个支持水平扩展、高可用、多租户的日志聚合系统,也是基于于Kubernetes平台的原生日志收集平台,文档地址如下:
https://grafana.com/docs/loki/v2.7.x/fundamentals/overview/
架构图:

- Loki:主服务器,负责日志的存储和查询,参考了Prometheus的服务发现机制,将标签添加到日志流,而不是像其他平台一样进行全文索引
- Promtail:负责收集日志并将其发送给Loki,主要用于发现采集目标以及添加对应Label,最终发送给Loki
- Grafana:用来展示或查询相关日志,可以在页面查询指定标签Pod的日志
本例子演示在Kubernetes集群中搭建一个Loki Stack,用于收集集群内Pod的日志
1、安装Loki Stack
首先添加并更新Loki的Helm仓库,命令如下:
helm repo add grafana https://grafana.github.io/helm-charts
helm repo update
2、搜索仓库中的loki,命令如下:

grafana/loki只有单独的 loki 组件grafana/loki-canaryloki 的另外一个组件,主要给 loki 做性能分析grafana/loki-distributed分布式(微服务)模式grafana/loki-stackloki 的工具栈grafana/fluent-bit日志收集客户端grafana/promtailloki 自带的日志收集客户端
3、获取loki-stack包,执行命令如下:
helm pull grafana/loki-stack --untar --version 2.9.9
4、


