Grafana Loki 快速尝鲜

在这里插入图片描述
Grafana Loki 是一个支持水平扩展、高可用的聚合日志系统,跟其他的聚合日志系统不同,Loki只对日志的元数据-标签进行索引,日志数据会被压缩并存储在对象存储中,甚至可以存储在本地文件系统中,能够有效降低成本;多租户,Loki允许多个租户共享一个Loki实例,租户数据完全隔离;通过插件支持第三方agent;通过LogQL查询日志,类似与PromQL;告警,能跟Prometheus、Grafana的告警系统无缝集成;可以与Mimir、Tempo无缝集成,实现日志长期存储和链路跟踪。

如下图所示是基于Loki部署的典型聚合日志系统架构
在这里插入图片描述
有3部分组成:

  • Agent客户端,比如Promtail、Grafana Agent,系统通过agent抓取日志,添加标签后将日志转换为流,并通过HTTP API 将流推送到Loki
  • Loki,主服务器,负责接收和存储日志以及查询,支持不同模式的部署
  • Grafana,用于查询和显示日志数据,也可以使用LogCLI或者Loki API 查询日志

Loki 安装

Loki支持Helm、Docker、Tanka、Local、Istio、通过源码6种安装方式,本地测试最方便快捷就是使用Docker方式了,这里介绍下Docker的方式。

首先创建一个用于存放Loki配置文件的目录,进入该目录执行以下命令:

Mac/Linux

wget https://raw.githubusercontent.com/grafana/loki/v2.9.1/cmd/loki/loki-local-config.yaml -O loki-config.yaml
docker run --name loki -d -v $(pwd):/mnt/config -p 3100:3100 grafana/loki:2.9.1 -config.file=/mnt/config/loki-config.yaml
wget https://raw.githubusercontent.com/grafana/loki/v2.9.1/clients/cmd/promtail/promtail-docker-config.yaml -O promtail-config.yaml
docker run --name promtail -d -v $(pwd):/mnt/config -v /var/log:/var/log --link loki grafana/promtail:2.9.1 -config.file=/mnt/config/promtail-config.yaml

1、macOS 14 不支持 wget 命令,你可以直接通过地址下载文件,并改名
2、命令里面/var/log是本地的一个系统日志,这里要换成自己服务的日志路径

Windows

cd "<local-path>"
wget https://raw.githubusercontent.com/grafana/loki/v2.9.1/cmd/loki/loki-local-config.yaml -O loki-config.yaml
docker run --name loki -v <local-path>:/mnt/config -p 3100:3100 grafana/loki:2.9.1 --config.file=/mnt/config/loki-config.yaml
wget https://raw.githubusercontent.com/grafana/loki/v2.9.1/clients/cmd/promtail/promtail-docker-config.yaml -O promtail-config.yaml
docker run -v <local-path>:/mnt/config -v /var/log:/var/log --link loki grafana/promtail:2.9.1 --config.file=/mnt/config/promtail-config.yaml

安装完成后,访问http://localhost:3100/metrics 能看到Loki指标情况。

配置日志读取

我们想要简单快速的看效果,那么就使用静态配置日志路径的方式,打开promtail-config.yaml,修改如下配置

