Kolban
Kolban

Reputation: 15276

How to change the logging options for JSON log

When we run up a container on a Compute Engine using COS, it writes its logs to JSON files. We are finding an error:

"level=error msg="Failed to log msg \"\" for logger json-file: write /var/lib/docker/containers/[image]-json.log: no space left on device". 

I was looking to change the logging settings for Docker and found this article on changing the logging driver settings:

https://docs.docker.com/config/containers/logging/json-file/

My puzzle is I don't know how to set the parameters through the console or gcloud in order to set log-opts.

Upvotes: 3

Views: 2756

Answers (1)

Gabo Licea
Gabo Licea

Reputation: 198

It seems that /var/lib/docker is on the / filesystem, and if this filesystem is running out of inodes, you will receive that message when you’ll try to run up a container and it tries to write its logs to JSON files. You can check this by running

df -i /var/lib/docker

You can configure your logging drivers to change the default values in ‘/etc/docker/daemon.json’

This is a configuration example of the daemon.json file

cat /etc/docker/daemon.json

{ "live-restore": true, "storage-driver": "overlay2" "log-driver": "json-file", "log-opts": { "max-size": "10m", "max-file": "3", "labels": "production_status", "env": "os,customer" } }

Don’t forget to restart the docker daemon after changed the file.:

systemctl restart docker.service

You can check the following documentation for further information about how to configure logging drivers.

Please let me know the results.

Upvotes: 1

Related Questions