windows环境下Grafana+loki+promtail入门级部署日志系统,收集Springboot(Slf4j+logback)项目日志

🌹作者主页:青花锁 🌹简介:Java领域优质创作者🏆、Java微服务架构公号作者😄

🌹简历模板、学习资料、面试题库、技术互助

🌹文末获取联系方式 📝

在这里插入图片描述


往期热门专栏回顾

专栏描述
Java项目实战介绍Java组件安装、使用;手写框架等
Aws服务器实战Aws Linux服务器上操作nginx、git、JDK、Vue
Java微服务实战Java 微服务实战,Spring Cloud Netflix套件、Spring Cloud Alibaba套件、Seata、gateway、shadingjdbc等实战操作
Java基础篇Java基础闲聊,已出HashMap、String、StringBuffer等源码分析,JVM分析,持续更新中
Springboot篇从创建Springboot项目,到加载数据库、静态资源、输出RestFul接口、跨越问题解决到统一返回、全局异常处理、Swagger文档
Spring MVC篇从创建Spring MVC项目,到加载数据库、静态资源、输出RestFul接口、跨越问题解决到统一返回
华为云服务器实战华为云Linux服务器上操作nginx、git、JDK、Vue等,以及使用宝塔运维操作添加Html网页、部署Springboot项目/Vue项目等
Java爬虫通过Java+Selenium+GoogleWebDriver 模拟真人网页操作爬取花瓣网图片、bing搜索图片等
Vue实战讲解Vue3的安装、环境配置,基本语法、循环语句、生命周期、路由设置、组件、axios交互、Element-ui的使用等
Spring讲解Spring(Bean)概念、IOC、AOP、集成jdbcTemplate/redis/事务等

前言

新的项目开工,采用Springboot(Slf4j+logback)搭建项目,项目有很多模块,后续需要采用微服务架构。因此日志系统也需要分布式日志系统,而不是进入堡垒机输入命令查看日志这种传统的方式。

新项目不像淘宝、京东、抖音这些体量特别大,因此我们直接弃掉ELK(项目用不到es,ELK反而太显笨重)。研究几个日志系统之后,看到一款日志系统loki 眼前一亮,Loki 是 Grafana Labs 团队最新的开源项目,是一个水平可扩展,高可用性,多租户的日志聚合系统。其所属Grafana Labs团队,还维护有一款著名监控仪表系统 Grafana。

今天给大家演示如何在windows环境下部署Grafana+loki+promtail日志系统,实现Springboot(Slf4j+logback)项目的日志收集,在Grafana Web界面上就能看到我们项目的日志。

效果如下:
在这里插入图片描述


1、搭建项目

搭建一个Springboot(Slf4j+logback)项目,配置日志文件logback.xml。
在 D://soft/grafana-9.0.6/testlogs文件夹下生成文件,文件名log.log。

在这里插入图片描述

<?xml version='1.0' encoding='UTF-8'?>
<!--日志配置-->
<configuration><!--直接定义属性--><property name="logFile" value="D://soft/grafana-9.0.6/testlogs/log"/><property name="maxFileSize" value="30MB"/><!--控制台日志--><appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"><encoder><pattern>%d [%thread] %-5level %logger{50} -[%file:%line]- %msg%n</pattern><charset>UTF-8</charset></encoder></appender><!--滚动文件日志--><appender name="fileLog" class="ch.qos.logback.core.rolling.RollingFileAppender"><file>${logFile}.log</file><encoder><!--日志输出格式--><pattern>%d [%thread] %-5level -[%file:%line]- %msg%n</pattern><charset>UTF-8</charset></encoder><rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"><fileNamePattern>${logFile}.%d{yyyy-MM-dd}.%i.log</fileNamePattern><maxFileSize>${maxFileSize}</maxFileSize></rollingPolicy></appender><!--创建一个具体的日志输出--><logger name="com.qinghuasuo" level="info" additivity="true"><!--可以有多个appender-ref,即将日志记录到不同的位置--><appender-ref ref="STDOUT"/><appender-ref ref="fileLog"/></logger><!--基础的日志输出--><root level="info"></root>
</configuration>

2、安装Grafana+loki+promtail

安装Grafana+loki+promtail,搭建日志系统。

2.1、安装Grafana

2.1.1、下载

下载地址:https://grafana.com/grafana/download?platform=windows
在这里插入图片描述

