Ответ
В Linux логи хранятся в виде текстовых файлов в /var/log/ и управляются демоном journald (systemd). Я использую разные инструменты в зависимости от задачи.
1. Работа с системным журналом (journalctl):
# Показать все логи с конца (самые свежие снизу)
journalctl -xe
# Логи за последний час для конкретного сервиса (например, Docker)
journalctl -u docker.service --since "1 hour ago"
# Логи с определённым уровнем серьёзности (приоритетом)
journalctl -p err..alert
# Поиск по ключевому слову в логах за сегодня
journalctl --since today | grep -i "fail"
# Вывод в формате JSON для дальнейшей обработки
journalctl -o json
2. Работа с классическими лог-файлами:
# Мониторинг системного лога в реальном времени
tail -f /var/log/syslog
# Просмотр логов аутентификации (входы по SSH, sudo)
cat /var/log/auth.log
# Поиск ошибок в логах загрузки
grep -i "error" /var/log/boot.log
# Анализ логов с помощью less (удобно для навигации)
less +G /var/log/kern.log
3. Ключевые файлы логов:
/var/log/syslog//var/log/messages— общие системные сообщения./var/log/auth.log//var/log/secure— логи аутентификации и безопасности./var/log/kern.log— сообщения ядра./var/log/dmesg— логи драйверов и устройств при загрузке (такжеdmesg -T).
В инфраструктуре мы централизуем логи через rsyslog или Fluent Bit, отправляя их в Loki или Elasticsearch для агрегации и алертинга.