
Мониторинг и диагностика Linux с помощью journalctl
Journalctl - это мощная утилита командной строки в Linux, предназначенная для запроса и отображения сообщений из журнала, управляемого systemd-journald.
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”