热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Grafana日志聚合工具Loki

与其他日志聚合系统相比,Loki由以下3个部分组成:

Grafana 日志聚合工具 Loki Loki 是 Grafana Labs 团队最新的开源项目,是一个水平可扩展,高可用性,多租户的日志聚合系统。它的设计非常经济高效且易于操作,因为它不会为日志内容编制索引,而是为每个日志流编制一组标签。项目受 Prometheus 启发,官方的介绍就是: Like Prometheus, but for logs. ,类似于 Prometheus 的日志系统。

介绍

与其他日志聚合系统相比, Loki 具有下面的一些特性:

  • 不对日志进行全文索引。通过存储压缩非结构化日志和仅索引元数据,Loki 操作起来会更简单,更省成本。
  • 通过使用与 Prometheus 相同的标签记录流对日志进行索引和分组,这使得日志的扩展和操作效率更高。
  • 特别适合储存 Kubernetes Pod 日志; 诸如 Pod 标签之类的元数据会被自动删除和编入索引。
  • 受 Grafana 原生支持。

Loki 由以下3个部分组成:

loki
promtail
Grafana

安装

DockerHub 上提供了 Loki 和 Promtail 的 Docker 镜像,为了方便我们这里直接使用 docker-compose 进行一键安装,其他方式可以参考 Loki 的 文档介绍 。

首先直接 Clone 源代码:

$ git clone https://github.com/grafana/loki.git
# 进入 docs 目录
$ cd loki/docs

在 docs 目录下面有我们运行的 yaml 文件:(docker-compose.yaml)

version: "3"

networks:
  loki:

services:
  loki:
    image: grafana/loki:master
    ports:
      - "3100:3100"
    volumes:
      - $PWD:/etc/loki
    command: -config.file=/etc/loki/loki-local-config.yaml
    networks:
      - loki

  promtail:
    image: grafana/promtail:make-images-static-26a87c9
    volumes:
      - $PWD:/etc/promtail
      - /var/log:/var/log
    command:
      -config.file=/etc/promtail/promtail-docker-config.yaml
    networks:
      - loki

  grafana:
    image: grafana/grafana:master
    ports:
      - "3000:3000"
    environment:
      GF_EXPLORE_ENABLED: "true"
    networks:
      - loki

然后直接使用 docker-compose 启动即可:

$ docker-compose up -d

上面的命令会去默认使用当前文件夹下面的 docker-compose.yaml 文件创建,创建完成后查看创建的容器:

$ docker-compose ps
     Name                    Command               State               Ports
-----------------------------------------------------------------------------------------
docs_grafana_1    /run.sh                          Up      0.0.0.0:3000->3000/tcp
docs_loki_1       /bin/loki -config.file=/et ...   Up      0.0.0.0:3100->3100/tcp, 80/tcp
docs_promtail_1   /usr/bin/promtail -config. ...   Up

到这里证明已经安装成功了。

使用

安装完成后,访问上面节点的 3000 端口访问 grafana,默认情况下使用(admin:admin)访问 -> 选择添加数据源:

Grafana 日志聚合工具 Loki

在数据源列表中选择 Loki ,配置 Loki 源地址:

Grafana 日志聚合工具 Loki

源地址配置 http://loki:3100 即可,保存。

保存完成后,切换到 grafana 左侧区域的 Explore ,即可进入到 Loki 的页面:

Grafana 日志聚合工具 Loki

然后我们点击 Log labels 就可以把当前系统采集的日志标签给显示出来,可以根据这些标签进行日志的过滤查询:

Grafana 日志聚合工具 Loki

比如我们这里选择 /var/log/messages ,就会把该文件下面的日志过滤展示出来,不过由于时区的问题,可能还需要设置下时间才可以看到数据:

Grafana 日志聚合工具 Loki

选择器

对于查询表达式的标签部分,将其包装在花括号中 {} ,然后使用键值对的语法来选择标签,多个标签表达式用逗号分隔,比如:

{app="mysql",name="mysql-backup"}

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

=
!=
=~
!~

比如:

{name=~"mysql.+"}
{name!~"mysql.+"}

适用于 Prometheus 标签选择器规则同样也适用于 Loki 日志流选择器。

想要了解 Loki 的原始设计文档的可以点击查看这里的文档: Loki 设计文档

推荐

最后打个广告,给大家推荐一个本人精心打造的一个精品课程,现在限时优惠中: 从 Docker 到 Kubernetes 进阶 Grafana 日志聚合工具 Loki

