第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

日志切割咨詢

@麥可同學(xué)

我日志是按小時切割了,日志文件名前綴都一樣后綴是按日期小時區(qū)分的,在代碼里 讀取模塊,應(yīng)該怎么實現(xiàn)這部分邏輯,求老師給個詳細的思路方案,多謝。

正在回答

2 回答

1,這個問題其實我在最后一節(jié)課有提到,如果產(chǎn)生了新的日志文件,你需要再讀取模塊里檢查當(dāng)前文件的inode是否改變,有變化就重新打開文件句柄即可。

2,可以考慮先將日志做統(tǒng)一搜集,比如都發(fā)送到隊列中或者落地,然后讀取模塊消費這些數(shù)據(jù),有很多開源的解決方案,flume?,scribe什么的。如果日志量巨大,只用于監(jiān)控的話,這樣做的成本比較高,可以使用prometheus這類拉取模式的解決方案。

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

manny 提問者

檢查當(dāng)前文件的inode是否改變,inode 是怎么判斷的,請老師詳細點嗎,給點提示。
2018-05-01 回復(fù) 有任何疑惑可以回復(fù)我~
#2

麥可同學(xué) 回復(fù) manny 提問者

打開文件后,先獲取文件的inode,后續(xù) err == io.EOF,也就是文件讀取到末尾的時候,檢查inode,是否變化,有變化則重新打開文件句柄。至于inode,可以使用syscall.Stat來獲取
2018-05-01 回復(fù) 有任何疑惑可以回復(fù)我~
#3

manny 提問者 回復(fù) 麥可同學(xué)

我明白了,就是文件一直處于打開狀態(tài)(文件內(nèi)容一直不停的增加)但是inode 是不變的,如果inode變了,就說明,文件已經(jīng)沒有變化了,inode就變了,這時 可以重新打開下一下小時的日志文件了。
2018-05-01 回復(fù) 有任何疑惑可以回復(fù)我~
#4

麥可同學(xué) 回復(fù) manny 提問者

對,沒錯
2018-05-01 回復(fù) 有任何疑惑可以回復(fù)我~
#5

manny 提問者 回復(fù) 麥可同學(xué)

謝謝 @麥可同學(xué) 耐心的解答
2018-05-01 回復(fù) 有任何疑惑可以回復(fù)我~
#6

更來 回復(fù) manny 提問者

fghvccd
2018-05-02 回復(fù) 有任何疑惑可以回復(fù)我~
#7

更來 回復(fù) 更來

好多好多話好多好多話
2018-05-02 回復(fù) 有任何疑惑可以回復(fù)我~
查看4條回復(fù)

我再問個問題,我想實現(xiàn),程序在A服務(wù)器運行,而游戲日志在B服務(wù)器上,我想從A機器上直接實時的遠程讀取B服務(wù)器上的日志,請給個詳細思路方案,非常感謝。

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

軌跡盒moc

你需要寫一個傳輸服務(wù),將B服務(wù)器上的日志先傳輸給A服務(wù)器的監(jiān)控服務(wù)中。 或者可以借助 Kafka作為日志消息隊列,B => Kafka => A
2018-05-19 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消
Go并發(fā)編程案例解析
  • 參與學(xué)習(xí)       15269    人
  • 解答問題       56    個

課程帶你通過一個真實的線上日志監(jiān)控系統(tǒng)學(xué)習(xí)Golang以及并發(fā)的編程思想。

進入課程

日志切割咨詢

我要回答 關(guān)注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號