在K8s中部署轻量级日志系统Loki
在K8s中部署轻量级日志系统Loki
为大家说一说在K8s中部署轻量级日志系统Loki的话题,继续往下看吧!
Loki 是什么?
Loki是由Grafana Labs开源的一个水平可扩展、高可用性,多租户的日志聚合系统的日志聚合系统。
它的设计初衷是为了解决在大规模分布式系统中,处理海量日志的问题。
Loki采用了分布式的架构,并且与Prometheus、Grafana密切集成,可以快速地处理大规模的日志数据。
该项目受 Prometheus 启发

- Promtail是代理,负责收集日志并将其发送给 Loki 。
- Loki 是主服务器,负责存储日志和处理查询。
- Grafana则 用于 UI 展示。
与ELK相比优势在哪里?
ELK是大规模日志解决方案中的佼佼者说到Loki,免不了要拿来跟ELK做个对比
- 架构简单:Loki 则采用分布式架构、可以将日志存储在多个节点上,也可以存储在一个节点上,其中Promtail进行日志收集、Loki 负责存储查询、Grafana用于展现
- 存储更小:Loki使用了紧凑的索引和压缩算法,相比ES 可以减少不少存储空间
- 没有采集日志格式要求:提供了更大的灵活性以及在查询时格式化的选项
- 与 Prometheus、Grafana 和 K8s 原生集成:可以在单个用户界面中无缝切换查询指标、日志等数据
- 轻量级:相比ELK,Loki更加轻量级,因为它不需要一个单独的Elasticsearch集群来存储和索引日志数据
如何采集数据?
k8s 集群不提供日志收集的解决方案,一般来说有3 种方案来做日志收集:
- 在Node节点上运行一个 agent 来收集日志(DaemonSet 采集方式)
- 在 Pod 中包含一个 sidecar 容器来收集应用日志(sidecar 采集方式)
- 由应用程序将日志信息推送到采集后端(主动采集方式)
节点采集方式

日志系统会以DaemonSet 方式是在每个node 节点上部署一个agent,来采集这个节点上所有的日志,默认会收集k8s 下/var/log/pod、/var/lib/docker/containers下的日志,对应用程序的要求就是开启控制台打印,否则会收集不到日志,比较适用于功能单一或业务不是很多的集群;
Sidecar采集方式

Sidecar 方式会在每一个Pod中部署一个 sidecar 容器,来进行当前容器的日志采集,有多少个 pod,就会有多少个Sidecar容器,因此Sidecar相对资源占用较多,但灵活性以及多租户隔离性较强,适合大型的 K8s 集群使用,因为除了占用资源多点,采集性能不会有影响
Loki的Pormtail同时支持以上两种方式,默认为节点采集方式,下面我们演示如何在k8s 中快速部署一个Loki日志分析系统
Loki 部署
添加仓库
helm repo add grafana https://grafana.github.io/helm-charts
下载仓库
helm pull grafana/loki-stack
解压包
helm repo add grafana https://grafana.github.io/helm-chartshelm pull grafana/loki-stack
解压包
解压完成以后,可以查看相关参数的使用
tar -xvf loki-stack-2.10.0.tgz
配置概览
相关阅读
-
win10不能下载软件怎么办 正版win10下载不了东西怎么解决
您可能不了解正版win10下载不了东西怎么解决的相关经验,关于win10不能下载软件怎么办 正版win10下载不了东西怎么解决,下面小编为您详细解答 我们在安装使用了win10操作系统之后,可能部分
-
应用程序无法正常启动0xc0000142 应用程序无法正常启动0xc0000142黑屏
今日重点为您介绍应用程序无法正常启动0xc0000142的相关知识,关于应用程序无法正常启动0xc0000142 应用程序无法正常启动0xc0000142黑屏,很不错的方法小知识,建议收藏哦! 最近有很多游戏玩家
-
windows10截屏快捷键ctrl+alt+什么键
本文核心导读:windows10截屏快捷键ctrl+alt+什么键的生活小经验,一起跟随IT袋网小编看看吧! 在现今数字化时代,对于很多人来说,截屏已经成为了日常工作、学习和生活中必不可少的一部分
-
如何装系统win10用u盘教程 u盘安装win10系统全程图解
对于许多网友来说如何装系统win10用u盘教程和u盘安装win10系统全程图解的相关介绍,具体介绍如下: 把电脑系统装入U盘里,其实完全可以实现,只是很多人还不知道。 放在U盘里的系统,插在


