kubernetes-日志系统Loki

一、概述

以前的企业级日志系统ELK(Elasticsearch、Logstash、Kibana)比较重,而Loki是一个轻量级的日志系统,且Loki与Prometheus、Grafana是同一个生态的产品,在云原生领域有着很好的兼容性。

日志系统的价值

  • 分布式系统的日志查看比较复杂,要先到正确的节点,才能看到想看的日志。而日志系统把整个集群的日志汇集到一起,方便查看。
  • 解决节点出错导致不可访问,进而丢失日志的情况。

二、基于Loki的日志系统

在这里插入图片描述
Promtail是Loki的一个组件,通过DaemonSet在每一个节点上都有部署,负责收集Pod日志,以及给日志流加上Label,然后发送给Loki。Loki是一个可扩展、高可用、多租户的日志聚合系统。Loki 提供的日志查询语言,类似 Prometheus 的 PromQL,而且 Loki 支持 LogQL 查询直接转换为 Prometheus 指标。

在这里插入图片描述
Loki的架构:

在这里插入图片描述
Distributor(分配器)

  • 分配器服务负责处理客户端写入的日志。
  • 分配器通过gRPC和采集器进行通信。

Ingester(采集器)

  • 采集器服务负责将日志数据写入长期存储的后端(DynamoDB、S3、Cassandra等等)。
  • 采集器会校验采集的日志是否乱序。
  • 采集器验证接收到的日志行是按照时间戳递增的顺序接收的,否则日志行将被拒绝并返回错误。

Querier(查询器)

  • 查询器服务负责处理LogQL查询语句来评估存储在长期存储中的日志数据。

2.1 安装Loki

1、添加grafana repo

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

2、安装loki

helm upgrade --install loki grafana/loki-stack --set grafana.enabled=true,prometheus.enabled=true,prometheus.alertmanager.persistentVolume.enabled=false,prometheus.server.persistentVolume.enabled=false

3、修改grafana service为NodePort类型

kubectl edit svc loki-grafana -oyaml -n default

4、查看安装结果

在这里插入图片描述
4、部署应用程序

在这里插入图片描述

5、通过grafana service访问,查看日志

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值