认识和使用日志工具Loki

Loki是一个受Prometheus启发的水平可伸缩、高可用性、多租户日志聚合系统。它的设计是非常有效的成本和易于操作。它不索引日志的内容,而是为每个日志流设置一组标签。日志数据被压缩存储在对象存储(例如S3或者GCS)中的块中。

对于传统的日志管理工具,Loki有如下特点

  • 不对日志进行全文索引,通过存储压缩的非结构化日志和仅索引元数据,Loki操作更简单,运行成本更低。
  • 使用已经在Prometheus中使用的相同标签对日志流进行索引和分组,使您能够使用已经在Prometheus中使用的相同标签在指标和日志之间无缝切换。
  • Loki是一个特别适合存储Kubernetes Pod日志,元数据(如Pod标签)会自动抓取并建立索引。
  • 原生支持Grafana

Loki通过三个模块来完成日志的管理,三个模块是Promtail,Loki,Grafana

Promtail
1.将容器日志发送到Loki或者Grafana服务上的日志收集工具。
2.发现采集目标以及给日志流添加上Label,然后发送给Loki。
3.Promtail的服务发现基于Prometheus的服务发现机制实现的,可以查看configmap loki-promtail了解细节

Loki
1.Loki可以水平扩展、高可用以及支持多租户的日志聚合系统
2.使用和Prometheus相同的服务发现机制,将标签添加到日志流中而不是构建全文索引
3.Promtail接收到的日志和应用的metrics指标就具有相同的标签集

Grafana
1.Grafana是一个用于监控和可视化观测的开源平台,支持非常丰富的数据源
2.在Loki技术栈中它专门用来展示来自Prometheus和Loki等数据源的时间序列数据
3.允许进行查询、可视化、报警等操作,可以用于创建、探索和共享数据Dashboard

Loki本身又可以划分为3个组件,分配器、采集器、查询器。

Distributor(分配器)
分配器负责处理客户端写入的日志,一旦分配器接收到日志数据,就会分成若干批次,并将他们并行的发送到多个采集器上去。
分配器通过gRPC和采集器进行通信。分配器是无状态的,可以根据实际需要对分配器进行扩所容。
Ingester(采集器)
采集器负责将日志写入长期存储的后端(S3,SynamoDB等),采集器会校验采集的日志是否乱序。另外,采集器验证接收到的日志行是按时间戳递增的顺序接收的,如果时间戳不正确,日志行将被拒绝且返回错误。
Querier(查询器)
查询器服务负责处理LogQL查询语句来评估存储在长期存储中的日志数据。

前面介绍了Loki的理论知识,接下来通过实际例子看看Loki如何工作。首先是在k8s集群上安装Loki

在安装Loki的时候,同时安装了grafana和prometheus(安装prometheus时persistentVolume=false,否则还需要配置存储)

helm repo add grafana https://grafana.github.io/helm-charts
helm upgrade --install loki grafana/loki-stack --set grafana.enabled=true,prometheus.enabled=true,prometheus.alertmanager.persistentVolume.enabled=false,prometheus.server.persistentVolume.enabled=false

安装完成后,查看pod,可以看到loki的pod已经处于running状态。

将Loki grafana service的类型修改成NodePort,方便后面在外网访问Grafana

查看secret,获取Grafana的登录密码,注意需要通过base64 -d解密才能登录。

kubectl get secret loki-grafana -oyaml

登录后,数据源可以选择Loki或者Promethues,这里选择Loki,如下查看了在集群上的nginx pod的日志信息。

通过标签选择需要查看的pod信息非常方面,如下所示:Loki自动显示了所有安装在集群上的pod,可以选择任意需要查看的pod,进行日志查看。

以上就是对Loki的理解和使用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

taoli-qiao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值