loki 日志管理的安装部署使用

news2024/12/24 2:50:00

loki介绍

Loki是 Grafana Labs 团队最新的开源项目,是一个水平可扩展,高可用性,多租户的日志聚合系统。它的设计非常经济高效且易于操作,因为它不会为日志内容编制索引,而是为每个日志流编制一组标签。

  • 不对日志进行全文索引。Loki中存储的是压缩后的非结构化日志,并且只对元数据建立索引,因此Loki 具有操作简单、低成本的优势。
  • 使用与 Prometheus 相同的标签。Loki通过标签对日志进行索引和分组,这使得日志的扩展和操作效率更高。
  • 特别适合储存 Kubernetes Pod 日志。诸如 Pod 标签之类的元数据会被自动删除和编入索引。
  • Grafana 原生支持。

架构

Loki 日志系统由以下3个部分组成:

  • loki是主服务器,负责存储日志和处理查询。
  • promtail是专为loki定制的代理,负责收集日志并将其发送给 loki 。
  • Grafana用于 UI展示。
    在这里插入图片描述
    Loki 日志系统由以下3个部分组成:
  • loki是主服务器,负责存储日志和处理查询。
  • promtail是专为loki定制的代理,负责收集日志并将其发送给 loki 。
  • Grafana用于 UI展示。

https://www.yuque.com/yuqueyonghukvyedl/eh0xog/tgdz0i

部署loki

wget https://raw.githubusercontent.com/grafana/loki/v2.3.0/cmd/loki/loki-local-config.yaml -O loki-config.yaml

docker run -d -v $(pwd):/mnt/config -p 3100:3100 grafana/loki:latest -config.file=/mnt/config/loki-config.yaml

wget https://raw.githubusercontent.com/grafana/loki/v2.3.0/clients/cmd/promtail/promtail-docker-config.yaml -O promtail-config.yaml

docker run -d -v $(pwd):/mnt/config  -v /var/log:/var/log grafana/promtail:latest -config.file=/mnt/config/promtail-config.yaml


docker pull grafana/grafana

docker run -d -p 3000:3000 --name=grafana  grafana/grafana

访问地址

http://10.6.8.227:3100/metrics

http://10.6.8.227:3000
默认账号和密码:     admin

LogQL 查询语句

Log Query Language(日志查询语言,简称LogQL) 受 PromQL 启发,可以看作是分布式的 grep 命令,用来从汇总的日志源筛选日志。LogQL 通过 labels(标签) 和 operators(运算符) 进行过滤。

LogQL 查询有两种类型:

  1. Log Queries(日志查询) # 根据查询语句返回日志条目,每行是一条日志。
    a. 基本的日志查询由两部分组成
    ⅰ. log stream selector # 日志流选择器
    ⅱ. filter expression # 过滤表达式
  2. Metric Queries(指标查询) # 用于扩展日志查询并根据 Log Queries 中的日志计数计算值。通过这种查询语句,可以计算将日志数据量化成指标信息,并且,Promtail 可以通过这种查询语句将指标信息,填充到自己暴露的 Metrics 端点中。

注意:由于 Loki 的设计,所有 LogQL 查询都必须包含一个日志流选择器
在这里插入图片描述

日志流选择器确定将搜索多少日志流(日志内容的唯一来源,例如文件)。然后,更细粒度的日志流选择器将搜索到的流的数量减少到可管理的数量。这意味着传递给日志流选择器的标签将影响查询执行的相对性能。然后使用过滤器表达式对来自匹配日志流的聚合日志进行分布式grep。

Log Queries(日志查询)
基本的日志查询由两部分组成:
● Log Stream Selector(日志流选择器)
● Log Pipeline(日志管道)

注意:由于 Loki 的设计原则,所有的 LogQL 查询必须包含 Log Stream Selector(日志流选择器)

