摘要:最后,我們用和適當的獨特后綴來標注數據流。將數據流分離到兩個不同的目的地在這里,我們解析自動定量日志,管理我們的緩沖區,查詢和區塊大小。
也許你對Fluentd的統一日志記錄層已經有所耳聞。可能你對日志是流不是文件這個概念也已經很熟悉,所以現在就讓我們用這個方法來思考日志層。
事實上,最后導致決定性的一點就是fluentd是如何被配置的。全部都是關于我們如何處理stream的不同元素的:我們從哪里得到數據,當我們獲取到的時候用它來做什么,我們將處理過的數據發送到哪里,以及它們在發送過程中的時候,我們要如何處理它。在這篇博客中,我們會回顧一下這些概念,并且將他們運用到以下案例中:
1、日志從Docker容器中輸出命令(但是當容器中止的時候,要保持配置)
2、處理JSON日志
3、通過等級將信息進行分類
4、將數據流分離到兩個目的地
事實證明,谷歌云平臺和Kubernetes默認設置下已經包括了fluentd日志層輸出,這樣的話,你就可以精確地做這些事情,但是首先,讓我們來看一下fluentd.conf文件中的指令:
1、source指令確定輸入源
2、match指令確定輸出目的地
3、filter指令確定event處理管道
4、system指令設置系統范圍的配置
5、label指令將內部路由的輸出和過濾器分組
6、@include指令包括其他文件
現在對于我們的目標來說,我們主要會考慮source和match指令。以下是一個樣本,為日志記錄命令配置,命令是從一個容器直接到Treasure Data(而且,因為我們的配置是在Ubuntu主機上,所以它不會和Docker容器一起中止!)。
那么,發生了什么呢?
我們的source指令告訴我們正在使用forwardinput plugin,這就告訴fluentd要監聽TCP socket來接收event流。
我們有兩個match指令。當我們啟動容器的時候,最后一個假定我們已經設置了我們的日志記錄選項:
--log-opt fluentd-tag=td.docker.{{.Name}}
這條指令告訴我們使用標準輸出plugin來打印events到標準輸出。
然而,它不僅第一條指令,也是最有趣的一條。現在假定一樣的日志記錄選項,我們將所有標記有td..的東西都匹配好,并且使用td日志output plugin,將每個console輸出作為單個記錄輸出,發送到一個名為docker的Treasure Data數據庫,在這里,表格也同樣是Docker容器的名字:
auto_create_table在第一個實例上創建表格。
buffer_type file將緩沖區寫入一個文件。
buffer_path在我們的Docker容器上指定緩沖文件路徑。
flush_interval 5s在刷新緩沖區時設置了一個5秒的間隔,并且寫進了Treasure Data表格。
是不是開始明白這是怎么運作的了?想要了解更多關于fluentd配置和參數,點擊這里查看更多文章: 點擊這里
日志記錄結果到谷歌云平臺準備好查看fluentd是怎么用谷歌云平臺來運行的了嗎?讓我們來看一些不一樣的場景。多虧了Kubernetes團隊,使得這些配置(以及跟這些很相似的配置)在github上實現可用。
處理JSON日志在這里,我們跟蹤JSON上的日志,并將日志記錄結果到Kubernetes上。我們要處理一下時間戳,所以我們已經包括了time_key和time_format指令。最后,我們用Kubernetes和適當的獨特后綴來標注數據流。我們同樣也已經指定位置文件,并且設置read_from_head為真。這就使得我們要停止并且重啟處理if,由于某些原因,我們的stream就被打斷了。
通過不同的層面來分類信息我們可以追蹤不同的信息,使用常規表達方式來查找部分信息,比如格式,層次(嚴重性),信息,錯誤(如果有錯誤的話)和狀態碼。注意,我們必須在輸出上解析時間。再一次,我們使用位置文件來保持我們在stream中的位置。我們應該包括一個match部分來路由數據到一個特定的目的地。
將數據流分離到兩個不同的目的地在這里,我們解析自動定量日志,管理我們的緩沖區,查詢和區塊大小。在這兩個目的地(也就是,GCP和Kubernetes)的案例中,我們一直在重新嘗試。
What"s next?你能夠自己創建最簡單的日志記錄基礎設施嗎?讓Fluentd來!
fluentd.org
這個網站上有不下于200個輸入,也還有其它插件。這里的話,你可以看到他們通過人氣降序排列的
fluentd.org/plugins/all
如果想要通過分類了解plug-ins,點擊上面這個網址
fluentd.org/plugins
最后,在這個網站上可以獲取Treasure Data(你可以在treasuredata.com上注冊一個賬號,有14天的試用期)。
原文鏈接
(如果需要轉載,請聯系我們哦,尊重知識產權人人有責;)
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/32490.html
摘要:目前正在運行的應用程序。內置非配置負載均衡器如何設置運行的集群在這里你有幾個選項。它跟其它的谷歌云組件也都整合得很好,比如負載均衡器和磁盤。它會告訴負載均衡器,流量可以被重新傳到特定的。元信息和谷歌云會以正確的方式展現出來。 Kubernetes實踐案例分享|在這次的 RisingStack 案例分享中,我們可以在 Kubernetes Tutorial 中學習到如何從 PaaS 供應...
摘要:但是在谷歌云客戶發布時,一切好像都沒有按照常理出牌,從中我體驗到前所未有的成長。希望將運行起來。第二天預計將發布版本到美國,在這之前,已經提前跟尋求好了支援。游戲的應用程序邏輯運行在谷歌上面,由開源項目驅動。是谷歌上面部署規模最大的項目。 《Pokémon Go》是由任天堂、Pokémon 公司和谷歌 Niantic Labs 公司聯合制作開發的現實增強(AR)寵物養成對戰類 RPG ...
摘要:企業將業務遷移到云平臺的最大好處之一是可以降低工作和運營成本,其中一個最重要的因素是云計算基礎設施的自動化和配置。幸運的是,有許多云計算基礎設施自動化工具可用于幫助加快流程。企業需要深入了解將工作負載遷移到公共云的正確步驟,并因此降低成本。云遷移不會自行發生,在遷移項目成功之前并不能完成工作和任務。企業將業務遷移到云平臺的最大好處之一是可以降低工作和運營成本,其中一個最重要的因素是云計算基礎...
摘要:優化網絡在今年早些時候,我們公布了許多關于的新的網絡功能,包括原生集群,共享,原生容器負載均衡以及原生容器的網絡服務,它們服務于上的應用程序以及在谷歌云上的。 showImg(https://segmentfault.com/img/bVbnY8w);許多企業機構正在把全部或部分 IT 業務遷移到云端,幫助企業更好的運營。不過這樣的大規模遷移,在企業的實際操作中也有一定難度。不少企業保...
摘要:優化網絡在今年早些時候,我們公布了許多關于的新的網絡功能,包括原生集群,共享,原生容器負載均衡以及原生容器的網絡服務,它們服務于上的應用程序以及在谷歌云上的。 showImg(https://segmentfault.com/img/bVbnY8w);許多企業機構正在把全部或部分 IT 業務遷移到云端,幫助企業更好的運營。不過這樣的大規模遷移,在企業的實際操作中也有一定難度。不少企業保...
閱讀 2801·2023-04-25 22:51
閱讀 2026·2021-10-11 10:58
閱讀 3308·2019-08-30 10:49
閱讀 1870·2019-08-29 17:09
閱讀 3136·2019-08-29 10:55
閱讀 839·2019-08-26 10:34
閱讀 3467·2019-08-23 17:54
閱讀 980·2019-08-23 16:06