成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

使用開源工具fluentd-pilot收集容器日志

Dionysus_go / 1586人閱讀

摘要:來自用戶的最佳實踐分享,如何用阿里開源的日志收集工具收集機器上所有應(yīng)用日志。具有如下特性一個多帶帶的進程收集機器上所有容器的日志。無論是強大的阿里云日志服務(wù),還是比較流行的組合,甚至是,都能把日志投遞到正確的地點。

來自用戶的最佳實踐分享,如何用阿里開源的Docker日志收集工具fluentd-pilot收集機器上所有Docker應(yīng)用日志。

fluentd-pilot簡介

fluentd-pilot是阿里開源的docker日志收集工具,Github項目地址 。你可以在每臺機器上部署一個fluentd-pilot實例,就可以收集機器上所有Docker應(yīng)用日志。

fluentd-pilot 具有如下特性:

一個多帶帶的 fluentd 進程收集機器上所有容器的日志。不需要為每個容器啟動一個 fluentd 進程。

支持文件日志和 stdout。docker log dirver 亦或 logspout 只能處理 stdout,fluentd-pilot 不僅支持收集 stdout 日志,還可以收集文件日志。

聲明式配置。當您的容器有日志要收集,只要通過 label 聲明要收集的日志文件的路徑,無需改動其他任何配置,fluentd-pilot 就會自動收集新容器的日志。

支持多種日志存儲方式。無論是強大的阿里云日志服務(wù),還是比較流行的 elasticsearch 組合,甚至是 graylog,fluentd-pilot 都能把日志投遞到正確的地點。

rancher使用fluentd-pilot收集日志

我們既然要用fluentd-pilot,就得先把它啟動起來。還要有一個日志系統(tǒng),日志要集中收集,必然要有一個中間服務(wù)去收集和存儲,所以要先把這種東西準備好。Rancher中我們要如何做?如圖,首先我們選擇Rancher的應(yīng)用商店中的Elasticsearch和Kibana。版本沒有要求,下面使用Elasticsearch2.X和Kibana4。

其次在RancherAgent主機上面部署一個fluentd-pilot容器,然后在容器里面啟動的時候,我們要聲明容器的日志信息,fluentd-pilot會自動感知所有容器的配置。每次啟動容器或者刪除容器的時候,它能夠看得到,當看到容器有新容器產(chǎn)生之后,它就會自動給新容器按照你的配置生成對應(yīng)的配置文件,然后去采集,最后采集回來的日志同樣也會根據(jù)配置發(fā)送到后端存儲里面去,這里面后端主要指的elasticsearch或者是SLS這樣的系統(tǒng),接下來你可以在這個系統(tǒng)上面用一些工具來查詢等等。

可根據(jù)實際情況,在每臺Agent定義主機標簽,通過主機標簽在每臺RancherAgent主機上跑一個pilot容器。用這個命令來部署,其實現(xiàn)在它是一個標準的Docker鏡像,內(nèi)部支持一些后端存儲,可以通過環(huán)境變量來指定日志放到哪兒去,這樣的配置方式會把所有的收集到的日志全部都發(fā)送到elasticsearch里面去,當然兩個掛載是需要的,因為它連接Docker,要感知到Docker里面所有容器的變化,它要通過這種方式來訪問宿主機的一些信息。在Rancher環(huán)境下使用以下docker-compose.yml 應(yīng)用---->添加應(yīng)用,在可選docker-compose.yml中添加一下內(nèi)容。

version: "2"
services:
  pilot:
    image: registry.cn-hangzhou.aliyuncs.com/acs-sample/fluentd-pilot:0.1
    environment:
      ELASTICSEARCH_HOST: elasticsearch
      ELASTICSEARCH_PORT: "9200"
      FLUENTD_OUTPUT: elasticsearch
    external_links:
    - es-cluster/es-master:elasticsearch
    volumes:
    - /var/run/docker.sock:/var/run/docker.sock
    - /:/host
    labels:
      aliyun.global: "true"

配置好之后啟動自己的應(yīng)用(例子:tomcat),我們看應(yīng)用上面要收集的日志,我該在上面做什么樣的聲明?關(guān)鍵的配置有兩個,一是label catalina,聲明的是要收集容器的日志為什么格式(標準格式等,也可以是文件。),所有的名字都可以;二是聲明access,這也是個名字,都可以用你喜歡的名字。這樣一個路徑的地址,當你通過這樣的配置來去啟動fluentd-pilot容器之后,它就能夠感覺到這樣一個容器的啟動事件,它會去看容器的配置是什么,要收集這個目錄下面的文件日志,然后告訴fluentd-pilot去中心配置并且去采集,這里還需要一個卷,實際上跟Logs目錄是一致的,在容器外面實際上沒有一種通用的方式能夠獲取到容器里面的文件,所有我們主動把目錄從宿主機上掛載進來,這樣就可以在宿主機上看到目錄下面所有的東西。


當你通過部署之后,他會自己在elasticsearch創(chuàng)建索引,就可以在elasticsearch的kopf上面看到會生成兩個東西,都是自動創(chuàng)建好的,不用管一些配置,你唯一要做的事是什么呢?就可以在kibana上創(chuàng)建日志index pattern了。然后到日志搜索界面,可以看到從哪過來的,這條日志的內(nèi)容是什么,這些信息都已經(jīng)很快的出現(xiàn)了。


