Loki 日志收集系统

这篇具有很好参考价值的文章主要介绍了Loki 日志收集系统。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一.系统架构

Loki 日志收集系统

 文章来源地址https://www.toymoban.com/news/detail-482235.html

二.组成部分

 Loki 的日志堆栈由 3 个组件组成:
  • promtail用于采集日志、并给每条日志流打标签,每个节点部署,k8s部署模式下使用daemonset管理。 
  • loki:用于存储采集的日志, 并根据标签查询日志流。单节点部署,一般和监控组件部署在同一节点。 
  • Grafana:提供界面,实现日志的可视化查询。安装监控组件会默认部署grafana,与监控组件共用grafana。

源码地址:https://github.com/grafana/loki

三.promtail日志收集原理

  默认情况下,容器日志会存储在 /var/log/pods 路径下

$ ls /var/log/pods

kube-system_kube-flannel-ds-amd64-9x66j_28e71490-d614-4cd8-9ea7-af23cc7b9bff           
lab_job-employee-cronjob-1615078800-n2rxh_134ce637-c2a7-47b8-896f-348931125acb
kube-system_kube-proxy-lfzmx_90605182-ae56-4085-801e-fc4a83531945
...

  每个文件夹对应一个 Pod,Pod 下级目录为容器名,再下级即为容器日志。

$ tree kube-system_kube-flannel-ds-amd64-9x66j_28e71490-d614-4cd8-9ea7-af23cc7b9bff/

kube-system_kube-flannel-ds-amd64-9x66j_28e71490-d614-4cd8-9ea7-af23cc7b9bff/
├── install-cni
│   └── 3.log -> /data/docker/containers/6accaa2d6890df8ca05d1f40aaa9b8da69ea0a00a8e4b07a0949cdc067843e37/6accaa2d6890df8ca05d1f40aaa9b8da69ea0a00a8e4b07a0949cdc067843e37-json.log
└── kube-flannel
    ├── 2.log -> /data/docker/containers/9e8eea717cc3efd0804900a53244a32286d9e04767f76d9c8a8cc3701c83ece5/9e8eea717cc3efd0804900a53244a32286d9e04767f76d9c8a8cc3701c83ece5-json.log
    └── 3.log -> /data/docker/containers/06389981d26cbe60328cd5a46af7b003c8d687d1c411704784aa12d4d82672b8/06389981d26cbe60328cd5a46af7b003c8d687d1c411704784aa12d4d82672b8-json.log
  日志文件 kube-flannel/3.log 只是对 /data/docker/containers/***/***.log 文件的软链接,本质上还是 Docker 维护日志, k8s 对其引用而已。
  日志是 JSON 格式的,每一行包含如下三个信息:
  • log:日志内容
  • stream:stderr(异常输出)、stdout(正常输出)
  • time:时间

   注意:/data/docker/containers 并非 docker 默认的数据存储路径,是通过 /etc/docker/daemon.json 配置的。

   注意:上述提到 /var/log/pods 下的日志只是对 /data/docker/containers 下日志的软链接,所以 Promtail 部署时需要同时挂载这两个目录。

Loki 日志收集系统

 四.Loki

   Loki是一个水平可扩展,高可用,多租户的日志聚合系统。Loki只会对日志元数据标签进行索引,而不会对原始的日志数据进行全文检索,收集的日志数据本身会被压缩,并以chunks(块)的形式存放在存储中。

4.1.组件

Loki 日志收集系统

1.Distributor(分配器)

   日志写入第一站,一旦分配器接收到日志数据,他就会把日志分成若干批次,并将它们并行的传送到采集器。

  分配器采用gRPC与采集器进行通信,它们是无状态的,所以我们需要根据实际状况进行扩缩容。

2.Ingester(采集器)

  采集器负责将日志数据写入存储。

3.Querier(查询器)

  查询服务器,负载处理LOGQL查询语句。

4.Chunk(块)存储

  块存储是Loki的长期数据存储,旨在支持交互式查询和持续写入,无需后台维护任务。

  

 

