统一日志实践二之fluentd采集端篇
安装fluentd# k8s采集端使用fluentd # 在k8s master节点执行,本文在192.168.0.10 执行,注意换成您自己的环境 mkdir -p ~/deploy/graylog cd ~/deploy/graylog git clone https://github.com/fluent/fluentd-kubernetes-daemonset.git cd fluentd-kubernetes-daemonset # 构建自定义镜像 cd docker-image/v1.14/debian-graylog # 打包镜像,这里换成您自己的镜像服务器地址 docker build -t registry.cn-chengdu.aliyuncs.com/aitrade/fluentd-graylog:0.0.1 . docker push registry.cn-chengdu.aliyuncs.com/aitrade/fluentd-graylog:0.0.1 # 安装fluentd vi fluentd-daemonset-graylog-rbac.yaml # ...省略若干... # 配置日志输出到graylog data: fluent.conf: | @include kubernetes.conf @type relabel @label @NORMAL # ...省略若干... # 配置采集container日志 # ...省略若干... # 配置graylog服务端地址、端口、协议 containers: - name: fluentd image: registry.cn-chengdu.aliyuncs.com/aitrade/fluentd-graylog:0.0.1 imagePullPolicy: IfNotPresent env: - name: FLUENT_GRAYLOG_HOST value: "192.168.0.15" # graylog服务端地址,请修改成您自己的 - name: FLUENT_GRAYLOG_PORT value: "12201" # graylog gelf input端口 - name: FLUENT_GRAYLOG_PROTOCOL value: "tcp" # graylog gelf input协议 # :wq保存退出 # 启动fluentd kubectl apply -f fluentd-daemonset-graylog-rbac.yaml # 进入rancher,查看fluentd日志 # kubeadm安装的k8s集群,master节点默认不调度,需要修改,node10为master节点,注意修改成您自己的 # 添加尽量不调度 PreferNoSchedule kubectl taint nodes node10 node-role.kubernetes.io/master:PreferNoSchedule # 去除污点NoSchedule,最后一个"-"代表删除 kubectl taint nodes node10 node-role.kubernetes.io/master:NoSchedule-
graylog日志列表效果:
rancher fluentd pod日志:
rancher k8s taint示例:
后续文章会介绍fluentd java exception、 多行日志如何合并处理,欢迎大家关注点赞评论,您的鼓励是我最大的动力!
版权所有,转载请注明出处!