Linux.Systemd

cheat sheet https://gist.github.com/alertor/332083217f0797fd52d6e1b2d51ad86c

Linux.Systemd.JournalCtl

# параметры
-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