中文字幕精品亚洲无线码二区,国产黄a三级三级三级看三级,亚洲七七久久桃花影院,丰满少妇被猛烈进入,国产小视频在线观看网站

ELK~fluentd多行日志的收集

事實上,在sidecar里使用fluentd來收集日志是非常不錯的選擇,通過對日志文件的監控,將文件定時發到ES里,通過kibana去讀取;而你的日志如果使用tail的話,默認是一行一行讀取的,這對于多行信息的日志,是非常不友好的,所以今天寫一個多行日志讀取的方法。
sidecar就是k8s里為pod提供的一個插件,類似于給摩托車加一個連斗,所以又叫連斗模式,即一個pod包含了兩個容器,一個是主程序,一個是fluentd程序,如圖:
2

需要用正則

我們在使用時(shi),需(xu)要(yao)注冊,這(zhe)個多行需(xu)要(yao)有正則匹配的,這(zhe)取決(jue)于(yu)你的日(ri)志(zhi)輸出格式,今天(tian)我寫的日(ri)志(zhi)格式如下:

2020-09-25 16:55:29.555 [XNIO-1 task-1] INFO : hello world!

針對于上面的日志格式(shi),我們的fluentd的配置(zhi)如下

   <source>
      type tail
      path /var/log/*.log 
      pos_file /var/log/*.log.pos
      tag test
      refresh_interval 120
      format multiline
      multiline_flush_interval 5s
      format_firstline /\d{4}-\d{1,2}-\d{1,2}/
      format1 /^(?<access_time>\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}.\d{3}) \[(?<thread>.*)\] (?<level>[^ ]*) (?<message>.*)/
    </source>
    <match **>
      @id elasticsearch
      @type elasticsearch
      index_name fluentd
      type_name _doc
      host 192.168.60.136
      port 9200
      include_tag_key true
      tag_key @log_name
      logstash_format true
      flush_interval 10s
      logstash_prefix test
    </match>

需要注意的事,由于使用到了多行文本的收集,所以你的fluentd客戶端需要安裝對應的插件,我們這邊用的是docker方式,插件已經裝好了。
1
這個技術我研究和嘗試了很多次,最后還是成功了!
參考:

posted @ 2020-09-25 17:19  張占嶺  閱讀(3523)  評論(0)    收藏  舉報