Как посмотреть логи в Linux?

«Как посмотреть логи в Linux?» — вопрос из категории Linux, который задают на 23% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В 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 для агрегации и алертинга.