Где хранятся логи в Linux?
Комментарии (1)
Ответ сгенерирован нейросетью и может содержать ошибки
Логи в Linux: Система, Каталоги и Детали
В Linux логи хранятся в стандартизированной иерархии, преимущественно в каталоге /var/log. Это центральное хранилище, где системные службы, демоны, ядро и приложения записывают события, ошибки и информацию о своей работе для последующего анализа, отладки и аудита.
Основные каталоги и файлы логов
/var/log/syslogили/var/log/messages(зависит от дистрибутива):
* `syslog` — основной системный лог в дистрибутивах на базе Debian/Ubuntu (работает с `rsyslog`).
* `messages` — аналогичный главный лог в RHEL/CentOS/Fedora.
* Сюда попадают сообщения общего характера от ядра, системных служб и непривилегированных процессов.
/var/log/auth.log(/var/log/secureв RHEL):
* Ключевой файл для **аутентификации и безопасности**. Здесь фиксируются все события входа/выхода (success и failure), использование `sudo`, аутентификация по SSH.
/var/log/kern.log:
* Специализированный лог для сообщений от **ядра Linux** (kernel). Ошибки драйверов, предупреждения от подсистем ядра, информация о работе оборудования.
/var/log/boot.log:
* Содержит записи, связанные с процессом **загрузки системы**.
- Логи демонов и служб:
* Часто располагаются в отдельных файлах или подкаталогах: `/var/log/nginx/`, `/var/log/apache2/`, `/var/log/mysql/`, `/var/log/cron` и т.д.
Демоны журналирования
Хранение логов организуется специализированными службами:
rsyslog/syslog-ng(традиционные):
* Это системные демоны, которые собирают, фильтруют и перенаправляют логи в соответствии с правилами, заданными в конфигурационных файлах (например, `/etc/rsyslog.conf` и файлы в `/etc/rsyslog.d/`). Они работают по протоколу **syslog**.
```bash
# Пример просмотра логов в реальном времени с помощью tail
tail -f /var/log/syslog
# Фильтрация логов по службе с помощью grep
grep "ssh" /var/log/auth.log
```
2. systemd-journald (современный):
* Компонент системы **`systemd`**, который собирает логи в бинарный, индексированный журнал. Позволяет выполнять структурированные, сложные запросы с помощью утилиты **`journalctl`**.
```bash
# Просмотр всех логов с момента загрузки
journalctl -b
# Логи конкретной службы (юнита)
journalctl -u nginx.service
# Логи с фильтрацией по временному интервалу
journalctl --since "2024-01-15 09:00:00" --until "2024-01-15 17:00:00"
# Вывод в структурированном виде (JSON)
journalctl -o json-pretty
```
* Библиотека журнала по умолчанию хранится в `/var/log/journal/` (при наличии), но может работать и в памяти (`/run/log/journal/`). `journald` часто выступает в роли первичного сборщика, который затем может пересылать логи в `rsyslog` для долговременного хранения в текстовом виде.
Практические аспекты для DevOps-инженера
-
Ротация логов: Для предотвращения переполнения диска используется утилита
logrotate. Она архивирует, сжимает старые логи и удаляет самые древние файлы по расписанию (задачи в/etc/cron.daily/). Конфигурация находится в/etc/logrotate.confи/etc/logrotate.d/.# Пример конфигурации logrotate для приложения # /etc/logrotate.d/myapp /var/log/myapp/*.log { daily missingok rotate 14 compress delaycompress notifempty create 640 root adm sharedscripts postrotate systemctl reload myapp > /dev/null 2>&1 || true endscript } -
Централизованное логирование: В продакшн-среде логи с множества серверов никогда не анализируются локально. Они пересылаются в централизованные системы:
* **ELK Stack (Elasticsearch, Logstash, Kibana)**
* **Grafana Loki**
* **Splunk**
* **Datadog**
Это обеспечивает агрегацию, долгосрочное хранение, мощный поиск, визуализацию и алертинг.
- Важность атрибутов файлов: Лог-файлы должны иметь корректные права доступа (обычно
640, владелецroot:admилиsyslog) для обеспечения безопасности и корректной записи демонами.
Итог: Понимание расположения логов (/var/log), механизмов их сбора (rsyslog, journald) и управления (logrotate) — это фундаментальный навык. Для DevOps же критически важно выстроить процесс централизованного сбора логов, превращающий разрозненные данные в источник для мониторинга, быстрой диагностики инцидентов и проактивного анализа безопасности.