kubernetes-日志系统Loki
2023-12-20 13:08:45
一、概述
以前的企业级日志系统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访问,查看日志
文章来源:https://blog.csdn.net/xianmingsu/article/details/135049670
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!