在 Kubernetes中珊蟀,fluentd 以 sidecar 模式收集日志,并發(fā)送至 ElasticSearch

sidecar

1. 簡介

ElasticSearch 在日志收集和分析領(lǐng)域非常流行靡羡,而 fluentd 是一種萬用型的日志收集器系洛,當(dāng)然也支持 ES(ElasticSearch)俊性。不過在 Kubnernetes 環(huán)境中,問題會(huì)變得有點(diǎn)復(fù)雜描扯,問題在于是否要把 fluentd 放進(jìn)跑業(yè)務(wù)代碼的容器里:放在一起的話定页,fluentd 明顯和業(yè)務(wù)無關(guān);不放在一起的話绽诚,fluentd 又如何訪問到跑業(yè)務(wù)容器里的日志呢典徊。

fluentd

這個(gè)問題有多種解決方式,感興趣的話恩够,可以參考這個(gè)鏈接:Logging Architecture卒落。在這里要介紹的是 sidecar 模式,sidecar 就是題圖中的摩托挎斗蜂桶,對(duì)應(yīng)到 Kubernetes 中儡毕,就是在 Pod 中再加一個(gè) container 來跑非核心的代碼,來保證隔離性扑媚,并盡量縮減容器鏡像的大小腰湾。

2. 部署

接下來我們就開始部署吧,要先準(zhǔn)備好 fluentd 的配置文件疆股,<source> 部分指定的是要上傳的日志文件费坊;<match> 部分指定的是日志要傳輸?shù)侥睦铮@里指定的就是 ElasticSearch旬痹,真正使用的時(shí)候要注意根據(jù)具體環(huán)境替換 <ES-IP>附井。

$ cat fluentd-config-sidecar.yaml
apiVersion: v1
kind: ConfigMap
metadata:
  name: fluentd-config
data:
  fluentd.conf: |
    <source>
      type tail
      format none
      path /var/log/1.log
      pos_file /var/log/1.log.pos
      tag count.format1
    </source>

    <source>
      type tail
      format none
      path /var/log/2.log
      pos_file /var/log/2.log.pos
      tag count.format2
    </source>

    <match **>
      type elasticsearch
      host <ES-IP>
      port 9200
      include_tag_key true
      tag_key @log_name
      logstash_format true
      flush_interval 10s
    </match>

接下來是創(chuàng)建 Pod 的 yaml 文件,其中包含了兩個(gè) container:count 和 count-agent两残。count 是主程序永毅,產(chǎn)生日志;count-agent 是發(fā)送日志的 sidecar人弓。這里面由幾處需要注意一下:

  • emptyDir:表示創(chuàng)建一個(gè)空的目錄卷雕,之所以用這個(gè)種方式掛載日志,原因是 emptyDir 對(duì) Pod 內(nèi)的全部 container 都可見票从。
  • fluentd 使用的鏡像:原來的鏡像是存放在 google container registry 里的,國內(nèi)無法訪問滨嘱,所以使用了阿里云的源作為替代峰鄙。
  • FLUENTD_ARGS 環(huán)境變量:是 fluentd 的啟動(dòng)參數(shù)。
$ cat counter-pod-sidecar.yaml
apiVersion: v1
kind: Pod
metadata:
  name: counter
spec:
  containers:
  - name: count
    image: busybox
    args:
    - /bin/sh
    - -c
    - >
      i=0;
      while true;
      do
        echo "$i: $(date)" >> /var/log/1.log;
        echo "$(date) INFO $i" >> /var/log/2.log;
        i=$((i+1));
        sleep 1;
      done
    volumeMounts:
    - name: varlog
      mountPath: /var/log
  - name: count-agent
    image: registry.cn-beijing.aliyuncs.com/k8s-mqm/fluentd-elasticsearch:v2.1.0
    env:
    - name: FLUENTD_ARGS
      value: -c /etc/fluentd-config/fluentd.conf
    volumeMounts:
    - name: varlog
      mountPath: /var/log
    - name: config-volume
      mountPath: /etc/fluentd-config
  volumes:
  - name: varlog
    emptyDir: {}
  - name: config-volume
    configMap:
      name: fluentd-config

3. 參考文檔

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末太雨,一起剝皮案震驚了整個(gè)濱河市吟榴,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌囊扳,老刑警劉巖吩翻,帶你破解...
    沈念sama閱讀 216,402評(píng)論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件兜看,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡狭瞎,警方通過查閱死者的電腦和手機(jī)细移,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來熊锭,“玉大人弧轧,你說我怎么就攤上這事⊥胍螅” “怎么了精绎?”我有些...
    開封第一講書人閱讀 162,483評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長锌妻。 經(jīng)常有香客問我代乃,道長,這世上最難降的妖魔是什么仿粹? 我笑而不...
    開封第一講書人閱讀 58,165評(píng)論 1 292
  • 正文 為了忘掉前任搁吓,我火速辦了婚禮,結(jié)果婚禮上牍陌,老公的妹妹穿的比我還像新娘擎浴。我一直安慰自己,他們只是感情好毒涧,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,176評(píng)論 6 388
  • 文/花漫 我一把揭開白布贮预。 她就那樣靜靜地躺著,像睡著了一般契讲。 火紅的嫁衣襯著肌膚如雪仿吞。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,146評(píng)論 1 297
  • 那天捡偏,我揣著相機(jī)與錄音唤冈,去河邊找鬼。 笑死银伟,一個(gè)胖子當(dāng)著我的面吹牛你虹,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播彤避,決...
    沈念sama閱讀 40,032評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼傅物,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了琉预?” 一聲冷哼從身側(cè)響起董饰,我...
    開封第一講書人閱讀 38,896評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后卒暂,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體啄栓,經(jīng)...
    沈念sama閱讀 45,311評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,536評(píng)論 2 332
  • 正文 我和宋清朗相戀三年也祠,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了昙楚。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,696評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡齿坷,死狀恐怖桂肌,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情永淌,我是刑警寧澤崎场,帶...
    沈念sama閱讀 35,413評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站遂蛀,受9級(jí)特大地震影響谭跨,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜李滴,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,008評(píng)論 3 325
  • 文/蒙蒙 一螃宙、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧所坯,春花似錦谆扎、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至状土,卻和暖如春无蜂,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背蒙谓。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評(píng)論 1 269
  • 我被黑心中介騙來泰國打工斥季, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人累驮。 一個(gè)月前我還...
    沈念sama閱讀 47,698評(píng)論 2 368
  • 正文 我出身青樓酣倾,卻偏偏與公主長得像,于是被迫代替她去往敵國和親谤专。 傳聞我的和親對(duì)象是個(gè)殘疾皇子灶挟,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,592評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容