journalctl Доступ к журналу gpasswd -a $USER wheel Фильтрация сообщений по уровню ошибки Вывод лога в текстовый файл journalctl -b > /home/user/debug.log Показывать записи журнала с момента запуска системы с расшифровкой ошибок: journalctl -xb journalctl -b # последняя загрузка journalctl -b -1 # предыдущая загрузка journalctl -b 0 journalctl -p err -b journalctl -p err -b -1 -u NetworkManager 0 — EMERG (система неработоспособна); 1 — ALERT (требуется немедленное вмешательство); 2 — CRIT (критическое состояние); 3 — ERR (ошибка); 4 — WARNING (предупреждение); 5 — NOTICE (всё нормально, но следует обратить внимание); 6 — INFO (информационное сообщение); 7 —DEBUG (отложенная печать) Просмотр сообщений ядра journalctl -k journalctl -k -b -2 journalctl --dmesg Фильтрация по приложениям и службам journalctl -u httpd.service -u mysql.service journalctl -u nginx.service -u php-fpm.service —since today Фильтрация по процессам, пользователям и группам Просмотреть список всех доступных фильтров man systemd.journal-fields journalctl -F _PID # процессы journalctl -F _UID # пользователи journalctl -F _GID # группы просмотреть логи всех процессов, запущенных от имени этого пользователя: id -u www-data journalctl _UID=33 Фильтрация по пути journalctl /usr/bin/docker фильтрация по дате и времени journalctl --since "2017-05-05 00:01" --until "2017-05-06 01:40" cat — только сообщения из логов без служебных полей; export — бинарный формат, подходит для экспорта или резервного копирования логов; short — формат вывода syslog; short-iso — формат вывода syslog с метками времени в формате ISO 8601; short-monotonic — формат вывода syslog c метками монотонного времени (monotonic timestamp); short-precise — формат вывода syslog с метками точного времени (время событий указывается с точностью до микросекунд); verbose — максимально подробный формат представления данных (включает даже те поля, которые в других форматах не отображаются). Просмотр логов в режиме реального времени journalctl -f Просмотр информации о недавних событиях journalctl -n journalctl -n 20 Запись в журнал systemd-cat echo "Текст сообщения" journalctl -f апр 18 01:14:13 arch1 echo[4822]: Текст сообщения Поиск информации в журнале journalctl SYSLOG_IDENTIFIER=Test выводит все сообщения имеющие идентификатор сообщения Test. Запись логов в стандартный вывод journalctl --no-pager > log.txt Выбор формата вывода journalctl -u nginx.service -o json Анализ этапа загрузки Выявляем самые медленные процессы (от пользователя): systemd-analyze blame Выводим график загрузки процессов в векторный рисунок: systemd-analyze plot > file.svg Управление логгированием Текущие разрешенные лимиты для журналов на диске и в памяти systemctl status systemd-journald journalctl -t systemd-journald Все загрузки системы journalctl --list-boots Определение текущего объёма логов journalctl --disk-usage Настройка ротации логов в конфигурационном файле /etc/systemd/journald.conf /var/log/journal/ SystemMaxUse= максимальный объём, который логи могут занимать на диске; SystemKeepFree= объём свободного места, которое должно оставаться на диске после сохранения логов; SystemMaxFileSize= объём файла лога, по достижении которого он должен быть удален с диска; RuntimeMaxUse= максимальный объём, который логи могут занимать в файловой системе /run; RuntimeKeepFree= объём свободного места, которое должно оставаться в файловой системе /run после сохранения логов; RuntimeMaxFileSize= объём файла лога, по достижении которого он должен быть удален из файловой системы /run. systemctl restart systemd-journald # применить конфигурацию journalctl --vacuum-size=100M # автоматически удалять все логи при превышении объёма journalctl --vacuum-time=1months # Удалить все логии старше последнего месяца systemctl status systemd-journald journalctl -t systemd-journald