# 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、 多行日志如何合并处理,欢迎大家关注点赞评论,您的鼓励是我最大的动力!
版权所有,转载请注明出处!
页面更新:2024-05-19
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号