Kubernetes轻量级日志收集系统Loki-Stack
一、Loki简介
Loki
是 Grafana Labs 团队最新的开源项目,是一个水平可扩展,高可用性,多租户的日志聚合系统。它的设计非常经济高效且易于操作,因为它不会为日志内容编制索引,而是为每个日志流编制一组标签。项目受 Prometheus 启发,官方的介绍就是:Like Prometheus, but for logs.
,类似于 Prometheus 的日志系统。然后,日志数据本身被压缩并存储在对象存储(例如S3或GCS)中的块中,甚至存储在文件系统本地。 小索引和高度压缩的块简化了操作,并大大降低了Loki的成本。
相较于EKL,Loki就显得很轻量级了;用了Loki以后,ELK突然不香了!哈哈~~~
二、Loki-stack组件
- Promtail
Promtail 是用来将容器日志发送到 Loki 或者 Grafana 服务上的日志收集工具,该工具主要包括发现采集目标以及给日志流添加上 Label 标签,然后发送给 Loki,另外 Promtail 的服务发现是基于 Prometheus 的服务发现机制实现的。
- Loki
Loki 是可以水平扩展、高可用以及支持多租户的日志聚合系统,使用了和 Prometheus 相同的服务发现机制,将标签添加到日志流中而不是构建全文索引。因此,从 Promtail 接收到的日志和应用的 metrics 指标就具有相同的标签集。它不仅提供了更好的日志和指标之间的上下文切换,还避免了对日志进行全文索引。
- Grafana
Grafana 是一个用于监控和可视化观测的开源平台,支持非常丰富的数据源,在 Loki 技术栈中它专门用来展示来自 Prometheus 和 Loki 等数据源的时间序列数据。还允许进行查询、可视化、报警等操作,可以用于创建、探索和共享数据 Dashboard
三、安装Loki-stack
3.1 配置loki helm仓库
$ helm repo add grafana https://grafana.github.io/helm-charts $ helm repo update $ helm pull grafana/loki-stack --untar --version 2.3.1
3.2 修改values.yaml文件
为了保险起见,不修改原本的文件,复制一份values.yaml
为values-prod.yaml
文件:
values-prod.yaml
loki: enabled: true persistence: enabled: true storageClassName: hostpath accessModes: - ReadWriteOnce size: 10Gi promtail: enabled: true grafana: enabled: true service: type: NodePort persistence: enabled: true storageClassName: hostpath accessModes: - ReadWriteOnce size: 10Gi
3.3 安装loki-stack
$ cd ~/loki-stack ~/loki-stack $ helm install loki . -f values-prod.yaml -n logging
稍等片刻,等pod运行成功后,查看访问地址:
$ kubectl -n logging get pod NAME READY STATUS RESTARTS AGE loki-0 1/1 Running 0 94m loki-grafana-9694db697-v7bgj 1/1 Running 0 44m loki-promtail-hz9st 1/1 Running 0 94m loki-promtail-p9nf8 1/1 Running 0 94m loki-promtail-xwgxz 1/1 Running 0 94m $ kubectl -n logging get svc | grep loki-grafana NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE loki-grafana NodePort 10.96.19.223 <none> 80:30099/TCP 94m
3.4 访问测试
获取密码指令:
$ kubectl -n logging get secret loki-grafana -o jsonpath='{.data.admin-password}' | base64 --decode ; echo
也可导入相应的模板13713
自行进行调整!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律