日志流选择器决定了有多少日志流将被搜索到,一个更细粒度的日志流选择器将搜索到流的数量减少到一个可管理的数量。所以传递给日志流选择器的标签将影响查询执行的性能。
而日志流选择器后面的日志管道是可选的,日志管道是一组阶段表达式,它们被串联在一起应用于所过滤的日志流,每个表达式都可以过滤、解析和改变日志行内容以及各自的标签。

1. |= # 匹配包含指定字符串的日志行
2. != # 匹配不包含指定字符串的日志行
3. |~ # 匹配包含正则表达式的日志行
4. !~ # 匹配不包含正则表达式的日志行
{job="varlogs"} |="ERROR" !="level" |="2021-08-23"

在这里插入图片描述

参考文献

https://grafana.com/docs/loki/latest/logql/ip/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/372051.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python学习之手把手教你将图片变成黑白或彩色字符画(骚操作)

文章目录前言一、字符画的实现原理二、黑白字符画实现代码三、彩色字符画生成代码实现:总结前言 字符画这个话题,似乎早在贴吧时代就已经被玩烂了。在百度图片随便一搜索,就能够看到非常多。然后在这个时代,会编程的人越来越多&a…

Transformer输出张量的值全部相同?!

【bug】Transformer输出张量的值全部相同?!现象原因解决现象 输入经过TransformerEncoderLayer之后,基本所有输出都相同了。 核心代码如下, from torch.nn import TransformerEncoderLayer self.trans TransformerEncoderLayer…

日记本-课后程序(JAVA基础案例教程-黑马程序员编著-第七章-课后作业)

【实验7-3】 日记本 【任务介绍】 1.任务描述 编写一个日记本功能的程序,使用字节流经日记的具体信息记录在本地的txt文件中。当用户输入日记的特定内容后,会将输入的内容保存至本地的txt文件中。需要输入的内容包括“姓名”,“天气”、“…

OpenFeign详解

OpenFeign是什么? OpenFeign: OpenFeign是Spring Cloud 在Feign的基础上支持了SpringMVC的注解,如RequesMapping等等。OpenFeign的FeignClient可以解析SpringMVC的RequestMapping注解下的接口,并通过动态代理的方式产生实现类&am…

基于YOLOv5的细胞检测实战

数据及代码链接见文末 1.任务与数据集介绍 如下图所示,我们有一个医学细胞数据集,需要从数据集中检测出三种不同的细胞。标签中已经标注了细胞的类别和位置。 我们也可以看到,三种细胞有着不同的形态和颜色,同时数据集的标签也存在没有标注到的细胞 2.数据与标签配置方…

【打卡-Coggle竞赛学习2023年2月】图节点嵌入

文章目录## Part4 图节点嵌入### 背景介绍### 环境配置### 学习打卡- 任务1:图属性与图构造- 任务2:图查询与遍历- 任务3:节点中心性与应用- 任务4:图节点嵌入算法:- 任务5:图节点嵌入算法:- 任…

PowerAutomation获取邮件附件并删除这个邮件方法

这个文章是怎么来的呢?现在不是低代码开发平台启蒙阶段嘛?笔者也有幸在工作中进行了尝试,目前也已经在实际工作中结合Python进行了使用,当然,是可以提高IT的工作效率的。需求是这样的,想从公司的EBS平台报表…

3.5 实战:Spring Boot 实现系统多环境配置

第3章 Spring Boot 的系统配置 3.1 Spring Boot 系统配置文件 3.2 Spring Boot 自定义配置项 3.3 Spring Boot 其他配置 3.4 Spring Boot 日志配置 3.5 实战:Spring Boot 实现系统多环境配置 3.5 实战:Spring Boot 实现系统多环境配置 在实际项目开发的…

python的所有知识点(含讲解),不看就亏死了

目录 简介 特点 搭建开发环境 版本 hello world 注释 文件类型 变量 常量 数据类型 运算符和表达式 控制语句 数组相关 函数相关 字符串相关 文件处理 对象和类,注:不是那个对象!!!!&…

2023年安徽省职业院校技能大赛“网络空间安全” 比赛任务书

