当前位置:首页 > 科技  > 软件

日志分析系统Loki使用指南

来源: 责编: 时间:2024-02-04 09:02:56 301观看
导读与其他日志系统相比, Loki 的使用方式是有一定差异性的,需要用不同的思维方式。本文分享一下这些差异以及我们应该如何使用作为 Loki 用户或操作人员,我们目标应该是使用尽可能少的标签来存储日志。更少的标签则意味着更

与其他日志系统相比, Loki 的使用方式是有一定差异性的,需要用不同的思维方式。本文分享一下这些差异以及我们应该如何使用9yL28资讯网——每日最新资讯28at.com

作为 Loki 用户或操作人员,我们目标应该是使用尽可能少的标签来存储日志。9yL28资讯网——每日最新资讯28at.com

更少的标签则意味着更小的索引,从而能带来更好的性能。9yL28资讯网——每日最新资讯28at.com

以上这些话听起来可能觉得有问题。因为在我们以往工作中比如使用 elk、数据库的经验告诉我们,如果想让它更快,需要对其建立索引。而Loki 是以完全相反的方式构建和优化的, Loki 的设计目标是保持较低的运营成本和复杂性,这是通过保持非常小的索引并利用商用硬件性能和并行化查询来实现的。9yL28资讯网——每日最新资讯28at.com

因此,作为 Loki 的用户或操作员,在添加标签之前我一定要三思而后行。9yL28资讯网——每日最新资讯28at.com

如何查询给定traceID 的所有日志?

ts=2020-08-25T16:55:42.986960888Z caller=spanlogger.go:53 org_id=29 traceID=2612c3ff044b7d02 method=Store.lookupIdsByMetricNameMatcher level=debug matcher="pod=/"loki-canary-25f2k/"" queries=16

我们可能会想,应该提取traceID作为标签,然后可以这样查询:9yL28资讯网——每日最新资讯28at.com

{cluster="ops-cluster-1",namespace="loki-dev", traceID=”2612c3ff044b7d02”}

但不建议这么做,这种方式会导致Loki 查询效率很低,因为它的值就是个无界的,每次请求都会产生新的traceID,这种情况属于典型无界的动态标签值,在Loki里面用Cardinality来表示,Cardinality值越高,Loki的查询效率越低。如果想在日志中查找高基数数据,请使用如下过滤表达式:9yL28资讯网——每日最新资讯28at.com

{cluster="ops-cluster-1",namespace="loki-dev"} |= “traceID=2612c3ff044b7d02”

提取的内容基数低,能否提取到标签中?

比如日志级别,只有几个固定值9yL28资讯网——每日最新资讯28at.com

{cluster="ops-cluster-1",namespace="loki-dev", level=”debug”}

这里也要注意!因为标签对索引和存储具有倍增效应,刚开始的一个日志流,如果使用日志级别标签后,现在已变成4个日志流,所以在我们添加标签时要考虑这些,以下是一个示意图9yL28资讯网——每日最新资讯28at.com

图片图片9yL28资讯网——每日最新资讯28at.com

尽量使用静态标签

静态标签开销更小,在发送到Loki之前,就会获取相关 lablel,在k8s 中通过 helm 部署,默认采集以下静态标签9yL28资讯网——每日最新资讯28at.com

  • 应用名:__meta_kubernetes_pod_label_app
  • 命名空间:__meta_kubernetes_namespace
  • 节点名称:__meta_kubernetes_pod_node_name
  • pod名称:__meta_kubernetes_pod_name
  • 容器名称:__meta_kubernetes_pod_container_name

图片图片9yL28资讯网——每日最新资讯28at.com

使用并行化来提高Loki 性能

使用大量数值的标签是不好的,那么我们如何查询日志?如果没有日志没有索引,查询能快吗?9yL28资讯网——每日最新资讯28at.com

在我们使用ELK 或者其他日志系统时,我们会创建大量的索引来提高查询速度,但是在 loki 中我们需要忘记这些东西9yL28资讯网——每日最新资讯28at.com

因为loki 是通过并行化的方式来提交查询速度的。9yL28资讯网——每日最新资讯28at.com

