K8s安装EFK日志收集

备注:所需镜像都会去外网拉取,所以镜像需要自己想办法!!!

环境介绍:

image-20200311104450873.png

image-20200311104505003.png

1、安装elasticsearch

helm pull stable/elasticsearch

tar xvf elasticsearch-1.32.4.tgz      #可以根据自己需求修改elasticsearch/values.yaml文件

helm install elasticsearch -n efk ./elasticsearch

image-20200311105442100.png

创建pv

image-20200311115637255.png

查看pod状态

image-20200311115704635.png

2、安装kibana

helm pull stable/kibana

tar xvf kibana-3.2.6.tgz

vim kibana/values.yaml             #修改类型为NodePort

image-20200311135212537.png

安装

image-20200311135317733.png

关联es

通过svc可以看到es的service名称为elasticsearch-client

image-20200311135913621.png

修改kibana的ConfigMap文件

image-20200311140103657.png

3、安装fluentd

helm pull stable/fluentd

tar xvf fluentd-2.4.0.tgz

image-20200311150432250.png

修改输出的es地址

image-20200311151240927.png

挂载日志目录

image-20200311154522739.png

修改fluetd的configmap文件

image-20200311155734588.png

添加以下

  containers.input.conf: |-
    <source>
      @id fluentd-containers.log
      @type tail
      path /var/log/*/*.log    #fluentd容器中所挂载的日志目录
      pos_file /var/log/es-containers.log.pos
      tag raw.kubernetes.*
      read_from_head true
      <parse>
        @type multi_format
        <pattern>
          format json
          time_key time
          time_format %Y-%m-%dT%H:%M:%S.%NZ
        </pattern>
        <pattern>
          format /^(?<time>.+) (?<stream>stdout|stderr) [^ ]* (?<log>.*)$/
          time_format %Y-%m-%dT%H:%M:%S.%N%:z
        </pattern>
      </parse>
    </source>
    # Detect exceptions in the log output and forward them as one log entry.
    <match raw.kubernetes.**>
      @id raw.kubernetes
      @type detect_exceptions
      remove_tag_prefix raw
      message log
      stream stream
      multiline_flush_interval 5
      max_bytes 500000
      max_lines 1000
    </match>

4、访问kibana

image-20200312102202960.png

image-20200312102235114.png

参考文章:https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/fluentd-elasticsearch

猜你喜欢

转载自blog.51cto.com/14268033/2477617