2.1.2、解压

下载grafana-enterprise-9.0.6.windows-amd64.zip安装包即可,并解压到 D:\soft\grafana-9.0.6
在这里插入图片描述

2.1.3、启动

进入\bin目录,双击grafana-server.exe启动在这里插入图片描述

2.1.4、访问系统

启动成功之后,http://localhost:3000
初始登录账户:admin/admin
在这里插入图片描述


2.2、安装loki

2.2.1、下载

下载地址:https://github.com/grafana/loki/releases
在这里插入图片描述

2.2.2、解压

下载loki-windows-amd64.exe.zip安装包,并进行解压到D:\soft\loki,解压得到loki-windows-amd64.exe
在这里插入图片描述
在这里插入图片描述

2.2.3、配置

在D:\soft\loki目录下添加loki-local-config.yaml文件,内容如下(其中的路径地址,已修改成Windows路径,需要注意修改为自己服务器的路径):

auth_enabled: falseserver:http_listen_port: 3100grpc_listen_port: 9096 # 通信端口ingester:lifecycler:address: 127.0.0.1ring:kvstore:store: inmemoryreplication_factor: 1final_sleep: 0schunk_idle_period: 5mchunk_retain_period: 30smax_transfer_retries: 0max_chunk_age: 20m  #一个timeseries快在内存中的最大持续时间。schema_config:configs:- from: 2022-08-06store: boltdbobject_store: filesystemschema: v11index:prefix: index_period: 672h #每张表的时间范围28天storage_config:boltdb:directory: D://tmp/loki/index # 索引文件存储地址filesystem:directory: D://tmp/loki/chunks # 块存储地址limits_config:enforce_metric_name: falsereject_old_samples: truechunk_store_config:max_look_back_period: 24h # 最大可查询历史日期 28天,这个时间必须是schema_config中的period的倍数,否则报错。table_manager: # 配置保留多少天的数据,那么之前数据会被清除,Loki中默认保留所有数据retention_deletes_enabled: trueretention_period: 24h

2.2.4、配置

打开cmd定位到D:\soft\loki目录,执行命令:.\loki-windows-amd64.exe --config.file=loki-local-config.yaml,loki服务启动成功。
在这里插入图片描述


2.3、安装promtail

2.3.1、下载

下载地址:https://github.com/grafana/loki/releases
这里选择v2.8.10下的Assets下载promtail-windows-amd64.exe.zip,最新版本没有promtail-windows。
在这里插入图片描述
在这里插入图片描述

2.3.2、解压

下载promtail-windows-amd64.exe.zip安装包,并解压到D:\soft\loki目录,得到promtail-windows-amd64.exe
在这里插入图片描述

2.3.3、配置

在D:\soft\loki目录下添加promtail-local-config.yaml文件,内容如下(使用promtail去推送Springboot项目产生的日志文件,这里使用监控文件夹的形式(文件夹+文件通配)):

server:http_listen_port: 9080grpc_listen_port: 0
positions:filename: D:\soft\loki\positions.yamlclients:- url: http://localhost:3100/loki/api/v1/pushbatchwait: 10sbatchsize: 40960000
scrape_configs:- job_name: systemstatic_configs:- targets:- localhostlabels:job: viplogshost: localhost__path__: D:\soft\grafana-9.0.6\testlogs\*.log

2.3.4、启动

打开cmd定位到D:\soft\loki目录,执行命令: .\promtail-windows-amd64.exe --config.file=promtail-local-config.yaml,promtail服务启动成功。


3、使用Grafana+loki+promtail查看日志

3.1、登录grafana后在Data sources -> Add data source选择loki

在这里插入图片描述
在这里插入图片描述

3.2、配置信息

填写上loki的地址在这里插入图片描述

3.3、选择Explore

去执行loki的日志查询
在这里插入图片描述

3.4、查询日志

在这里插入图片描述
在这里插入图片描述


总结

从结果来看Grafana+loki+promtail搭建的日志系统,可以满足我们的需求,采集到Springboot(Slf4j+logback)项目日志,并且可以在WebUI上操作、查看这些日志。

从过程看,Grafana+loki+promtail搭建日志系统,入门级部署是非常容易的,比部署ELK要简单很多。

喜欢的小伙伴们,可以给个关注和点赞。我这里还有其他Java专栏,云原生、数据库、前端、运维等知识点分享。


