[[A8R.ru]]
...
Мониторинг и диагностика Linux с помощью journalctl

Journalctl - это мощная утилита командной строки в Linux, предназначенная для запроса и отображения сообщений из журнала, управляемого systemd-journald.

20.09.2024
Linux

Journalctl - это мощная утилита командной строки в Linux, предназначенная для запроса и отображения сообщений из журнала, управляемого systemd-journald. Эта утилита позволяет системным администраторам и пользователям получать доступ к детальной информации о системных событиях, службах и процессах, что делает её незаменимым инструментом для диагностики и устранения неполадок в системе.

Все логи всех юнитов с момента последней загрузки:

journalctl

Лог последней загрузки:

journalctl -b

Список послдених загрузок системы:

journalctl --list-boots

Лог определенной загрузки (boot-id - см. предыдущую команду):

journalctl -b <boot-id>

Логи определенного юнита:

journalctl -u nginx

Следить (tail -f) за логом определенного юнита:

journalctl -f -u nginx

Посмотреть сколько занимают логи на диске:

journalctl --disk-usage

Ограничить объем хранимых логов (journald сам занимается ротацией) можно по размеру:

journalctl --vacuum-size=1G

Или по времени:

journalctl --vacuum-time=1week или 1d

Просмотр журнала за определенный промежуток времени. Например, journalctl --since "2024-09-20 11:30" покажет журнал с 11:30 сегодняшнего дня.

journalctl --since <дата и время>

 Просмотр журнала до определенного времени. Например, journalctl --until "2024-09-20 11:45" покажет журнал до 11:45 сегодняшнего дня.

journalctl --until <дата и время>

Отображение сообщений журнала определенного приоритета. Например, journalctl -p 2 покажет сообщения с приоритетом “Warning”.

journalctl -p <0|1|2|3|4|5|6|7> 

Перенаправление вывода journalctl в файл для последующего анализа или сохранения.

journalctl > journal_log.txt 

Использование grep для фильтрации вывода journalctl и поиска строк, содержащих “mysql”.

journalctl | grep “mysql”