那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

SpringBoot接入輕量級分布式日志框架GrayLog

jf_ro2CN3Fa ? 來源:CSDN ? 作者:CSDN ? 2022-10-27 10:29 ? 次閱讀


在微服務架構中,一個服務通常都會有多個實例,而這些服務實例可能會被部署到不同的機器或虛擬容器上。此時對于日志數據的查看和分析就會變得困難起來,因為這些服務的日志數據都散落在各自實例所在的機器或容器上。例如,我現在要在訂單服務里查找一個訂單id為1的日志,而訂單服務有10個實例并且部署在10臺不同的機器上,那么我就得一臺臺的去找這個日志數據。所以這時候我們就需要有一個可以實現日志聚合的工具,將所有實例的日志數據都聚合在一個地方,那么我們就不需要到每個實例去找日志了,而本文將使用的日志聚合工具為Graylog

部署Graylog

老樣子,直接上docker-compose,如果一直跟著我的步伐,應該對著不陌生了。docker-compose.yml 的內容其實我也是抄官網的,這里還是貼下吧(就不用你們翻了)

version:'3'
services:
mongo:
image:mongo:4.2
networks:
-graylog
elasticsearch:
image:docker.elastic.co/elasticsearch/elasticsearch-oss:7.10.2
environment:
-http.host=0.0.0.0
-transport.host=localhost
-network.host=0.0.0.0
-"ES_JAVA_OPTS=-Dlog4j2.formatMsgNoLookups=true-Xms512m-Xmx512m"
ulimits:
memlock:
soft:-1
hard:-1
deploy:
resources:
limits:
memory:1g
networks:
-graylog
graylog:
image:graylog/graylog:4.2
environment:
-GRAYLOG_PASSWORD_SECRET=somepasswordpepper
-GRAYLOG_ROOT_PASSWORD_SHA2=8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918
-GRAYLOG_HTTP_EXTERNAL_URI=http://ip:9009/#這里注意要改ip
entrypoint:/usr/bin/tini--wait-for-itelasticsearch:9200--/docker-entrypoint.sh
networks:
-graylog
restart:always
depends_on:
-mongo
-elasticsearch
ports:
-9009:9000
-1514:1514
-1514:1514/udp
-12201:12201
-12201:12201/udp
networks:
graylog:
driver:bridg

這個文件里唯一需要改動的就是 ip (本來的端口是 9000 的,我由于已經占用了 9000 端口了,所以我這里把端口改成了 9009 ,你們可以隨意)

嗯,寫完 docker-compose.yml 文件,直接 docker-compose up -d 它就啟動起來咯。

啟動以后,我們就可以通過 ip:port 訪問對應的Graylog后臺地址了,默認的賬號和密碼是 admin/admin

c21aeee2-559e-11ed-a3b6-dac502259ad0.jpg

隨后,我們配置下 inputs 的配置,找到 GELF UDP ,然后點擊 Launch new input ,只需要填寫 Title 字段,保存就完事了(其他不用動)。

c24bf01e-559e-11ed-a3b6-dac502259ad0.jpg

基于 Spring Boot + MyBatis Plus + Vue & Element 實現的后臺管理系統 + 用戶小程序,支持 RBAC 動態權限、多租戶、數據權限、工作流、三方登錄、支付、短信、商城等功能

  • 項目地址:https://gitee.com/zhijiantianya/ruoyi-vue-pro
  • 視頻教程:https://doc.iocoder.cn/video/

Spring Boot 集成GrayLog

首先創建一個SpringBoot項目,SpringBoot默認自帶的日志框架是Logback,我們可以到 Graylog組件市場查找Logback相應的組件。

添加依賴如下:

<dependency>
<groupId>de.siegmargroupId>
<artifactId>logback-gelfartifactId>
<version>3.0.0version>
dependency>

接著在項目的resources目錄下,新建一個logback.xml文件,編輯文件內容如下:

<appendername="GELF"class="de.siegmar.logbackgelf.GelfUdpAppender">

<graylogHost>ipgraylogHost>

<graylogPort>12201graylogPort>

<maxChunkSize>508maxChunkSize>

<useCompression>trueuseCompression>
<encoderclass="de.siegmar.logbackgelf.GelfEncoder">

<includeRawMessage>falseincludeRawMessage>
<includeMarker>trueincludeMarker>
<includeMdcData>trueincludeMdcData>
<includeCallerData>falseincludeCallerData>
<includeRootCauseData>falseincludeRootCauseData>

<includeLevelName>trueincludeLevelName>
<shortPatternLayoutclass="ch.qos.logback.classic.PatternLayout">
<pattern>%m%nopexpattern>
shortPatternLayout>
<fullPatternLayoutclass="ch.qos.logback.classic.PatternLayout">
<pattern>%d-[%thread]%-5level%logger{35}-%msg%npattern>
fullPatternLayout>