Lable說明

啟動tomcat的時候,我們聲明了這樣下面兩個,告訴fluentd-pilot這個容器的日志位置。

aliyun.logs.tomcat1-access   /opt/apache-tomcat-8.0.14/logs/localhost_access_log.*.txt 
aliyun.logs.catalina   stdout

你還可以在應(yīng)用容器上添加更多的標簽

aliyun.logs.$name = $path

變量name是日志名稱,具體指隨便是什么,你高興就好。只能包含0-9a-zA-Z_和-

變量path是要收集的日志路徑,必須具體到文件,不能只寫目錄。文件名部分可以使用通配符。/var/log/he.log和/var/log/*.log都是正確的值,但/var/log不行,不能只寫到目錄。stdout是一個特殊值,表示標準輸出

aliyun.logs.$name.format,日志格式,目前支持

none 無格式純文本

json: json格式,每行一個完整的json字符串

csv: csv格式

aliyun.logs.$name.tags: 上報日志的時候,額外增加的字段,格式為k1=v1,k2=v2,每個key-value之間使用逗號分隔,例如

aliyun.logs.access.tags="name=hello,stage=test",上報到存儲的日志里就會出現(xiàn)name字段和stage字段

如果使用elasticsearch作為日志存儲,target這個tag具有特殊含義,表示elasticsearch里對應(yīng)的index

作者簡介

翟坤,隨行付支付有限公司資深運維工程師。
本文版權(quán)歸作者所有,轉(zhuǎn)載請后臺留言。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/27181.html

相關(guān)文章

  • 容器安全苦惱?這份清單整理了27種容器安全工具

    摘要:安全基準測試工具互聯(lián)網(wǎng)安全中心為容器安全提供了指導(dǎo)方針,這一方針已被和類似的安全基準工具所采用。該容器安全工具可以利用機器學(xué)習(xí)提供自適應(yīng)威脅保護這是一個可以掃描容器鏡像的托管安全解決方案,它甚至可以允許企業(yè)在它們的環(huán)境內(nèi)執(zhí)行安全策略。 在Docker容器技術(shù)興起的初期,對于許多企業(yè)而言,容器安全問題一直是他們在生產(chǎn)環(huán)境中采用Docker的一大障礙。然而,在過去的一年中,許多開源項目、初...

    cyixlq 評論0 收藏0
  • 宜信開源|詳解PaaS平臺LAIN的功能和架構(gòu)

    摘要:是宜信公司大數(shù)據(jù)創(chuàng)新中心開發(fā)的開源平臺。為宜信大數(shù)據(jù)創(chuàng)新中心各個團隊提供了統(tǒng)一的測試和生產(chǎn)環(huán)境,簡化了服務(wù)的部署與上線流程,也降低了運維人員對系統(tǒng)管理的復(fù)雜度?;谌萜骷夹g(shù),面向多樣化的技術(shù)棧,并且天然隔離系統(tǒng)和應(yīng)用的依賴。 LAIN是宜信公司大數(shù)據(jù)創(chuàng)新中心開發(fā)的開源PaaS平臺。在金融的場景下,LAIN 是為解放各個團隊和業(yè)務(wù)線的生產(chǎn)力而設(shè)計的一個云平臺。LAIN 為宜信大數(shù)據(jù)創(chuàng)新中...

    mist14 評論0 收藏0
  • 數(shù)人云工程師手記 | 容器日志管理實踐

    摘要:容器內(nèi)文件日志平臺支持的文件存儲是,避免了許多復(fù)雜環(huán)境的處理。以上是數(shù)人云在實踐容器日志系統(tǒng)過程中遇到的問題,更高層次的應(yīng)用包括容器日志分析等,還有待繼續(xù)挖掘和填坑,歡迎大家提出建議,一起交流。 業(yè)務(wù)平臺每天產(chǎn)生大量日志數(shù)據(jù),為了實現(xiàn)數(shù)據(jù)分析,需要將生產(chǎn)服務(wù)器上的所有日志收集后進行大數(shù)據(jù)分析處理,Docker提供了日志驅(qū)動,然而并不能滿足不同場景需求,本次將結(jié)合實例分享日志采集、存儲以...

    saucxs 評論0 收藏0
  • 盤點那些你可能錯過的CNCF優(yōu)秀開源項目

    摘要:自那以后,已經(jīng)增加了個開源項目。該項目由監(jiān)管,于年初加入。但是,指的是谷歌實現(xiàn)的遠程程序調(diào)用,它利用了和協(xié)議緩沖區(qū)。事實上,來自的流行鍵值存儲和谷歌自己的都是最后一個值得關(guān)注的項目是也稱為,一個容器運行時。 自2015年成立以來,云原生計算基金會(CNCF)已經(jīng)成為開源生態(tài)系統(tǒng)中最重要的推動者之一,特別是當涉及到影響容器和其他云原生技術(shù)的工具時。CNCF成立的目的是促進和組織與大型行業(yè)...

    GraphQuery 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<