资料获取,更多粉丝福利,关注下方公众号获取

在这里插入图片描述

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

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

相关文章

动态规划DP之背包问题4---分组背包问题

目录 DP分析&#xff1a; 例题&#xff1a; 01背包&#xff1a; 一种物品只有一件 动态规划DP之背包问题1---01背包问题-CSDN博客 完全背包&#xff1a;一种物品有无限件 动态规划DP之背包问题2---完全背包问题-CSDN博客 多重背包&#xff1a;一种物品有有限…

【三维重建】【SLAM】SplaTAM:基于3D高斯的密集RGB-D SLAM(CVPR 2024)

题目&#xff1a;SplaTAM: Splat, Track & Map 3D Gaussians for Dense RGB-D SLAM 地址&#xff1a;spla-tam.github.io 机构&#xff1a;CMU&#xff08;卡内基梅隆大学&#xff09;、MIT&#xff08;美国麻省理工&#xff09; 总结&#xff1a;SplaTAM&#xff0c;一个新…

十个勤天生菜原价4.9元被炒到300元,2024新商机!新兴创业项目!

近日&#xff0c;一则关于生菜价格暴涨的新闻引起了广泛关注。原价4.9元的生菜&#xff0c;在短短时间内被炒至300元&#xff0c;令人咋舌。在这背后&#xff0c;除了市场供需失衡、炒作等因素外&#xff0c;我们不禁思考&#xff1a;这样的现象背后是否隐藏着更大的商机&#…

LaTeX插入图片占位符

关于插入图片更多说明&#xff08;多图并排、子标题设置等&#xff09;可参考链接 LaTeX插入图片 插入图片占位符 参考链接&#xff1a;https://blog.csdn.net/yq_forever/article/details/129431799 在论文草稿阶段有的时候想先插入图片占位符拟定大纲或写作思路&#xff0…

张宇30讲学习笔记

初等数学 x \sqrt{x} x ​是算数平方根&#xff0c;一定≥0&#xff1b; x 2 \sqrt{x^2} x2 ​|x| x2|x2||x|2 x3≠|x3||x|3 不等式 a>0&#xff0c;b>0&#xff0c;则ab≥2 a b \sqrt{ab} ab ​ 对数 ln a b \frac{a}{b} ba​lna-lnb 高等数学 单调性 线性代数

Linux CentOS使用Docker部署Apache Superset并实现远程分析数据

文章目录 前言1. 使用Docker部署Apache Superset1.1 第一步安装docker 、docker compose1.2 克隆superset代码到本地并使用docker compose启动 2. 安装cpolar内网穿透&#xff0c;实现公网访问3. 设置固定连接公网地址 前言 Superset是一款由中国知名科技公司开源的“现代化的…

自动化构建平台(一)Linux下搭建私有代码仓库Gitblit的安装和使用详解

文章目录 前言一、Gitblit的安装和使用1、本地安装2、docker下安装3、Gitblit使用简介4、Gitblit仓库权限控制5、Gitblit邮件配置 总结 前言 代码版本管理&#xff0c;git模式应该是目前最流行的代码管理软件。目前支持git的管理软件有很多。 Gitblit是一个小型的代码仓库管理…

《GitHub新手入门指南:从零开始掌握基本用法》

在现代软件开发和技术社区中,GitHub已经成为了一个不可或缺的平台。它不仅是一个代码托管平台,更是一个技术交流、学习分享的社交平台。但对于初学者来说,GitHub可能会有些令人望而却步。本文将详细介绍GitHub的基本用法,帮助新手快速入门并融入这个充满活力的技术社区。 …

Qt/C++音视频开发67-保存裸流加入sps/pps信息/支持264/265裸流/转码保存/拉流推流

一、前言 音视频组件除了支持保存MP4文件外&#xff0c;同时还支持保存裸流即264/265文件&#xff0c;以及解码后最原始的yuv文件。在实际使用过程中&#xff0c;会发现部分视频文件保存的裸流文件&#xff0c;并不能直接用播放器播放&#xff0c;查阅资料得知原来是缺少sps/p…

GitHub登不上:修改hosts文件来解决(GitHub520,window)

参考链接&#xff1a;GitHub520: 本项目无需安装任何程序&#xff0c;通过修改本地 hosts 文件&#xff0c;试图解决&#xff1a; GitHub 访问速度慢的问题 GitHub 项目中的图片显示不出的问题 花 5 分钟时间&#xff0c;让你"爱"上 GitHub。 (gitee.com) GitHub网站…