<staticField>app_name:austinstaticField>
encoder>
appender>

在這個配置信息里,唯一要改的也只是 ip 的地址,到這里接入就完畢了,我們再打開控制臺,就能看到日志的信息啦。

c25d5674-559e-11ed-a3b6-dac502259ad0.jpg

配置完成后啟動項目,啟動完成后正常情況下可以在Graylog的Search界面中查看日志信息:

c2734b32-559e-11ed-a3b6-dac502259ad0.jpg

點擊一條日志信息會展開詳細的字段:

c29f074a-559e-11ed-a3b6-dac502259ad0.jpg

以上是最簡單的日志配置,如果希望對更多配置項進行自定義的話,可以參考該組件的GitHub文檔,上面有具體的配置項說明

現在我們已經成功將項目的日志數據發送到了Graylog服務,如果我們想在Graylog上檢索日志也很簡單,只需要使用一些簡單的語法即可,例如我要查詢包含Mapping的日志信息:

c2be869c-559e-11ed-a3b6-dac502259ad0.jpg

還可以使用一些條件表達式,例如我要查詢message字段包含http,并且日志級別為INFO的日志信息:

c2df12f4-559e-11ed-a3b6-dac502259ad0.jpg

常用的日志搜索語法如下:

  • 模糊查詢:直接輸入要查詢的內容,例如:orderid
  • 精確查詢:要查詢的內容加上引號,例如:"orderid: 11"
  • 指定字段查詢:message:http 或 message:"http"
  • 多字段查詢:message:(base-service base-web)
  • 多條件查詢:message:http AND level_name:ERROR OR source:192.168.0.4

審核編輯 :李倩


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 框架
    +關注

    關注

    0

    文章

    403

    瀏覽量

    17543
  • spring
    +關注

    關注

    0

    文章

    340

    瀏覽量

    14392
  • 日志
    +關注

    關注

    0

    文章

    139

    瀏覽量

    10679
  • SpringBoot
    +關注

    關注

    0

    文章

    174

    瀏覽量

    201

原文標題:SpringBoot接入輕量級分布式日志框架GrayLog

