# параметры
-g grep - поиск в тексте
-e end - сразу переходить в конец
-f follow - выводить в реальном времени
-r recursive - в обратную сторону
-x catalog - дополнительную информацию
-n 10 - отобразить 10 последних линий
-b boot id - выбрать загрузку , например предыдущую -1
--no-pager - выводить без pager`a, например для анализа
# фильтры
-k - показать только сообщения ядра.
-t SYSLOG_IDENTIFIER - отфильтровать по SYSLOG_IDENTIFIER
--since "2 days ago" / "2022-06-26 23:15:00" - с
--until "5 minutes" / "2022-06-26 23:20:00" - по
-u nginx.service -u mysql.service - unit
-p "emerg".."crit" - priority
● 0 or “emerg” ● 1 or “alert” ● 2 or “crit” ● 3 or “err” ● 4 or “warning” ● 5 or “notice” ● 6 or “info” ● 7 or “debug”
_UID=108 - user $id => uid=108(mysql)
# место
journalctl --disk-usage
# ограничить размер 100 мб
sudo journalctl --vacuum-size=100M
# вывести сообщения в много строковом виде
journalctl -xeu wg-quick@wg0.service
# вывести сообщения со всеми полями
journalctl -b -r --since "3 min ago" -o json-pretty
#отфильтровать текущая загрузка и по полю ( в примере ansible ) -r reverse - обратный порядок
journalctl -b -r --since "15 min ago" SYSLOG_IDENTIFIER=python3
#поиск событий от Docker
journalctl -b -r -t dockerd | head -100
#анализ данных
journalctl -b --no-pager --since='-10m' -o short-monotonic -u dockerd
journalctl -b --no-pager --since='-10m' -o json | jq '.MESSAGE'
# отладка journalctl
SYSTEMD_LOG_LEVEL=debug journalctl -n10 -e -u postfix\* -g sent