广州商城网站建设地址,网站如何建设与安全管理制度,老网站改版,不想网站备案如何办#x1f339;作者主页#xff1a;青花锁 #x1f339;简介#xff1a;Java领域优质创作者#x1f3c6;、Java微服务架构公号作者#x1f604; #x1f339;简历模板、学习资料、面试题库、技术互助 #x1f339;文末获取联系方式 #x1f4dd; 往期热门专栏回顾
专栏… 作者主页青花锁 简介Java领域优质创作者、Java微服务架构公号作者 简历模板、学习资料、面试题库、技术互助 文末获取联系方式 往期热门专栏回顾
专栏描述Java项目实战介绍Java组件安装、使用手写框架等Aws服务器实战Aws Linux服务器上操作nginx、git、JDK、VueJava微服务实战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爬虫通过JavaSeleniumGoogleWebDriver 模拟真人网页操作爬取花瓣网图片、bing搜索图片等 Vue实战讲解Vue3的安装、环境配置基本语法、循环语句、生命周期、路由设置、组件、axios交互、Element-ui的使用等 Spring讲解Spring(Bean)概念、IOC、AOP、集成jdbcTemplate/redis/事务等 前言
新的项目开工采用Springboot(Slf4jlogback)搭建项目项目有很多模块后续需要采用微服务架构。因此日志系统也需要分布式日志系统而不是进入堡垒机输入命令查看日志这种传统的方式。
新项目不像淘宝、京东、抖音这些体量特别大因此我们直接弃掉ELK项目用不到esELK反而太显笨重。研究几个日志系统之后看到一款日志系统loki 眼前一亮Loki 是 Grafana Labs 团队最新的开源项目是一个水平可扩展高可用性多租户的日志聚合系统。其所属Grafana Labs团队还维护有一款著名监控仪表系统 Grafana。
今天给大家演示如何在windows环境下部署Grafanalokipromtail日志系统实现Springboot(Slf4jlogback)项目的日志收集在Grafana Web界面上就能看到我们项目的日志。
效果如下 1、搭建项目
搭建一个Springboot(Slf4jlogback)项目配置日志文件logback.xml。 在 D://soft/grafana-9.0.6/testlogs文件夹下生成文件文件名log.log。 ?xml version1.0 encodingUTF-8?
!--日志配置--
configuration!--直接定义属性--property namelogFile valueD://soft/grafana-9.0.6/testlogs/log/property namemaxFileSize value30MB/!--控制台日志--appender nameSTDOUT classch.qos.logback.core.ConsoleAppenderencoderpattern%d [%thread] %-5level %logger{50} -[%file:%line]- %msg%n/patterncharsetUTF-8/charset/encoder/appender!--滚动文件日志--appender namefileLog classch.qos.logback.core.rolling.RollingFileAppenderfile${logFile}.log/fileencoder!--日志输出格式--pattern%d [%thread] %-5level -[%file:%line]- %msg%n/patterncharsetUTF-8/charset/encoderrollingPolicy classch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicyfileNamePattern${logFile}.%d{yyyy-MM-dd}.%i.log/fileNamePatternmaxFileSize${maxFileSize}/maxFileSize/rollingPolicy/appender!--创建一个具体的日志输出--logger namecom.qinghuasuo levelinfo additivitytrue!--可以有多个appender-ref即将日志记录到不同的位置--appender-ref refSTDOUT/appender-ref reffileLog//logger!--基础的日志输出--root levelinfo/root
/configuration2、安装Grafanalokipromtail
安装Grafanalokipromtail搭建日志系统。
2.1、安装Grafana
2.1.1、下载
下载地址https://grafana.com/grafana/download?platformwindows
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: 24h2.2.4、配置
打开cmd定位到D:\soft\loki目录执行命令.\loki-windows-amd64.exe --config.fileloki-local-config.yamlloki服务启动成功。 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\*.log2.3.4、启动
打开cmd定位到D:\soft\loki目录执行命令 .\promtail-windows-amd64.exe --config.filepromtail-local-config.yamlpromtail服务启动成功。 3、使用Grafanalokipromtail查看日志
3.1、登录grafana后在Data sources - Add data source选择loki 3.2、配置信息
填写上loki的地址
3.3、选择Explore
去执行loki的日志查询
3.4、查询日志 总结
从结果来看Grafanalokipromtail搭建的日志系统可以满足我们的需求采集到Springboot(Slf4jlogback)项目日志并且可以在WebUI上操作、查看这些日志。
从过程看Grafanalokipromtail搭建日志系统入门级部署是非常容易的比部署ELK要简单很多。
喜欢的小伙伴们可以给个关注和点赞。我这里还有其他Java专栏云原生、数据库、前端、运维等知识点分享。 资料获取更多粉丝福利关注下方公众号获取