Администрирование
Журналирование
Системные журналы и логирование в SAIKYO OS
Systemd Journal
SAIKYO OS использует systemd-journald для централизованного сбора логов. Журнал хранит сообщения от ядра, служб, приложений и системных компонентов.
Основные команды journalctl
# Все логи (с пагинацией)
journalctl
# Последние записи
journalctl -n 100
# В реальном времени
journalctl -f
# Логи текущей загрузки
journalctl -b
# Логи предыдущей загрузки
journalctl -b -1
# Список загрузок
journalctl --list-bootsФильтрация по службе
# Логи конкретной службы
journalctl -u nginx
journalctl -u ssh
journalctl -u NetworkManager
# Несколько служб
journalctl -u nginx -u php-fpm
# С временным диапазоном
journalctl -u nginx --since "2024-01-01" --until "2024-01-02"
journalctl -u nginx --since "1 hour ago"Фильтрация по приоритету
# Только ошибки и критические
journalctl -p err
# Уровни приоритета:
# 0: emerg - система неработоспособна
# 1: alert - требуется немедленное действие
# 2: crit - критические условия
# 3: err - ошибки
# 4: warning - предупреждения
# 5: notice - важные уведомления
# 6: info - информационные сообщения
# 7: debug - отладочные сообщения
journalctl -p warning..errФильтрация по процессу
# По PID
journalctl _PID=1234
# По пользователю
journalctl _UID=1000
# По исполняемому файлу
journalctl /usr/bin/nginxТрадиционные логи
Помимо journald, некоторые приложения пишут в традиционные файлы логов:
| Файл | Описание |
|---|---|
| /var/log/syslog | Общий системный журнал |
| /var/log/auth.log | Аутентификация и авторизация |
| /var/log/kern.log | Сообщения ядра |
| /var/log/dmesg | Загрузка ядра |
| /var/log/apt/ | Логи APT |
| /var/log/nginx/ | Логи Nginx |
| /var/log/audit/ | Аудит безопасности |
Ротация логов
Logrotate автоматически управляет размером и архивацией логов:
# Конфигурация
/etc/logrotate.conf
/etc/logrotate.d/
# Принудительная ротация
sudo logrotate -f /etc/logrotate.conf
# Проверка конфигурации
sudo logrotate -d /etc/logrotate.confНастройка journald
Файл конфигурации: /etc/systemd/journald.conf
[Journal]
# Максимальный размер журнала
SystemMaxUse=500M
# Максимальный размер одного файла
SystemMaxFileSize=50M
# Хранить логи на диске (по умолчанию volatile)
Storage=persistent
# Сжатие
Compress=yesПолезные примеры
# Ошибки за последний час
journalctl -p err --since "1 hour ago"
# Логи ядра
journalctl -k
# Вывод в JSON
journalctl -o json-pretty
# Очистка старых логов
sudo journalctl --vacuum-time=7d
sudo journalctl --vacuum-size=500M