摘要:輕松輸出應用日志到七牛云平臺背景云計算發(fā)展至今,企業(yè)應用的方方面面都已經(jīng)在云上或者準備上云了。方案本篇主要介紹下如何利用七牛云大數(shù)據(jù)日志平臺來無縫收集應用日志,方便后續(xù)的日志分析等工作。
輕松輸出Java應用日志到七牛云平臺 背景
云計算發(fā)展至今,企業(yè)應用的方方面面都已經(jīng)在云上或者準備上云了。無論是Iaas還是Paas,應用開發(fā)的首選即是上云,因為云平臺不僅可以節(jié)約開發(fā)和部署流程中的時間,而且專業(yè)的云平臺還會極大提升整體服務(wù)的穩(wěn)定性,降低業(yè)務(wù)運維成本。
方案本篇主要介紹下如何利用七牛云大數(shù)據(jù)日志平臺來無縫收集Java應用日志,方便后續(xù)的日志分析等工作。本質(zhì)上,任何客戶如果希望接入七牛的大數(shù)據(jù)日志平臺,都可以利用各個語言的SDK來完成這個工作,或者利用七牛提供的收集工具如logkit 或者 企業(yè)級logkit。
但是本方案強調(diào)的就是 業(yè)務(wù)代碼無侵入性。
提供 業(yè)務(wù)代碼無侵入性 接入的方案最基本的原因就是:
客戶已有的Java應用已經(jīng)把日志存儲到本地或者其他的地方了,支持新的輸出方式需要修改業(yè)務(wù)代碼,而大部分情況下客戶不希望這樣做
客戶希望能夠快速體驗新的日志輸出方案,希望盡可能少地影響現(xiàn)有的業(yè)務(wù)運行
所以最好存在一種方案,可以支持 可插拔 的方式來輸出日志,這樣Java應用代碼不需要做更改,也就是達到 業(yè)務(wù)代碼無侵入性 的目標。
由于大多數(shù)客戶的應用都是采用Java來開發(fā)的,而且由于Java的生態(tài)發(fā)展的非常完善,很多客戶都使用成熟的日志框架如log4j,slf4j,logback等來進行日志的輸出。而這些框架在設(shè)計上面為我們無縫輸出日志到不同的目的地提供了方便的接口。
所以,基于這些背景,我們打算幫助客戶實現(xiàn)Java應用日志的 無縫快速上云。
很多人或許已經(jīng)猜出了這個方案的核心技術(shù)就是開發(fā)支持各個日志框架的自定義Appender。
對,就是這樣。我們目前優(yōu)先選擇支持Java最主要是因為Java語言的覆蓋用戶廣泛,日志框架設(shè)計優(yōu)良,方面擴展自定義的Appender。后續(xù)我們也會根據(jù)客戶需求繼續(xù)支持其他的語言。
這個方案除了自定義日志的Appender來將日志輸出到云端外,還內(nèi)部實現(xiàn)了多線程日志上傳,日志緩沖(避免頻繁推送大小很小的日志行影響業(yè)務(wù)性能),定時推送等功能,后續(xù)還會根據(jù)實際情況繼續(xù)支持其他企業(yè)級需求。
使用實際應用起來非常簡單,無需修改一行業(yè)務(wù)代碼,直接看圖:
重新啟動服務(wù)后,日志會進行上報,可以在七牛云后臺查看數(shù)據(jù):
實戰(zhàn)另外,為了讓大家在應用到自身業(yè)務(wù)之前實際體驗下,我們還提供了兩個開源軟件的案例:
ElasticSearch日志收集案例
Apache Kafka日志收集案例
交流如果您有興趣了解更多實現(xiàn)細節(jié),歡迎 Star項目:https://github.com/qiniu/qiniu-logging-plugin 或者加入QQ群討論:675938456 。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/25242.html
摘要:馬拉松會匹配每個和提供的資源,然后通過將任務(wù)下發(fā)下去。對外暴露的就是負載均衡的某個服務(wù),后面自動將流量轉(zhuǎn)發(fā)到某個容器的端口上。還有一直辦法是用內(nèi)網(wǎng)的,這個會維護現(xiàn)有的容器列表端口,并且返回任意一個的端口,頁實現(xiàn)了負載均衡和服務(wù)發(fā)現(xiàn)功能。 演講嘉賓 數(shù)人云COO 謝樂冰 在德國工作十年,回國后加入惠普電信運營商部門,擁有多年項目經(jīng)驗和創(chuàng)業(yè)公司工作經(jīng)驗。在數(shù)人云負責產(chǎn)品售前和運營,專注行...
摘要:如何使用開發(fā)者中心進行在線調(diào)試如果你已經(jīng)使用了開發(fā)者中心部署應用上云,那么,可以非常榮幸的告訴你,看完下面的步驟,只需幾秒鐘的配置,就可以解救你于水火之中。此過程也可以用于日常開發(fā)過程中的在線定位問題,面對眾多的微服務(wù),無需再煩惱了。 現(xiàn)在,大家開始越來越多的談?wù)摰礁呖捎眉軜?gòu)的互聯(lián)網(wǎng)應用。什么是高可用?高可用HA(High Availability)是分布式系統(tǒng)架構(gòu)設(shè)計中必須考慮的因素...
摘要:如何使用開發(fā)者中心進行在線調(diào)試如果你已經(jīng)使用了開發(fā)者中心部署應用上云,那么,可以非常榮幸的告訴你,看完下面的步驟,只需幾秒鐘的配置,就可以解救你于水火之中。此過程也可以用于日常開發(fā)過程中的在線定位問題,面對眾多的微服務(wù),無需再煩惱了。 現(xiàn)在,大家開始越來越多的談?wù)摰礁呖捎眉軜?gòu)的互聯(lián)網(wǎng)應用。什么是高可用?高可用HA(High Availability)是分布式系統(tǒng)架構(gòu)設(shè)計中必須考慮的因素...
閱讀 3269·2021-09-06 15:02
閱讀 2304·2019-08-30 15:48
閱讀 3505·2019-08-29 11:08
閱讀 3344·2019-08-26 13:55
閱讀 2513·2019-08-26 13:35
閱讀 3216·2019-08-26 12:11
閱讀 2663·2019-08-26 11:48
閱讀 959·2019-08-26 11:42