Logging
Consulting logs is one of the first things you should do to identify a cause of a problem. By default, the FindFace Multi processes are logged to Docker container logs, which can be accessed via the docker logs and docker service logs commands. In addition, Docker uses the json-file logging driver, which caches container logs in JSON. You can configure Docker to use another logging driver, choosing from the multiple logging mechanisms available.
This section describes how to set up Docker to use the journald logging driver, which sends container logs to the systemd journal. In this case, log entries are retrieved using the journalctl command, through the journal API, or the docker logs command. You can configure the systemd journal as well by using the instructions below.
In this section:
Configure Journald
To configure the systemd-journal service, do the following:
Check whether the
/var/log/journaldirectory already exists. If not, create it by executing the following command:sudo mkdir /var/log/journal sudo chmod 2755 /var/log/journal
Open the
/etc/systemd/journald.confconfiguration file. Enable savingjournaldlogs to your hard drive by uncommenting theStorageparameter and changing its value topersistent. Disable filtering insystemd-journalas well:sudo vi /etc/systemd/journald.conf [Journal] ... Storage=persistent ... RateLimitInterval=0 RateLimitBurst=0 ...
If necessary, uncomment and edit the
SystemMaxUseparameter. This parameter determines the maximum volume of log files on your hard drive. Specify its value in bytes or use K, M, G, T, P, E as units for the specified size (equal to \(1024\), \(1024^2\), … bytes).... SystemMaxUse=3G
Restart the
journaldservice.sudo systemctl restart systemd-journald.service
Enabling Journald Logging Driver
To enable Docker to use the journald logging driver, do the following:
Add the following line to the
/etc/docker/daemon.jsonconfiguration file.Tip
This file may not be present on your system. Check whether it exists and if it does not, create the
/etc/dockerdirectory first and then the file.sudo mkdir /etc/docker sudo touch /etc/docker/daemon.json
sudo vi /etc/docker/daemon.json { "log-driver": "journald" }
Stop all Docker containers.
sudo docker stop $(sudo docker ps -a -q)
Restart the Docker service.
sudo systemctl restart docker
Start all Docker containers.
sudo docker start $(sudo docker ps -a -q)
Consult Logs
Use any convenient method to work with the journald logs. The following commands are a good place to start:
Display all logs:
journalctl -fa
Display logs by container ID:
journalctl CONTAINER_ID=<container_id> -f
Display logs by container name:
journalctl CONTAINER_NAME=<container-name> -f
See also