本篇文章為大家展示了 Sleuth與ELK怎樣進(jìn)行配合使用,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。
創(chuàng)新互聯(lián)于2013年創(chuàng)立,先為龍圩等服務(wù)建站,龍圩等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為龍圩企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
我們已經(jīng)實現(xiàn)了服務(wù)調(diào)用之間的鏈路追蹤,但是這些日志是分散在各個機器上的,就算出現(xiàn)問題了,我們想快速定位,也得從各個機器把日志整合起來,再去查問題。
這個時候就需要引入日志分析系統(tǒng)了,比如 ELK,可以將多臺服務(wù)器上的日志信息統(tǒng)一收集起來,在出問題的時候我們可以輕松根據(jù) traceId 來搜索出對應(yīng)的請求鏈路信息。
ELK 由三個組件組成:
Elasticsearch 是個開源分布式搜索引擎,它的特點有分布式、零配置、自動發(fā)現(xiàn)、索引自動分片、索引副本機制、restful 風(fēng)格接口、多數(shù)據(jù)源、自動搜索負(fù)載等。
Logstash 是一個完全開源的工具,它可以對日志進(jìn)行收集、分析并存儲以供以后使用。
kibana 是一個開源和免費的工具,它可以為 Logstash 和 ElasticSearch 提供日志分析友好的 Web 界面,可以匯總、分析和搜索重要數(shù)據(jù)日志。
可以通過 logback 來輸出 Json 格式的日志,讓 Logstash 收集存儲到 Elasticsearch 中,然后在 kibana 中查看。想要輸入 Json 格式的數(shù)據(jù)需要加一個依賴,具體代碼如下所示。
<!-- 輸出 Json 格式日志 --><dependency><groupId>net.logstash.logback</groupId><artifactId>logstash-logback-encoder</artifactId><version>5.2</version></dependency>
然后創(chuàng)建一個 logback-spring.xml 文件。配置 logstash 需要收集的數(shù)據(jù)格式如下:
<!-- Appender to log to file in a JSON format --><appender name="logstash"class="ch.qos.logback.core.rolling.RollingFileAppender"><file>${LOG_FILE}.json</file><rollingPolicyclass="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><fileNamePattern>${LOG_FILE}.json.%d{yyyy-MM-dd}.gz</fileNamePattern><maxHistory>7</maxHistory></rollingPolicy><encoderclass="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder"><providers><timestamp><timeZone>UTC</timeZone></timestamp><pattern><pattern>{ "severity": "%level", "service": "${springAppName:-}", "trace": "%X{X-B3-TraceId:-}", "span": "%X{X-B3-SpanId:-}", "parent": "%X{X-B3-ParentSpanId:-}", "exportable": "%X{X-Span-Export:-}", "pid": "${PID:-}", "thread": "%thread", "class": "%logger{40}", "rest": "%message" }</pattern></pattern></providers></encoder></appender>
集成好后就能在輸出的日志目錄中看到有一個以“.json”結(jié)尾的日志文件了,里面的數(shù)據(jù)格式是 Json 形式的,可以直接通過 Logstash 進(jìn)行收集。
{"@timestamp": "2019-11-30T01:48:32.221+00:00","severity": "DEBUG","service": "fsh-substitution","trace": "41b5a575c26eeea1","span": "41b5a575c26eeea1","parent": "41b5a575c26eeea1","exportable": "false","pid": "12024","thread": "hystrix-fsh-house-10","class": "c.f.a.client.fsh.house.HouseRemoteClient","rest": "[HouseRemoteClient#hosueInfo] <--- END HTTP (796-byte body)"}
日志收集存入 ElasticSearch 之后,就可以用 Kibana 進(jìn)行展示。需要排查某個請求的問題時,直接根據(jù) traceid 搜索,就可以把整個請求鏈路相關(guān)的日志信息查詢出來。
上述內(nèi)容就是 Sleuth與ELK怎樣進(jìn)行配合使用,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
網(wǎng)站標(biāo)題:Sleuth與ELK怎樣進(jìn)行配合使用
本文地址:http://www.rwnh.cn/article46/jihdeg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、網(wǎng)站制作、ChatGPT、品牌網(wǎng)站設(shè)計、微信小程序、搜索引擎優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)