文章出處:【微信號:芋道源碼,微信公眾號:芋道源碼】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    分布式日志追蹤ID實戰

    作者:京東物流 張小龍 本文通過介紹分布式應用下各個場景的全局日志ID透傳思路,以及介紹分布式日志追蹤ID簡單實現原理和實戰效果,從而達到通過提高
    的頭像 發表于 01-20 10:16 ?320次閱讀

    分布式云化數據庫有哪些類型

    分布式云化數據庫有哪些類型?分布式云化數據庫主要類型包括:關系型分布式數據庫、非關系型分布式數據庫、新SQL分布式數據庫、以列方式存儲數據、
    的頭像 發表于 01-15 09:43 ?111次閱讀

    分布式光伏發電系統的應用

    分布式光伏發電系統現狀? Q/GDW1480-2015 《分布式電源接入電網技術規定》:分布式電源并網電壓等級可根據各并網點裝機容量進行初步選擇,推薦如下: 8kW 及以下可
    的頭像 發表于 11-21 16:31 ?274次閱讀
    <b class='flag-5'>分布式</b>光伏發電系統的應用

    分布式光伏為企業帶來哪些便捷!

    發改能源〔2022〕206號文件指出:“在農村地區優先支持屋頂分布式光伏發電以及沼氣發電等生物質能發電接入電網,電網企業等應當優先收購其發電量。” 《國家能源局綜合司關于報送整縣(市、區)屋頂分布式
    的頭像 發表于 11-18 15:34 ?457次閱讀
    <b class='flag-5'>分布式</b>光伏為企業帶來哪些便捷!

    分布式光纖測溫解決方案

    分布式光纖測溫解決方案
    的頭像 發表于 11-12 01:02 ?228次閱讀
    <b class='flag-5'>分布式</b>光纖測溫解決方案

    輕量級多級菜單控制框架

    輕量級菜單框架(C語言) 作為嵌入軟件開發,可能經常會使用命令行或者顯示屏等設備實現人機交互的功能,功能中通常情況都包含 UI 菜單設計;很多開發人員都會有自己的菜單框架模塊,防止重
    發表于 10-12 09:36

    屋頂分布式光伏并網點如何監測電能質量

    分布式光伏參考標準: 安科瑞 鄒玉麗 136-3648-3643 根據國家電網Q/GDW1480-2015 《分布式電源接入電網技術規定》:分布式電源并網電壓等級可根據各 并網點裝機容
    的頭像 發表于 09-13 10:30 ?373次閱讀
    屋頂<b class='flag-5'>分布式</b>光伏并網點如何監測電能質量

    安科瑞分布式光伏監控系統的應用

    低、就地消納等獨特的優勢而被廣泛應用,近年來呈現跨越發展趨勢,研究分布式光伏接入對配電網的影響,對于提升電網及人身安全具有重要意義。本文以分布式光伏為研究對象,結合工程實例,研究了
    的頭像 發表于 08-14 08:41 ?335次閱讀
    安科瑞<b class='flag-5'>分布式</b>光伏監控系統的應用

    基于Openharmony輕量級操作系統的分布式數據管理開發案例

    實驗內容本例程演示如何在小凌派-RK2206開發板上使用OpenHarmony輕量級操作系統進行KvStore(即分布式數據管理)數據讀寫。例程:(1)創建兩個線程,一個負責寫入KvStore存儲
    的頭像 發表于 08-07 08:23 ?1065次閱讀
    基于Openharmony<b class='flag-5'>輕量級</b>操作系統的<b class='flag-5'>分布式</b>數據管理開發案例

    基于Openharmony輕量級操作系統的分布式數據管理開發案例

    實驗內容 本例程演示如何在小凌派-RK2206開發板上使用OpenHarmony輕量級操作系統進行KvStore(即分布式數據管理)數據讀寫。 例程: (1)創建兩個線程,一個負責寫入KvStore
    發表于 08-06 11:56

    日志框架簡介-Slf4j+Logback入門實踐

    前言 隨著互聯網和大數據的迅猛發展,分布式日志系統和日志分析系統已廣泛應用,幾乎所有應用程序都使用各種日志框架記錄程序運行信息。因此,作為工
    的頭像 發表于 07-30 10:00 ?1214次閱讀
    <b class='flag-5'>日志</b><b class='flag-5'>框架</b>簡介-Slf4j+Logback入門實踐

    安科瑞分布式光伏系統在某重工企業18MW分布式光伏中應用

    ,江蘇省分布式光伏有2228萬千瓦新增接入空間! 表:江蘇省分布式光伏接入能力規劃 根據國家能源局統計數據,截止2023年底,江蘇省分布式
    的頭像 發表于 07-19 11:30 ?577次閱讀
    安科瑞<b class='flag-5'>分布式</b>光伏系統在某重工企業18MW<b class='flag-5'>分布式</b>光伏中應用

    深度詳解嵌入系統專用輕量級框架設計

    MR 框架是專為嵌入系統設計的輕量級框架。充分考慮了嵌入系統在資源和性能方面的需求。通過提供標準化的設備管理接口,極大簡化了嵌入
    發表于 04-27 02:32 ?1038次閱讀
    深度詳解嵌入<b class='flag-5'>式</b>系統專用<b class='flag-5'>輕量級</b><b class='flag-5'>框架</b>設計

    HarmonyOS實戰案例:【分布式賬本】

    Demo基于Open Harmony系統使用ETS語言進行編寫,本Demo主要通過設備認證、分布式拉起、分布式數據管理等功能來實現。
    的頭像 發表于 04-12 16:40 ?1393次閱讀
    HarmonyOS實戰案例:【<b class='flag-5'>分布式</b>賬本】

    工商業企業屋頂光伏 分布式光伏發電系統

    安科瑞 程瑜 云平臺簡介 目前我國的兩種分布式應用場景分別是:廣大農村屋頂的戶用光伏和工商業企業屋頂光伏,這兩類分布式光伏電站今年都發展迅速。 據電網Q/GDW1480-2015?《分布式電源
    的頭像 發表于 03-15 14:21 ?1330次閱讀
    工商業企業屋頂光伏 <b class='flag-5'>分布式</b>光伏發電系統
    百家乐官网电子路单谁| 澳门赌百家乐的玩法技巧和规则| 大发888备用网址| 尊龙百家乐官网娱乐平台| 百家乐评测| 娱乐| 大发888娱乐城首页| 大发888laohuji| 百家乐官网游戏资料网| 网上百家乐哪里开户| 大发888真钱账户注册| 带有百家乐官网的棋牌游戏有哪些| 澳门百家乐赌技术| qq德州扑克怎么玩| 百家乐投注双赢技巧| 时时博在线娱乐城| 太阳城百家乐杀猪吗| 凯旋门百家乐官网游戏| 红桃K百家乐娱乐城| 嬴澳门百家乐官网的公式| 合肥太阳城莱迪广场| 七匹狼百家乐官网的玩法技巧和规则| 澳门博彩有限公司| 长乐坊百家乐娱乐城| 澳门百家乐官网鸿福厅| 名仕百家乐的玩法技巧和规则| 百家乐官网换人| 大发888娱乐场下载安装| 在车库做生意风水| 百家乐官网游戏官网| 澳门百家乐群代理| 巴宝莉百家乐官网的玩法技巧和规则 | 娱乐城去澳门| 澳门百家乐规例| 百家乐官网出闲几率| 大发888游戏平台 df888ylcxz46 | 澳门百家乐官网大揭密| 大发888真钱游戏祖比| 百家乐开户送百元| 百家乐官网技巧娱乐博彩| 碧桂园太阳城户型图|