Redian新闻
>
10分钟学会使用Loki日志聚合系统

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

公众号新闻

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 并安装。

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

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

配置 Loki

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

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

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

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 即可查看日志。

查询表达式

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

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

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

  • = 等于
  • != 不等于
  • =~ 正则匹配
  • !~ 正则不匹配

例如:

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

最后

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

Reference Link

[1]

Rainbond 快速安装: https://www.rainbond.com/docs/quick-start/quick-install

往期推荐



一周热点 | 2023.02.15——2023.02.21

开源方案低成本复现ChatGPT流程,仅需1.6GB显存即可体验

质疑我违规窃取开源代码?拉黑你!



这里有最新开源资讯、软件更新、技术干货等内容

点这里 ↓↓↓ 记得 关注✔ 标星⭐ 哦

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
龙卷风健康快递 229人见人爱的早餐饼,有手就能做,学会又能多睡10分钟!北方威尼斯圣诞节橱窗卡通秀《原则(实践版)》:如何使用这本指导日志不会使用先进生产工具的我,正在加入被淘汰的行列 | ArchSummit二十分钟学会写剧本,是可能的吗?职场人周末10分钟学习加油站:TED演讲-一切只需十分钟的专注北方威尼斯圣诞节橱窗卡通秀现在/5.1入住|半中介费|近伯克利步行5分钟/NEU步行13分钟/BU步行10分钟studio月租2395,包水暖如果遏制无效,朝鲜会使用核武力吗?真香!一个轻量级的日志追踪框架,10 分钟即可接入!乔伊斯的这句“love loves to love love”,到底啥意思?冬天必备的懒人蒸菜!好吃不上火,包你2分钟学会~1口=10几种添加剂,你还总给孩子买来吃!2分钟学会,比外面卖的更酥脆9.1入住|可以养宠物|近NEU步行10分钟/伯克利步行2分钟/绿线3分钟优质三室一厅4650,包供暖和热水Origin做生存分析,3分钟学会!使用Loki收集网络设备日志拥抱AI时代的第一课:学会使用ChatGPT和New Bing人人都可拥有的自主性AI:有记忆会使用工具,还会自我学习!底层自研框架即将开源10分钟彻底学会:一眼分辨哪些美白护肤品是智商税!9.1入住|半中介费|近伯克利步行5分钟/NEU步行13分钟/BU步行10分钟studio月租2450+,包水暖YOLOv8来啦 | 详细解读YOLOv8的改进模块!YOLOv5官方出品YOLOv8,必卷!【租房】随时入住|近NEU步行13分钟/BU步行10分钟|两室一厅两卫|租金4100此鸟会使用整套工具,真是成精了国家高性能医疗器械创新中心牵头研发我国首台国产体外膜肺氧合系统(ECMO)获批上市如何使用 journalctl 查看和分析 systemd 日志(附实例) | Linux 中国开学+换季,我家常备这2样!10分钟浸泡,煮20分钟胶质满满,浓稠能拉丝【Cambridge新建超高性价比高级公寓】室内洗烘 | 步行13分钟红线 | 开车10分钟Harvard/15分钟到MIT此鸟会使用整套工具,真是成精了!9.1入住|【可以养宠物】近NEU步行10分钟/伯克利步行2分钟/绿线3分钟优质一室一厅2600,包供暖和热水三大原因决定俄罗斯不会使用核武器冰岛Arnarstapi,礁石林立使用 Vector 将 PostgreSQL 日志输出为 Prometheus 指标核对一下你的新冠是什么株?用量子理论凭空生成能量:物理学家学会使用零点能
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。