【Redis】Redis 实现分布式Session

Cookie 保存在客户端浏览器中&#xff0c;而 Session 保存在服务器上。客户端浏览器访问服务器的时候&#xff0c;服务器把客户端信息以某种形式记录在服务器上&#xff0c;这就是 Session。客户端浏览器再次访问时只需要从该 Session 中查找该客户的状态就可以了。 在实际工作…

leetcode 移除链表元素

本题中&#xff0c;我们是要移除链表的某一个节点&#xff0c;为了确保统一操作&#xff0c;我们需要使用虚拟头节点&#xff0c;这样我们删除节点的时候&#xff0c;就是把这个要删除的节点&#xff08;当前节点cur&#xff09;的前一个节点pre&#xff0c;使得pre.next指向要…

RabbitMQ相关问题

Mybatis框架相关问题 RabbitMQ相关问题 一、RabbitMQ的核心组件和工作原理&#xff1f;二、如何保证消息可靠投递不丢失的&#xff1f;三、RabbitMQ如何保证消息的幂等性&#xff1f;四、什么是死信队列&#xff1f;死信队列是如何导致的&#xff1f;五、RabbitMQ死信队列是如…

回溯 Leetcode 332 重新安排行程

重新安排行程 Leetcode 332 学习记录自代码随想录 给你一份航线列表 tickets &#xff0c;其中 tickets[i] [fromi, toi] 表示飞机出发和降落的机场地点。请你对该行程进行重新规划排序。 所有这些机票都属于一个从 JFK&#xff08;肯尼迪国际机场&#xff09;出发的先生&a…

【Datawhale组队学习:Sora原理与技术实战】Attention

Attention Attention 注意力&#xff0c;从两个不同的主体开始。 论文&#xff1a;https://arxiv.org/pdf/1703.03906.pdf seq2seq代码仓&#xff1a;https://github.com/google/seq2seq 计算方法&#xff1a; 加性Attention&#xff0c;如&#xff08;Bahdanau attention&…

【工商业储能如何选】Acrel工商业储能系统解决方案

市场前景 碳中和&#xff1a;全球应对气候危机重建人与自然和谐关系的共同目标 清洁替代&#xff1a;清洁能源替代化石能源是全球实现碳中和的唯一路径 能量存储&#xff1a;储能技术是解决大比例清洁能源时空分布不平衡的最佳方案 应用场景 随着“双碳”目标下的新型电力…

Python+Selenium使用Page Object实现页面自动化测试

Page Object模式是Selenium中的一种测试设计模式&#xff0c;主要是将每一个页面设计为一个Class&#xff0c;其中包含页面中需要测试的元素&#xff08;按钮&#xff0c;输入框&#xff0c;标题 等&#xff09;&#xff0c;这样在Selenium测试页面中可以通过调用页面类来获取页…

记一次:android学习笔记一(学习目录-不要看无内容)

学习目录如下 B站学习的名称--Android开发从入门到精通(项目案例版) 网址:https://www.bilibili.com/video/BV1jW411375J/ 第0章:安装 android stoid 参考地址https://blog.csdn.net/adminstate/article/details/130542368 第一章:第一个安卓应用 第二章:用户界面设…

OpenCV 4基础篇| OpenCV图像的拆分和合并

目录 1. 通道拆分1.1 cv2.split1.1.1 语法结构1.1.2 注意事项1.1.3 代码示例 1.2 NumPy切片1.2.1 代码示例 2. 通道合并2.1 cv2.merge2.1.1 语法结构2.1.2 注意事项2.1.3 代码示例 1. 通道拆分 1.1 cv2.split 1.1.1 语法结构 b,g,r cv2.split(img[, mv]) #图像拆分为 BGR 通…

【开发工具】GIF 录屏工具推荐 ( GIF123 - 推荐使用 | GifCam | LICEcap )

文章目录 一、GIF 录屏工具推荐1、GIF123 ( 推荐使用 )2、GifCam3、LICEcap 本博客中介绍的 3 款 GIF 录屏工具下载地址 : https://download.csdn.net/download/han1202012/88905642 也可以到对应的官网独立下载 : GIF123 : https://gif123.aardio.com/ ;GifCam : https://bl…