2023年安徽省职业院校技能大赛“网络空间安全” 比赛任务书 一、竞赛时间 总计:360分钟 二、竞赛阶段 竞赛阶段 任务阶段 竞赛任务 竞赛时间 分值 A模块 A-1 登录安全加固 180分钟 200分 A-2 Nginx安全策略 A-3 日志监控 A-4 中间件服务加固 A-5 本地安全策略 A-6 防火墙策…

基本程序设计技术

一.统计(计数)问题:方法:计数变量c的初值为0,每输入一个数据,进行必要判断后,若输入的数据满足统计条件,则计数变量c自加1,这样当对所有输入进行判断后,计数变…

多线程案例(一)【单例模式+阻塞队列】

一、单例模式 单例模式属于最容易被问到的一种设计模式。 啥是设计模式? 类似于棋谱,按摩模式写代码,可以更加规范。 单例模式的含义: 单例:单个实例对象 某个类有且只有一个对象。 这一点在很多场景上都需要. 比如…

如何轻松录制 CS 游戏玩法?4 种免费录制 CS 游戏视频的方法

CS:GO,又名反恐精英:全球攻势,是一款多人第一人称射击游戏,由 Valve 和 Hidden Path Entertainment 于 2012 年设计推出。作为反恐精英系列的第四代,它广受欢迎与全球游戏玩家。随着近年来电子竞技的兴起,用…

冒泡排序(朴素+优化)

思想 先来看一张动图 上面这张图就是冒泡排序的代码可视化 很显然我们可以发现,冒泡排序的基本思想就是从前往后比对,一直将找到的最大值交换到序列的末尾感觉冒泡排序这个名字还是很形象的 朴素做法 不难看出,将最大值交换到末尾的操作一…

数据结构与算法之打家劫舍(二)动态规划思想

前言:上一个题目所求的数组是线性的,首尾并不影响结果。这道题目的数组的首尾相连接,构成一个环。再来求这一道题目,难度进一步上身。我们直接进入题目:一.题目二.在上一道题目的基础上进行剖析对于一个数组&#xff0…

​科伦博泰冲刺港交所上市:持续大额亏损,科伦药业为其控股股东​

近日,四川科伦博泰生物医药股份有限公司(下称“科伦博泰”)在港交所递交招股书,准备在港交所主板上市,高盛和中信证券为其联合保荐机构。据贝多财经了解,科伦博泰为A股上市公司科伦药业(SZ:0024…

6.Kafka发布和显示系统通知

1.阻塞队列生产者线程线程需要实现 Runnable 接口重写接口的run方法声明变量private BlockingQueue<Integer> queue接受传入的阻塞队列创建有参构造器实现示例逻辑&#xff0c;生产100个数据&#xff0c;put进阻塞队列&#xff0c;每生产一个数据停顿20毫秒&#xff0c;输…

Ubuntu22.04 安装 mysql8,redis7,MongoDB6

服务器的准备 我的服务器是在腾讯云租的&#xff0c;所以服务器的apt源都是默认配好的&#xff0c;没配好的自行网上查找apt源配置。本文同样适用于Ubuntu 22&#xff0c;20。Ubuntu18亦可参考。云服务器一般防火墙未开放端口访问&#xff0c;请自行配置&#xff0c;否则后续远…

【unity游戏制作-mango的冒险】-4.场景二的镜头和法球特效跟随

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 秩沅 原创 收录于专栏&#xff1a;unity游戏制作 ⭐mango的冒险场景二——镜头和法球特效跟随⭐ 文章目录⭐mango的冒险场景二——镜…

【2023蓝桥杯】枚举专项题笔记

【枚举】卡片小蓝有很多数字卡片&#xff0c;每张卡片上都是数字 0 到 9。小蓝准备用这些卡片来拼一些数&#xff0c;他想从 1开始拼出正整数&#xff0c;每拼一个&#xff0c;就保存起来&#xff0c;卡片就不能用来拼其它数了。小蓝想知道自己能从 1拼到多少。例如&#xff0c…