36.11. 更改聚合日志记录驱动程序
对于聚合日志,建议使用 json-file
日志驱动程序。
使用 json-file
驱动程序时,请确保使用 Docker 版本 docker-1.12.6-55.gitc4618fb.el7_4 now 或更高版本。
Fluentd 通过检查 /etc/docker/daemon.json 和 /etc/sysconfig/docker 文件来确定驱动程序 Docker 正在使用。
您可以通过 docker info
命令确定 Docker 正在使用哪些驱动程序:
docker info | grep Logging
# docker info | grep Logging
Logging Driver: journald
进入 json-file
:
修改 /etc/sysconfig/docker 或 /etc/docker/daemon.json 文件。
例如:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重启 Docker 服务:
systemctl restart docker
systemctl restart docker
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重启 Fluentd。
警告同时,在超过 dozen 节点上重启 Fluentd 会在 Kubernetes 调度程序上创建一个大型负载。在使用以下指示重启 Fluentd 时要小心谨慎。
重启 Fluentd 的方法有两种。您可以在一个节点或一组节点或所有节点中重启 Fluentd。
以下步骤演示了如何在一个节点或一组节点上重启 Fluentd。
列出运行 Fluentd 的节点:
oc get nodes -l logging-infra-fluentd=true
$ oc get nodes -l logging-infra-fluentd=true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 对于每个节点,删除标签并关闭 Fluentd:
oc label node $node logging-infra-fluentd-
$ oc label node $node logging-infra-fluentd-
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证 Fluentd 已关闭:
oc get pods -l component=fluentd
$ oc get pods -l component=fluentd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 对于每个节点,重启 Fluentd:
oc label node $node logging-infra-fluentd=true
$ oc label node $node logging-infra-fluentd=true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
以下步骤演示了如何重启 Fluentd 所有节点。
在所有节点上关闭 Fluentd:
oc label node -l logging-infra-fluentd=true --overwrite logging-infra-fluentd=false
$ oc label node -l logging-infra-fluentd=true --overwrite logging-infra-fluentd=false
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证 Fluentd 已关闭:
oc get pods -l component=fluentd
$ oc get pods -l component=fluentd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在所有节点上重启 Fluentd:
oc label node -l logging-infra-fluentd=false --overwrite logging-infra-fluentd=true
$ oc label node -l logging-infra-fluentd=false --overwrite logging-infra-fluentd=true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证 Fluentd 是否存在:
oc get pods -l component=fluentd
$ oc get pods -l component=fluentd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow