0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

10分钟学会使用Loki日志聚合系统

OSC开源社区 来源:OSC开源社区 2023-02-23 10:26 次阅读

Loki 是一个由Grafana Labs 开发的开源日志聚合系统,旨在为云原生架构提供高效的日志处理解决方案。

Loki 通过使用类似 Prometheus 的标签索引机制来存储和查询日志数据,这使得它能够快速地进行分布式查询和聚合,而不需要将所有数据都从存储中加载到内存中。Loki还使用了压缩和切割日志数据的方法来减少存储空间的占用,从而更好地适应云原生环境下的高速增长的日志数据量。

Loki的架构由以下几个主要组件组成:

「Promtail:」 负责采集应用程序和系统的日志数据,并将其发送到 Loki 的集群中。

「Loki:」 负责存储日志数据,提供 HTTP API 的日志查询,以及数据过滤和筛选。

「Grafana:」 负责 UI 展示日志数据。

Loki vs ELK

Loki 和 ELK(Elasticsearch, Logstash, Kibana)都是常用的日志处理系统,它们各自具有一些优点。下面是 Loki 相对于 ELK 的几个优点:

「存储效率更高」:Loki 使用了压缩和切割日志数据的方法来减少存储空间的占用,相比之下,ELK 需要维护一个大的索引,需要更多的存储空间。

「查询速度更快」:Loki 使用类似 Prometheus 的标签索引机制存储和查询日志数据,这使得它能够快速地进行分布式查询和聚合,而不需要将所有数据都从存储中加载到内存中。而ELK需要将数据从存储中加载到内存中进行查询,查询速度相对较慢。

「部署和管理更容易」:Loki 是一个轻量级的日志聚合系统,相比之下,ELK 需要部署和管理多个组件,需要更多的资源和人力成本。

安装和配置 Loki

前提

参阅 Rainbond 快速安装[1] 文档进行安装。

安装 Loki

Loki 应用已发布到开源应用商店,可通过开源应用商店一键安装。

「平台管理 -> 应用市场 -> 开源应用商店」 中搜索 Loki 并安装。

a22ab5b6-b2e3-11ed-bfe3-dac502259ad0.png

安装完成后,该应用内包含 Loki Grafana 组件:

a242e870-b2e3-11ed-bfe3-dac502259ad0.png

同时还有 k8s资源,其中包括 promtail 的 Daemonset 以及 SA 等资源。

a252da96-b2e3-11ed-bfe3-dac502259ad0.png

配置 Loki

进入「应用内 -> k8s资源」,修改 ConfigMap promtail-config 的 url 部分,URL 通过 Loki 的 「组件内 -> 端口 -> 访问地址」 获取,如下:

apiVersion:v1
data:
promtail.yaml:|
clients:
-url:http://gre4f2a2:3100/loki/api/v1/push#Changed
......

进入「应用内 -> k8s资源」,修改 ClusterRoleBinding promtail-clusterrolebinding 的 namespace 部分为当前应用的命名空间。

apiVersion:rbac.authorization.k8s.io/v1
kind:ClusterRoleBinding
metadata:
name:promtail-clusterrolebinding
......
subjects:
-kind:ServiceAccount
name:promtail-serviceaccount
namespace:dev#Changed

如果使用的容器运行时是 Containerd 需要修改 promtail-daemonset 资源,如果容器运行时是 Docker 则不用修改。

......
volumeMounts:
-mountPath:/var/lib/containers#Changed
name:varlibdockercontainers
readOnly:true
......
volumes:
-hostPath:
path:/var/lib/containers#Changed
type:""
name:varlibdockercontainers

修改后更新 Loki Grafana 组件,应用内 -> 更新即可。

使用 Loki

访问 Grafana,应用内点击访问按钮即可通过 Rainbond 默认提供的域名访问 Grafana。

进入 Explore 内通过 Labels 筛选 POD 日志,选择 namespace pod Labels,会自动生成查询表达式,点击 Show logs 即可查看日志。

a26563d2-b2e3-11ed-bfe3-dac502259ad0.pnga281a72c-b2e3-11ed-bfe3-dac502259ad0.png

查询表达式

除了通过 Grafana 界面选择 Labels 之外,还可以手动写查询表达式,比如:

{container="rbd-api",namespace="rbd-system",pod="rbd-api-5fdd795546-j5679"}

目前支持以下标签匹配运算符:

= 等于

!= 不等于

=~ 正则匹配

!~ 正则不匹配

例如:

{namespace=~"dev|rbd-system"}

最后

总之,Loki是一个轻量级、高效的日志聚合系统,它在处理云原生环境下大规模日志数据方面表现出色。Loki 相比于 ELK具有存储效率更高、查询速度更快、部署和管理更容易。结合 Rainbond 一起使用,使我们的应用和日志管理都非常简单。

审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据
    +关注

    关注

    8

    文章

    6511

    浏览量

    87600
  • 存储
    +关注

    关注

    12

    文章

    3856

    浏览量

    84661
  • HTTP
    +关注

    关注

    0

    文章

    466

    浏览量

    30315
  • 开源
    +关注

    关注

    3

    文章

    2985

    浏览量

    41718
  • 日志
    +关注

    关注

    0

    文章

    126

    浏览量

    10525

原文标题:10分钟学会使用Loki日志聚合系统

文章出处:【微信号:OSC开源社区,微信公众号:OSC开源社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    1分钟日志流量超过2000次

           1分钟日志流量超过2000次   爽啊```QQ空间日志浏览量:  ae复错误提示重复运行(QQ空间
    发表于 05-30 13:00

    60分钟学会OrCAD中文教程

    60分钟学会OrCAD中文教程
    发表于 08-04 16:36

    分钟学会Xilinx FPGA 设计1.1

    分钟学会Xilinx FPGA 设计1.1
    发表于 08-10 11:10

    学会使用示波器

    学会使用示波器
    发表于 08-10 22:47

    5分钟学会使用CPLD教程

    5分钟学会使用CPLD教程
    发表于 08-19 11:03

    60分钟学会OrCAD(原理图)中文教程

    本帖最后由 eehome 于 2013-1-5 09:57 编辑 60分钟学会OrCAD中文教程
    发表于 11-23 11:55

    60分钟学会orcad capture cis

    60分钟学会orcad capture cis,想学习cadence软件的朋友不要错过了。
    发表于 02-20 10:07

    分钟学会ISE

    分钟学会ISE
    发表于 03-26 09:39

    分钟学会ISE

    分钟学会ISE
    发表于 09-05 22:49

    60分钟学会ORCAD

    60分钟学会ORCAD的文档教程
    发表于 03-11 09:44

    分钟学会CPLD资料

    分钟学会CPLD资料
    发表于 11-15 10:12

    10分钟学会FPGA设计

    10分钟学会FPGA设计
    发表于 09-27 10:57

    10分钟学会FPGA设计

    本帖最后由 lee_st 于 2017-10-31 09:00 编辑 10分钟学会FPGA设计
    发表于 10-21 20:23

    60分钟学会OrCAD Capture CIS

    于争博士60分钟学会ORCAD,内容简单详实,上手很容易,Cadence相对protel更专业,值得大家学习......
    发表于 09-27 08:27

    为什么使用LokiLoki部署模式有哪些?

    Loki 是一个轻量级的日志收集、分析的应用,采用的是 promtail 的方式来获取日志内容并送到 loki 里面进行存储,最终在 grafana 的 datasource 里面添加
    的头像 发表于 07-26 09:26 1276次阅读
    为什么使用<b class='flag-5'>Loki</b>?<b class='flag-5'>Loki</b>部署模式有哪些?