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

本文主要是介绍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专栏,云原生、数据库、前端、运维等知识点分享。


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

在这里插入图片描述

这篇关于windows环境下Grafana+loki+promtail入门级部署日志系统,收集Springboot(Slf4j+logback)项目日志的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/773580

相关文章

Spring Boot循环依赖原理、解决方案与最佳实践(全解析)

《SpringBoot循环依赖原理、解决方案与最佳实践(全解析)》循环依赖指两个或多个Bean相互直接或间接引用,形成闭环依赖关系,:本文主要介绍SpringBoot循环依赖原理、解决方案与最... 目录一、循环依赖的本质与危害1.1 什么是循环依赖?1.2 核心危害二、Spring的三级缓存机制2.1 三

在Spring Boot中浅尝内存泄漏的实战记录

《在SpringBoot中浅尝内存泄漏的实战记录》本文给大家分享在SpringBoot中浅尝内存泄漏的实战记录,结合实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录使用静态集合持有对象引用,阻止GC回收关键点:可执行代码:验证:1,运行程序(启动时添加JVM参数限制堆大小):2,访问 htt

SpringBoot集成Milvus实现数据增删改查功能

《SpringBoot集成Milvus实现数据增删改查功能》milvus支持的语言比较多,支持python,Java,Go,node等开发语言,本文主要介绍如何使用Java语言,采用springboo... 目录1、Milvus基本概念2、添加maven依赖3、配置yml文件4、创建MilvusClient

浅析Java中如何优雅地处理null值

《浅析Java中如何优雅地处理null值》这篇文章主要为大家详细介绍了如何结合Lambda表达式和Optional,让Java更优雅地处理null值,感兴趣的小伙伴可以跟随小编一起学习一下... 目录场景 1:不为 null 则执行场景 2:不为 null 则返回,为 null 则返回特定值或抛出异常场景

python logging模块详解及其日志定时清理方式

《pythonlogging模块详解及其日志定时清理方式》:本文主要介绍pythonlogging模块详解及其日志定时清理方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录python logging模块及日志定时清理1.创建logger对象2.logging.basicCo

Python如何自动生成环境依赖包requirements

《Python如何自动生成环境依赖包requirements》:本文主要介绍Python如何自动生成环境依赖包requirements问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录生成当前 python 环境 安装的所有依赖包1、命令2、常见问题只生成当前 项目 的所有依赖包1、

Node.js 数据库 CRUD 项目示例详解(完美解决方案)

《Node.js数据库CRUD项目示例详解(完美解决方案)》:本文主要介绍Node.js数据库CRUD项目示例详解(完美解决方案),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考... 目录项目结构1. 初始化项目2. 配置数据库连接 (config/db.js)3. 创建模型 (models/

SpringMVC获取请求参数的方法

《SpringMVC获取请求参数的方法》:本文主要介绍SpringMVC获取请求参数的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下... 目录1、通过ServletAPI获取2、通过控制器方法的形参获取请求参数3、@RequestParam4、@

SpringBoot应用中出现的Full GC问题的场景与解决

《SpringBoot应用中出现的FullGC问题的场景与解决》这篇文章主要为大家详细介绍了SpringBoot应用中出现的FullGC问题的场景与解决方法,文中的示例代码讲解详细,感兴趣的小伙伴可... 目录Full GC的原理与触发条件原理触发条件对Spring Boot应用的影响示例代码优化建议结论F

springboot项目中常用的工具类和api详解

《springboot项目中常用的工具类和api详解》在SpringBoot项目中,开发者通常会依赖一些工具类和API来简化开发、提高效率,以下是一些常用的工具类及其典型应用场景,涵盖Spring原生... 目录1. Spring Framework 自带工具类(1) StringUtils(2) Coll