Fluented,fluented有香味的也許你聽說過Fluentd的統(tǒng)一日志層。也許您已經(jīng)熟悉了日志是流而不是文件的概念,所以現(xiàn)在讓我們以這種方式來考慮日志層。其實最后決定性的一點是fluentd怎么配置。這都是關(guān)于我們?nèi)绾翁幚砹鞯牟煌?我們從哪里獲得數(shù)據(jù),當(dāng)我們獲得數(shù)據(jù)時我們用它做什么,我們將處理過的數(shù)據(jù)發(fā)國際......
也許你聽說過Fluentd的統(tǒng)一日志層。也許您已經(jīng)熟悉了日志是流而不是文件的概念,所以現(xiàn)在讓我們以這種方式來考慮日志層。
其實最后決定性的一點是fluentd怎么配置。這都是關(guān)于我們?nèi)绾翁幚砹鞯牟煌?我們從哪里獲得數(shù)據(jù),當(dāng)我們獲得數(shù)據(jù)時我們用它做什么,我們將處理過的數(shù)據(jù)發(fā)國際快遞哪里,以及當(dāng)它們在發(fā)快遞過程中時我們用它做什么。在這篇博客中,我們將回顧這些概念,并將它們應(yīng)用到以下案例中:
1.Log從Docker容器輸出命令(但是在容器掛起時保留配置)
2.處理JSON日志
3.將信息按等級分類。
4.將數(shù)據(jù)流分離到兩個目的地。
原來Google云平臺和Kubernetes已經(jīng)默認(rèn)包含fluentd日志層輸出。通過這種方式,您可以準(zhǔn)確地完成這些事情,但首先,讓我們來看看fluentd.conf文件中的說明:
1.源指令決定輸入源。
2.匹配指令決定輸出目的地。
3.filter指令確定事件處理管道。
4.系統(tǒng)指令設(shè)置系統(tǒng)范圍的配置。
5.label指令對內(nèi)部路由和過濾器的輸出進行分組。
6.include指令包括其他文檔。
基本方案(用于記錄Docker標(biāo)準(zhǔn)輸出命令)
現(xiàn)在,對于我們的目標(biāo),我們將主要考慮源代碼和匹配指令。下面是一個例子,配置為logging命令,直接從一個容器到寶藏數(shù)據(jù)(而且,因為我們的配置是在Ubuntu主機上,所以不會用Docker容器中止!)。
發(fā)生了什么事?
我們的源指令告訴我們,我們正在使用forwardinput插件,它告訴fluentd偵聽TCP套接字以接收事件流。
我們有兩個比賽說明。當(dāng)我們啟動容器時,最后一個假設(shè)是我們已經(jīng)設(shè)置了日志選項:
logopt fluentdtag = TD . docker . { {。姓名}}
這個指令告訴我們使用標(biāo)準(zhǔn)輸出插件將事件打印到標(biāo)準(zhǔn)輸出。
然而,它不僅是第一條指令,也是最有趣的一條指令。現(xiàn)在,假設(shè)相同的日志選項,我們匹配所有標(biāo)記為td的內(nèi)容。*.*并使用td日志輸出插件將每個控制臺輸出作為單個日志輸出發(fā)國際快遞名為docker的寶藏數(shù)據(jù)數(shù)據(jù)庫。在這里,表也是Docker容器的名稱:
Autocreatetable在第一個實例上創(chuàng)建一個表。
Buffertype file將緩沖區(qū)寫入文件。
Bufferpath指定Docker容器上的緩沖文件路徑。
Flushinterval 5s設(shè)置刷新緩沖區(qū)時間隔5秒,寫入寶藏數(shù)據(jù)表。
你開始明白這是怎么回事了嗎?要了解更多關(guān)于fluentd配置和參數(shù)的信息,請點擊此處查看更多文章:https://docs.fluentd.org/articles/configfile
將結(jié)果記錄到谷歌云平臺
準(zhǔn)備好看看fluentd如何與谷歌云平臺一起運行了嗎?我們來看一些不同的場景。多虧了Kubernetes團隊,這些配置(以及與這些非常相似的配置)都可以在github上獲得。
正在處理JSON日志
在這里,我們在JSON上跟蹤日志,并在Kubernetes上記錄結(jié)果。我們必須處理時間戳,所以我們包含了timekey和timeformat指令。最后,我們用Kubernetes和適當(dāng)?shù)奈ㄒ缓缶Y來標(biāo)記數(shù)據(jù)流。我們還指定了位置文件,并將readfromhead設(shè)置為true。如果由于某種原因,我們的流被中斷,這將使我們停止并重新開始處理。
通過不同的級別對信息進行分類
我們可以跟蹤不同的信息,并使用常規(guī)表達式來查找一些信息,如格式、級別(嚴(yán)重性)、信息、錯誤(如果有)和狀態(tài)代碼。注意,我們必須解析輸出中的時間。我們再次使用位置文件來保持我們在流中的位置。我們應(yīng)該包括一個匹配部分,將數(shù)據(jù)路由到特定的目的地。
將數(shù)據(jù)流分離到兩個不同的目的地
在這里,我們解析自動定量日志并管理我們的緩沖區(qū)、查詢和塊大小。對于這兩個目的地(即GCP和庫伯內(nèi)特),我們一直在再次嘗試。
接下來是什么?
你能自己創(chuàng)建一個最簡單的日志基礎(chǔ)工具嗎?讓Fluentd來!
fluentd.org
這個網(wǎng)站上有不少于200個輸入和其他插件。在這里,你可以看到他們受歡迎程度的降序排列。
fluentd.org/plugins/all
如果你想分類了解插件,點擊上面的網(wǎng)址。
fluentd.org/plugins
最后,你可以在這個網(wǎng)站上獲得寶藏數(shù)據(jù)(你可以在treasuredata.com上注冊一個14天試用期的賬戶)。
特別聲明:以上文章內(nèi)容僅代表作者本人觀點,不代表ESG跨境電商觀點或立場。如有關(guān)于作品內(nèi)容、版權(quán)或其它問題請于作品發(fā)表后的30日內(nèi)與ESG跨境電商聯(lián)系。
二維碼加載中...
使用微信掃一掃登錄
使用賬號密碼登錄
平臺顧問
微信掃一掃
馬上聯(lián)系在線顧問
小程序
ESG跨境小程序
手機入駐更便捷
返回頂部