Логирование
Просмотр логов — это первое, что нужно сделать, чтобы определить причину проблемы. По умолчанию процессы FindFace Multi регистрируются в логах контейнеров Docker, доступ к которым можно получить, используя команды docker logs и docker service logs. Помимо этого Docker использует драйвер логирования в формате JSON, который кэширует логи контейнеров в данный формат. Вы можете настроить Docker на использование другого драйвера логирования, выбрав из множества доступных механизмов логирования.
Данный раздел посвящен настройке Docker на использование драйвера логирования journald, который отправляет логи контейнеров в журнал systemd. В этом случае записи журнала извлекаются с помощью команды journalctl, через journal API или команды docker logs. Следуя приведенным ниже инструкциям, вы также можете настроить журнал systemd.
В этом разделе:
Настройка Journald
Для настройки сервиса systemd-journal выполните следующие действия:
Проверьте наличие директории
/var/log/journal. Если таковая отсутствует, создайте ее следующей командой:sudo mkdir /var/log/journal sudo chmod 2755 /var/log/journal
Откройте файл конфигурации
/etc/systemd/journald.conf. Включите сохранение логовjournaldна жестком диске, раскомментировав параметрStorageи изменив его значение наpersistent. Также отключите фильтрациюsystemd-journal:sudo vi /etc/systemd/journald.conf [Journal] ... Storage=persistent ... RateLimitIntervalSec=0 RateLimitBurst=0 ...
При необходимости раскомментируйте и измените значение параметра
SystemMaxUse. Данный параметр определяет максимальный объем логов на жестком диске. Укажите его значение в байтах или используйте K, M, G, T, P, E в качестве единиц для указанного размера (соответственно \(1024\), \(1024^2\), … байт).... SystemMaxUse=3G
Перезапустите сервис
journald.sudo systemctl restart systemd-journald.service
Активация драйвера логирования journald
Для того чтобы разрешить Docker использовать драйвер логирования journald, выполните следующие действия:
Добавьте следующую строку в файл конфигурации
/etc/docker/daemon.json.Совет
Данный файл может отсутствовать в вашей системе. Проверьте, существует ли он, и если нет, сначала создайте каталог
/etc/docker, а затем файл.sudo mkdir /etc/docker sudo touch /etc/docker/daemon.json
sudo vi /etc/docker/daemon.json { "log-driver": "journald" }
Остановите все контейнеры Docker.
sudo docker stop $(sudo docker ps -a -q)
Перезапустите сервис Docker.
sudo systemctl restart docker
Запустите все контейнеры Docker.
sudo docker start $(sudo docker ps -a -q)
Просмотр логов
Используйте любой удобный способ работы с логами journald. Мы рекомендуем начать со следующих команд:
Отображение всех логов:
journalctl -fa
Отображение логов по ID контейнера:
journalctl CONTAINER_ID=<container_id> -f
Отображение логов по имени контейнера:
journalctl CONTAINER_NAME=<container-name> -f
См.также