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.pswp.cn/news/718877.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/718877.shtml
英文地址,請注明出處:http://en.pswp.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;這樣的現象背后是否隱藏著更大的商機&#…

怎么更改淘寶開店時間

更改淘寶開店時間的注意事項與建議 在淘寶上開店&#xff0c;對于許多賣家來說&#xff0c;選擇合適的開店時間是非常重要的。本文將為您介紹如何更改淘寶開店時間&#xff0c;以及在更改過程中需要注意的事項和建議。 一、如何更改淘寶開店時間 在淘寶上更改開店時間相對簡…

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是一款由中國知名科技公司開源的“現代化的…

WordPress排除調用某個分類下的文章

wordpress在調用分類下文章時&#xff0c;有時需要排除調用某個分類的文章&#xff0c;下面的這段代碼&#xff0c;就可以輕松實現不調用特定ID的分類內容。 <?phpquery_posts("showposts10&cat-1"); //cat-1為排除ID為1的分類下文章while(have_posts()) : …

編譯適用于RK3588的Redroid鏡像

編譯適用于RK3588的Redroid鏡像 不想編譯的話可以用筆者的鏡像&#xff1a; GitHub鏈接 引言 Redroid是什么&#xff0c;不想多說&#xff0c;一個詞總結: 云手機 準備工作 AOSP代碼一堆&#xff0c;編譯起來要命&#xff0c;所以租個高配服務器&#xff0c;筆者用的是Vul…

自動化構建平臺(一)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…

OpenDocCN 20240303 更新

GeekDoc Python 譯文集 PythonBasics 中文系列教程PythonGuru 中文系列教程PythonLand 中文系列教程PythonSpot 中文系列教程 GeekDoc Java 譯文集 Effective Java 中文第三版JavaBeginnersTutorial 中文系列教程JavaTutorialNetwork 中文系列教程Java 8 簡明教程Thinking i…

【寸鐵的刷題筆記】樹、回溯、圖論、bfs、dfs(四)

【寸鐵的刷題筆記】樹、回溯、圖論、bfs、dfs(四) 大家好 我是寸鐵&#x1f44a; 金三銀四&#xff0c;圖論基礎、回溯結合bfs、dfs是必考的知識點? 快跟著寸鐵刷起來&#xff01;面試順利上岸&#x1f44b; 喜歡的小伙伴可以點點關注 &#x1f49d; &#x1f31e;詳見如下專欄…

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 中查找該客戶的狀態就可以了。 在實際工作…

mybatis plus 根據要求構建sql wrapper

文章目錄 要求: 構建sql wrapper錯誤寫法解決方案 要求: 構建sql wrapper 根據要求構建sql wrapper&#xff1a;dto.getProjectId() null&#xff0c;則 where project_id is nulldto.getProjectId() ! null&#xff0c;則 where project_id 58b1fad6-adaa-4834-8337-8d43834…

leetcode 移除鏈表元素

本題中&#xff0c;我們是要移除鏈表的某一個節點&#xff0c;為了確保統一操作&#xff0c;我們需要使用虛擬頭節點&#xff0c;這樣我們刪除節點的時候&#xff0c;就是把這個要刪除的節點&#xff08;當前節點cur&#xff09;的前一個節點pre&#xff0c;使得pre.next指向要…

RabbitMQ相關問題

Mybatis框架相關問題 RabbitMQ相關問題 一、RabbitMQ的核心組件和工作原理&#xff1f;二、如何保證消息可靠投遞不丟失的&#xff1f;三、RabbitMQ如何保證消息的冪等性&#xff1f;四、什么是死信隊列&#xff1f;死信隊列是如何導致的&#xff1f;五、RabbitMQ死信隊列是如…

面向對象知識點--全學習內容(day20)階段測試題見資料

面向對象 一、初識面向對象 見文件資料的面向對象.md 全內容梳理 類與實體概念 現實生活&#xff1a; ? 類&#xff1a;抽象的概念&#xff0c;把具有相同特征和操作的事物歸為一類 ? 先有實體&#xff0c;再有類的概念 代碼世界&#xff1a; ? 類&#xff1a;抽象的概念&a…