scrape_configs:
- job_name: localstatic_configs:- targets:- localhostlabels:job: 服务名__path__: /data/logs/日志路径/*log

配置Grafana

在Grafana中添加Loki数据源,如图填好Loki地址,测试通过后保存
在这里插入图片描述
在这里插入图片描述
通过Explore 查询日志:
在这里插入图片描述
通过Label filters,可以选择要查询的日志,通过文件名,还是通过任务名称。支持按时间范围查询和实时方式查看日志。

一些问题

在尝鲜过程中,也碰到了一些问题,自己新建的一个Eureka Demo始终不能在Grafana上查询到日志,没有对应的Job和filename;使用实时日志观察日志的时候,容易断掉,不显示日志;这两问题不知道什么原因,不过也不影响使用。


作者其他要推荐的文章,欢迎来学习:
Prometheus 系列文章

  1. Prometheus 的介绍和安装
  2. 直观感受PromQL及其数据类型
  3. PromQL之选择器和运算符
  4. PromQL之函数
  5. Prometheus 告警机制介绍及命令解读
  6. Prometheus 告警模块配置深度解析
  7. Prometheus 配置身份认证
  8. Prometheus 动态拉取监控服务
  9. Prometheus 监控云Mysql和自建Mysql

Grafana 系列文章,版本:OOS v9.3.1

  1. Grafana 的介绍和安装
  2. Grafana监控大屏配置参数介绍(一)
  3. Grafana监控大屏配置参数介绍(二)
  4. Grafana监控大屏可视化图表
  5. Grafana 查询数据和转换数据
  6. Grafana 告警模块介绍
  7. Grafana 告警接入飞书通知

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

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

相关文章

下午好~ 我的论文【遥感】(第一期)

写在前面&#xff1a;下午浑浑噩噩&#xff0c;泡杯茶&#xff0c;读篇论文吧 首先说明&#xff0c;时间有限没有那么精力一一回复了&#xff0c;对不起各位了TAT 文章目录 遥感Bi-Dilation-formerCNN-GNN-FusionMulti-hierarchical cross transformerCoupled CNNs 遥感 Bi-D…

NGINX日志配置参数

日志参数 参数说明示例$remote_addr客户端地址219.227.111.255$remote_user客户端用户名称—$time_local访问时间和时区14/Dec/202023:09:27:01 0800$time_iso8601访问时间2023-12-14T09:27:4508:00$request请求的URI和HTTP协议“GET /article-10000.html HTTP/1.1”$request…

Vue3 用 Proxy API 替代 defineProperty API 的那些事

一、Object.defineProperty 定义&#xff1a;Object.defineProperty() 方法会直接在一个对象上定义一个新属性&#xff0c;或者修改一个对象的现有属性&#xff0c;并返回此对象 1.1 为什么能实现响应式 通过defineProperty 两个属性&#xff0c;get及set get 属性的 gett…

电路中的屏蔽罩作用及设计

1.1 屏蔽罩作用 1.1.1 屏蔽电子信号,防止外界的干扰或内部向外的辐射&#xff1a; 一般见于通信类电路PCB&#xff0c;主要一个无线通信产品上有的敏感器件、模拟、数字电路、DCDC电源电路&#xff0c;都需屏蔽隔离&#xff0c;是为了不影响其它电路&#xff0c;也有防止其它电…

国际刑警组织推出新的生物识别系统

2023 年 11 月 29 日&#xff0c;国际刑警组织发布了一份有关创建生物识别工具的新闻稿&#xff0c;至少在意大利&#xff0c;该工具似乎已经陷入沉默&#xff0c;但让我们看看为什么我们会对这个东西感兴趣。 国际刑警组织的新闻稿用了整整一段时间来讨论与隐私相关的问题&am…

0x31 质数

0x31 质数 定义&#xff1a; 若一个正整数无法被除了1和它自身之外的任何自然数整除&#xff0c;则称该数为质数&#xff08;或素数&#xff09;&#xff0c;否则则称该正整数为合数。 在整个自然数集合中&#xff0c;质数的数量不多&#xff0c;分布比较稀疏&#xff0c;对…

【加解密】报文签名与加解密,MD5,RSA,AES使用案例(基于 Java)

需要考虑哪些问题&#xff1f; 在进行报文传输时&#xff0c;有两个问题需要考虑&#xff1a; 消息防篡改加密报文 定义消息结构 为了方便后面使用&#xff0c;这里定义消息结构&#xff1a; public static class Message {public String data; //消息public String sign;…

【Linux】Firewalld防火墙新增端口、开启、查看等

Linux操作系统中&#xff0c;Firewalld防火墙相关操作如下&#xff1a; 安装 yum install firewalld firewalld-configFirewall开启常见端口命令 新增端口&#xff1a; firewall-cmd --zonepublic --add-port80/tcp --permanentfirewall-cmd --zonepublic --add-port443/tc…

动态规划——OJ题(一)

&#x1f4d8;北尘_&#xff1a;个人主页 &#x1f30e;个人专栏:《Linux操作系统》《经典算法试题 》《C》 《数据结构与算法》 ☀️走在路上&#xff0c;不忘来时的初心 文章目录 一、第N个泰波那契数1、题目讲解2、思路讲解3、代码实现 二、三步问题1、题目讲解2、思路讲解…

Maven配置文件setings.xml详解依赖搜索顺序详解

Maven配置文件详解 文章目录 Maven配置文件详解一、settings.xml配置文件的作用二、settings.xml元素详解0.示例1.LocalRepository2.InteractiveMode3.UsePluginRegistry4.Offline5.PluginGroups6.Servers7.Mirrors8.Proxies9.Profiles10.Activation11.properties12.Repositori…

拖拽属性 draggable

H5 新增的属性 draggable&#xff0c;它能够给与一切的 html 元素拖动的效果。 拖拽元素 属性为 draggable"true" 的元素&#xff0c;可拖动&#xff0c;且拖动时鼠标变为禁用图标 ps: 直接写 draggable 可能无效 ondragstart 开始拖拽时触发&#xff08;按下鼠标…

ARM架构简析

全局与局量等知识 断电后&#xff0c;程序以及数据都在FLASH中。 断电后&#xff0c;内存中就没有变量了。 程序在烧在FLASH中的&#xff1b; 程序运行的时候&#xff0c;全局变量的初始值&#xff0c;必然是从FLAASH中的来的&#xff1a; 初始化全局变量的过程&#xff1a;…

【微服务】服务间调用

当我们的应用从一个大单体拆分成多个微服务之后&#xff0c;服务间调用有多少种方式&#xff1f;服务间调用如果出现超时&#xff0c;如果避免雪崩&#xff0c;即如何做限流熔断机制&#xff0c;原理是什么&#xff1f; 服务间调用方式 OpenFeign RestTemplate WebClient …

pytorch和pytorchvision安装

参考https://blog.csdn.net/2301_76863102/article/details/129369549 https://blog.csdn.net/weixin_43798572/article/details/123122477 查看我的版本 右键&#xff0c;nvivdia控制面板&#xff0c;帮助&#xff0c;系统信息 驱动程序版本号为528.49 更新很快的 CUDA版本…

大模型入门1: 指令微调

scaling law大模型评测指令微调 微调7B模型需要328G的显存(SGDMomentum)&#xff0c;至少需要2张A100的显卡才能满足 数据 格式 wget https://raw.githubusercontent.com/baichuan-inc/Baichuan2/main/fine-tune/data/belle_chat_ramdon_10k.json wget https://huggingface…

【C++】基于iomanip标准库的流对象格式化输出详解

一.iomanip标准库是什么&#xff1f;&#xff08;What is it&#xff09; 1.从名字上看&#xff1a;iomanip是 io-manipulator的简称&#xff0c;意思是输入输出操控器 2.从对象上看&#xff1a;io针对的是流对象的输入输出&#xff0c;包括常见的&#xff1a; - 标准输入输出…

cpp:1:10: fatal error: opencv2/core.hpp: 没有那个文件或目录

前言&#xff1a; 我按照官网方法安装了opencv&#xff0c;运行的也是官网的测试代码&#xff1a; #include <opencv2/core.hpp> #include <opencv2/highgui.hpp> using namespace cv; int main() {printf("hello world")return 0; } 半解决&#xff…

2023 年安徽省职业院校技能大赛信息安全管理与评估赛项竞赛规程

2023 年安徽省职业院校技能大赛&#xff08;高职组&#xff09; “信息安全管理与评估”赛项竞赛规程 一、赛项名称 赛项名称&#xff1a;信息安全管理与评估 英文名称&#xff1a;Information Security Management and Evaluation 赛项组别&#xff1a;高等职业教育 赛项…

k8s - container

1、容器的生命周期&#xff1a; (1) 简介&#xff1a; Kubernetes 会跟踪 Pod 中每个容器的状态&#xff0c;就像它跟踪 Pod 总体上的阶段一样。 可以使用容器生命周期回调&#xff0c;在容器生命周期中的特定状态点触发事件。 ● 容器生命周期回调&#xff1a; 在容器的生…

数据结构之<图>的介绍

图&#xff08;Graph&#xff09;的概念&#xff1a; 在数据结构中&#xff0c;图是由节点&#xff08;顶点&#xff09;和边组成的非线性数据结构。图用于表示不同对象之间的关系&#xff0c;其中节点表示对象&#xff0c;边表示对象之间的连接或关系。 1.图的基本组成元素&a…