Как эффективно анализировать логи Linux с помощью journalctl?

Для базового просмотра системных логов в Linux используется journalctl. При большом объеме логов следует применять опции --no-pager для отключения постраничного вывода и --since "1 hour ago" для просмотра логов за определенный период. После перезагрузки сервера полезно использовать -b для просмотра логов с момента последней загрузки. Можно уточнить конкретный запуск с помощью -b -1 для предыдущей загрузки.
Как эффективно анализировать логи Linux с помощью journalctl?
Изображение носит иллюстративный характер

Для фокусировки на конкретном сервисе, например, nginx, применяется флаг -u, например, journalctl -u nginx.service. Сортировать логи от новых к старым можно с --reverse. Для поиска ошибок используется grep с опцией -i для игнорирования регистра, например grep -i "error". Для просмотра контекста вокруг ошибки применяются опции -A и -B, например grep -A 2 -B 2 "error".

Для извлечения нужных данных из лога используется awk. Например, awk '{print $1, $2, $3, $6}' выведет дату, время и сообщение. Для обрезки длинных сообщений можно использовать awk '{print substr($0, index($0,$6))}'. Для очистки логов от лишних символов, например, квадратных скобок, используется sed, например sed 's/\[.\]//g'. sed 's/error/!!!ERROR!!!/g' заменит текст error на!!!ERROR!!!.

Для автоматического сбора ошибок в файл можно использовать crontab и скрипт. Пример: journalctl -u nginx.service --since "1 day ago" | grep -i "error" | awk '{print $1, $2, $3, $6, $7, $8}' > /var/log/nginx_errors.log. Для просмотра логов в реальном времени используется флаг -f, например, journalctl -u nginx.service -f, что аналогично tail -f.


Новое на сайте

19521Банковский троян VENON на Rust атакует Бразилию с помощью девяти техник обхода защиты 19520Бонобо агрессивны не меньше шимпанзе, но всё решают самки 19519Почему 600-килограммовый зонд NASA падает на Землю из-за солнечной активности? 19518«Липовый календарь»: как расписание превращает работников в расходный материал 19517Вредоносные Rust-пакеты и ИИ-бот крадут секреты разработчиков через CI/CD-пайплайны 19516Как хакеры за 72 часа превратили npm-пакет в ключ от целого облака AWS 19515Как WebDAV-диск и поддельная капча помогают обойти антивирус? 19514Могут ли простые числа скрываться внутри чёрных дыр? 19513Метеорит пробил крышу дома в Германии — откуда взялся огненный шар над Европой? 19512Уязвимости LeakyLooker в Google Looker Studio открывали доступ к чужим базам данных 19511Почему тысячи серверов оказываются открытой дверью для хакеров, хотя могли бы ею не быть? 19510Как исследователи за четыре минуты заставили ИИ-браузер Perplexity Comet попасться на... 19509Может ли женщина без влагалища и шейки матки зачать ребёнка естественным путём? 19508Зачем учёные из Вены создали QR-код, который невозможно увидеть без электронного... 19507Девять уязвимостей CrackArmor позволяют получить root-доступ через модуль безопасности...
Ссылка