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 Logging Driver: journald
json-file
に変更するには、以下の手順に従います。
/etc/sysconfig/docker ファイルまたは /etc/docker/daemon.json ファイルのいずれかを変更します。
以下に例を示します。
# cat /etc/sysconfig/docker OPTIONS=' --selinux-enabled --log-driver=json-file --log-opt max-size=1M --log-opt max-file=3 --signature-verification=False' cat /etc/docker/daemon.json { "log-driver": "json-file", "log-opts": { "max-size": "1M", "max-file": "1" } }
Docker サービスを再起動します。
systemctl restart docker
Fluentd を再起動します。
警告13 以上のノードで一度に Fluentd を再起動すると、Kubernetes スケジューラーに大きな負荷が生成されます。以下の手順に従って Fluentd を再起動する場合は、細心の注意を払ってください。
Fluentd を再起動する方法は 2 つあります。1 つのノードまたはノードセット上で Fluentd を再起動するか、またはすべてのノードで Fluentd を再起動できます。
以下の手順は、1 つのノードまたはノードセット上で Fluentd を再起動する方法を示しています。
Fluentd が実行しているノードの一覧を表示します。
$ oc get nodes -l logging-infra-fluentd=true
各ノードについて、ラベルを削除して Fluentd をオフにします。
$ oc label node $node logging-infra-fluentd-
Fluentd がオフになっていることを確認します。
$ oc get pods -l component=fluentd
各ノードについて Fluentd を再起動します。
$ oc label node $node logging-infra-fluentd=true
以下の手順は、すべてのノード上で Fluentd を再起動する方法を示しています。
すべてのノードで Fluentd をオフにします。
$ oc label node -l logging-infra-fluentd=true --overwrite logging-infra-fluentd=false
Fluentd がオフになっていることを確認します。
$ oc get pods -l component=fluentd
すべてのノードで Fluentd を再起動します。
$ oc label node -l logging-infra-fluentd=false --overwrite logging-infra-fluentd=true
Fluentd がオンになっていることを確認します。
$ oc get pods -l component=fluentd