图片图片9yL28资讯网——每日最新资讯28at.com

Loki 的超能力是将查询分解成小块,并将其并行调度,这样就可以在小时间内查询大量的日志数据,最后在进行汇总返回9yL28资讯网——每日最新资讯28at.com

总结

Loki 利用水平扩展和查询时间来查询我们的数据。这与使用多索引的解决方案一样快吗?可能不是!但它运行和部署要容易很多,而且还省资源。9yL28资讯网——每日最新资讯28at.com

Grafana Lab 的 Loki 部分集群的数据,在过去 7 天内,它摄入了 14TB 的数据。该时间段对应的索引使用量约为500MB;14TB 日志的索引可以放入树莓派的内存中。9yL28资讯网——每日最新资讯28at.com

这就是为什么Loki专注于保持标签集较小的原因。也许标签只能将搜索范围缩小到 100GB 的日志数据 —但是运行 20 个查询器(可以以 30GB/s 的速度并行搜索 100GB 数据)比维护一个 14TB 索引要便宜得多,尤其是当我们使用不了几次的时候。9yL28资讯网——每日最新资讯28at.com

因此,更少的标签 = 更好的性能。9yL28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-72437-0.html日志分析系统Loki使用指南

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: Spring Boot中@Valid和@Validated的区别,你明白了吗?

下一篇: C++多线程编程:解锁性能与并发的奥秘

标签:
  • 热门焦点
  • 影音体验是真的强 简单聊聊iQOO Pad

    大公司的好处就是产品线丰富,非常细分化的东西也能给你做出来,例如早先我们看到了新的vivo Pad2,之后我们又在iQOO Neo8 Pro的发布会上看到了iQOO的首款平板产品iQOO Pad。虽
  • 6月安卓手机性能榜:vivo/iQOO霸占旗舰排行榜前三

    2023年上半年已经正式过去了,我们也迎来了安兔兔V10版本,在新的骁龙8Gen3和天玑9300发布之前,性能榜的榜单大体会以骁龙8Gen2和天玑9200+为主,至于那颗3.36GHz的骁龙8Gen2领先
  • 5月iOS设备性能榜:M1 M2依旧是榜单前五

    和上个月一样,没有新品发布的iOS设备性能榜的上榜设备并没有什么更替,仅仅只有跑分变化而产生的排名变动,刚刚开始的苹果WWDC2023,推出的产品也依旧是新款Mac Pro、新款Mac Stu
  • Automa-通过连接块来自动化你的浏览器

    1、前言通过浏览器插件可实现自动化脚本的录制与编写,具有代表性的工具就是:Selenium IDE、Katalon Recorder,对于简单的业务来说可快速实现自动化的上手工作。Selenium IDEKat
  • 学习JavaScript的10个理由...

    作者 | Simplilearn编译 | 王瑞平当你决心学习一门语言的时候,很难选择到底应该学习哪一门,常用的语言有Python、Java、JavaScript、C/CPP、PHP、Swift、C#、Ruby、Objective-
  • 19个 JavaScript 单行代码技巧,让你看起来像个专业人士

    今天这篇文章跟大家分享18个JS单行代码,你只需花几分钟时间,即可帮助您了解一些您可能不知道的 JS 知识,如果您已经知道了,就当作复习一下,古人云,温故而知新嘛。现在,我们就开始今
  • Python异步IO编程的进程/线程通信实现

    这篇文章再讲3种方式,同时讲4中进程间通信的方式一、 Python 中线程间通信的实现方式共享变量共享变量是多个线程可以共同访问的变量。在Python中,可以使用threading模块中的L
  • Android 14发布:首批适配机型公布

    5月11日消息,谷歌在今天凌晨举行了I/O大会,本次发布会谷歌带来了自家的AI语言模型PaLM 2、谷歌Pixel Fold折叠屏、谷歌Pixel 7a手机,同时发布了Androi
  • 外交部:美方应停止在网络安全问题上不负责任地指责他国

      中国外交部今天(16日)举行例行记者会。会上,有记者问,美国情报官员称,他们正在阻拦来自中国以及其他国家的黑客获取相关科研成果。 中方对此有何评论?对此
Top