扫描下面的二维码(或微信搜索 k8s技术圈 )关注我们的微信公众帐号,在微信公众帐号中回复 加群 即可加入到我们的 kubernetes 讨论群里面共同学习。 Grafana 日志聚合工具 Loki


以上所述就是小编给大家介绍的《Grafana 日志聚合工具 Loki》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 我们 的支持!


推荐阅读
  • 开发笔记:Prometheus监控系列最佳实践
    Prometheus是继kubernetes第二个从CNCF中毕业的项目,个人也是非常的喜欢这款通过数据指标发现和预测告警的开源监控平台,官方的话就不多说了,根据官网的 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 推荐系统遇上深度学习(十七)详解推荐系统中的常用评测指标
    原创:石晓文小小挖掘机2018-06-18笔者是一个痴迷于挖掘数据中的价值的学习人,希望在平日的工作学习中,挖掘数据的价值, ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • 本文介绍了一种轻巧方便的工具——集算器,通过使用集算器可以将文本日志变成结构化数据,然后可以使用SQL式查询。集算器利用集算语言的优点,将日志内容结构化为数据表结构,SPL支持直接对结构化的文件进行SQL查询,不再需要安装配置第三方数据库软件。本文还详细介绍了具体的实施过程。 ... [详细]
  • Gitlab接入公司内部单点登录的安装和配置教程
    本文介绍了如何将公司内部的Gitlab系统接入单点登录服务,并提供了安装和配置的详细教程。通过使用oauth2协议,将原有的各子系统的独立登录统一迁移至单点登录。文章包括Gitlab的安装环境、版本号、编辑配置文件的步骤,并解决了在迁移过程中可能遇到的问题。 ... [详细]
  • 微信商户扫码支付 java开发 [从零开发]
    这个教程可以用作了解扫码支付的整体运行过程,已经实现了前端扫码,记录订单,回调等一套完整的微信扫码支付。相关链接:微信支 ... [详细]
  • smartadmin mysql_Prometheus、Alertmanager、Grafana 监控 Linux 与 MySQL
    检查各个端口的放行部署各个模块与应用cdusrlocalPrometheus_composevimdocker-compose.ymlversion:3services:pro ... [详细]
  • Prometheus Grafana实现对Linux Kubernetes Nginx  的监控系统
    2019独角兽企业重金招聘Python工程师标准用Prometheus配合Grafana实现多用途的服务监控系统。一.Prometheus简介Prometheus是一个开源监 ... [详细]
  • 怎么把项目推到gitlab上_Gitlab利用Webhook+jenkins实现自动构建与部署
    之前部署了Gitlab的代码托管平台和Jenkins的代码发布平台。通常是开发后的代码先推到Gitlab上管理,然后在Jenkins里通过脚本构建代码发布。这种方式每 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • EPICS Archiver Appliance存储waveform记录的尝试及资源需求分析
    本文介绍了EPICS Archiver Appliance存储waveform记录的尝试过程,并分析了其所需的资源容量。通过解决错误提示和调整内存大小,成功存储了波形数据。然后,讨论了储存环逐束团信号的意义,以及通过记录多圈的束团信号进行参数分析的可能性。波形数据的存储需求巨大,每天需要近250G,一年需要90T。然而,储存环逐束团信号具有重要意义,可以揭示出每个束团的纵向振荡频率和模式。 ... [详细]
  • Linux下安装免费杀毒软件ClamAV及使用方法
    本文介绍了在Linux系统下安装免费杀毒软件ClamAV的方法,并提供了使用该软件更新病毒库和进行病毒扫描的指令参数。同时还提供了官方安装文档和下载地址。 ... [详细]
  • 固定资产管理系统的功能及应用
    企业用户在调查固定资产管理系统的功能时,需要从财务经验和系统成本的角度进行调查。固定资产管理系统作为酒店管理的重要组成部分,可以帮助酒店有效规范内部财务会计,提高管理效率。标准版固定资产管理系统具备固定资产的日常管理、附属资产的管理、审批流程管理、固定资产盘点管理、固定资产记录管理、随时查询固定资产等功能。此外,该系统还支持固定资产采购管理和财务管理,可以提高固定资产利用率,降低闲置率,降低成本,提高效率。对于中小企业来说,借助专业的资产管理体系可以实现低成本、高效的固定资产管理,提高办公效率。 ... [详细]
  • 用ESP32与Python实现物联网(IoT)火焰检测报警系统
    下图是本案例除硬件连线外的3步导学开发过程,每个步骤中实现的功能请参考图中的说明。在硬件连线完成之后我们建议您先使用“一分钟上云体验”功能预先体验本案例的实际运行效果 ... [详细]
author-avatar
周扒pi
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有