背景:
k8s 上面会跑大量的pod/容器。 特别是 集群相关的控制面 容器, 业务容器,有时候我们要对容器日志进行 监控与分析处理,这时一套好用的日志系统就格外的重要。
而成熟的日志解决方案有哪些呢? 以前的ELK , k8s主推的基于云原生的EFK ,这里的F是 CNCF认证的子项目 fluentd ,
fluentd 是 ruby的项目 ,由于个人体验习惯与yaml配置,以及项目特点, 选择了filebeat ,所以 整套日志系统使用的技术包括(elastic search fidlebeat kibana)
官方项目地址:
https://github.com/elastic/beats/tree/master/filebeat
https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-getting-started.html
配置文件:
https://github.com/chenpfeisoo/EFK-logging-deployment
该配置文件中对于采集器有fluentd ,也有filebeat ,看个人喜好部署
注意事项:
对于filebeat 我们会在comfigmap中配置 对采集做配置
比如 多行显示:

官方推荐

      multiline.pattern: '^\['
      multiline.negate: true
      multiline.match: after

java应用:

  include_lines: ['Caused by']
  multiline:
      pattern: '^\['
      negate:  true
      match:   after

pattern 后面的正则表达式 按应用需求配置即可。
效果
采集到的是 istio-system 命名空间下 的 mixer组件日志
在这里插入图片描述

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