到了这里,关于Loki 日志收集系统的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Loki 日志收集系统

       Loki 的日志堆栈由 3 个组件组成: promtail : 用于采集日志、并给每条日志流打标签,每个节点部署,k8s部署模式下使用daemonset管理。  loki: 用于存储采集的日志, 并根据标签查询日志流。单节点部署,一般和监控组件部署在同一节点。  Grafana: 提供界面,实现日志的

    2024年02月08日
    浏览(49)
  • grafana呈现loki从k8s/ingress-nginx中收集的日志-地区经纬度部分

    1,在用grafana展示loki日志的时候,想到用可视化的方式来呈现更直观,于是网上查找,找到一篇《如何用Loki来绘制Ingress Nginx监控大屏》被复用多次,按照其过程实践引用了12559的面板,但效果与原文描述的不一致,可能是gf版本,或者插件版本变更等原因造成。尝试了几次终

    2024年02月21日
    浏览(52)
  • 搭建grafana+loki+promtail日志收集系统

    下载地址 https://github.com/grafana/loki/releases 安装包放在服务器目录:/opt 官网安装教程地址:Download Grafana | Grafana Labs

    2024年02月12日
    浏览(40)
  • 日志收集系统PLG(Promtail+Loki+Grafana)部署

    一、简 介 Loki是受Prometheus启发由Grafana Labs团队开源的水平可扩展,高度可用的多租户日志聚合系统。 开发语言: Google Go。它的设计具有很高的成本效益,并且易于操作。使用标签来作为索引,而不是对全文进行检索,也就是说,你通过这些标签既可以查询日志的内容也可以查

    2024年04月11日
    浏览(38)
  • JavaScript的三大组成部分是什么?JavaScript的核心组成部分解析:语法、BOM和DOM

    🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 🌊 《IDEA开发秘籍专栏》学会IDEA常用操作,工作效率翻倍~💐 🌊 《100天精通Golang(基础入门篇)》学会Golang语言

    2024年02月10日
    浏览(46)
  • 采样电路的3个组成部分

    采样电路的使用实际上是电路的一个闭环控制过程,也可以理解为一个负反馈过程,采集的信号被传送到主控制芯片进行调整。今天就来为您介绍一下采样电路的三个组成部分分析!一起来看看吧! 这里的采样实际上分为电流采样、电压采样、直流采样和交流采样。采样类型

    2023年04月18日
    浏览(55)
  • prometheus|云原生|轻型日志收集系统loki+promtail的部署说明

    日志------ 每一个程序,服务都应该有保留日志,日志的作用第一是记录程序运行的情况,在出错的时候能够记录错误情况,简单来说就是审计工作,例如nginx服务的日志,kubernetes集群的pod运行日志,Linux系统的系统日志。 其次是数据库的日志,记录数据库的运行细节,在需要

    2024年02月04日
    浏览(42)
  • Postman —— HTTP请求基础组成部分

    一般来说,所有的HTTP Request都有最基础的4个部分组成: URL 、  Method 、  Headers 和 body 。 (1)Method 要选择Request的Method是很简单的,Postman支持所有的请求方式。 (2)URL 要组装一条Request(请求), URL永远是你首先要填的内容。在Postman里面,你曾输入过的URL是可以通过下拉自

    2024年02月03日
    浏览(40)
  • 云计算安全——安全基线以及组成部分

    文章目录 1、什么是安全基线? 2、安全基线包括哪几部分? 总结 安全基线是指一组安全配置标准或最佳实践,用于指导和保障计算机系统或网络的安全性。安全基线包括了操作系统、应用程序、网络设备等各种组件的安全配置要求,以及安全控制和审计要求等。 安全基线通

    2024年02月13日
    浏览(82)
  • 【JVM】字节码文件的组成部分

    🐌个人主页: 🐌 叶落闲庭 💨我的专栏:💨 c语言 数据结构 javaEE 操作系统 Redis 石可破也,而不可夺坚;丹可磨也,而不可夺赤。 操作数栈是临时存放数据的地方 局部变量表是存放方法中的局部变量的位置 观察如下代码的字节码文件 具体的java源代码: 要想看到java的字

    2024年02月08日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包