Найти в Дзене

Какой демон обеспечивает протоколирование событий в linux

В Linux протоколирование событий обеспечивают несколько ключевых демонов — выбор зависит от дистрибутива и версии системы.
Оглавление

В Linux протоколирование событий обеспечивают несколько ключевых демонов — выбор зависит от дистрибутива и версии системы.

Основные демоны протоколирования

  1. syslogd (из пакета sysklogd) — классический демон:
    обрабатывает сообщения от приложений и ядра;
    руководствуется правилами из /etc/syslog.conf;
    направляет логи в файлы (например, /var/log/messages, /var/log/auth.log).
  2. rsyslog — современная, высокопроизводительная замена syslogd:
    поддерживает фильтрацию по свойствам сообщений;
    умеет отправлять логи на удалённые серверы;
    конфигурация — в /etc/rsyslog.conf и /etc/rsyslog.d/;
    широко используется в Debian, Ubuntu, RHEL/CentOS.
  3. systemd-journald — демон из системы systemd:
    собирает логи всех компонентов (ядро, службы, приложения) в
    бинарную базу (/var/log/journal/);
    не требует настройки отправки логов — автоматически перехватывает stdout/stderr процессов;
    просмотр через journalctl;
    часто работает
    совместно с rsyslog (передает логи в текстовые файлы).
  4. klogd — специальный демон для логов ядра:
    перехватывает сообщения ядра, которые syslogd/rsyslog не видят;
    обычно идёт в комплекте с sysklogd.

Как определить, какой демон используется

  1. Проверить запущенные процессы:ps aux | grep -E 'syslogd|rsyslogd|journald|klogd'
  2. Посмотреть установленные пакеты (примеры для разных дистрибутивов):
    Debian/Ubuntu:dpkg -l | grep -E 'sysklogd|rsyslog|systemd'

    RHEL/CentOS/Fedora:rpm -qa | grep -E 'sysklogd|rsyslog|systemd'
  3. Проверить наличие файлов конфигурации:
    /etc/syslog.conf — syslogd;
    /etc/rsyslog.conf — rsyslog;
    /etc/systemd/journald.conf — systemd-journald.

Важные утилиты для работы с логами

  • journalctl — просмотр логов systemd-journald (например, journalctl -b — логи текущей загрузки).
  • logger — ручная отправка сообщений в систему протоколирования (например, logger "Тест сообщения").
  • tail -f /var/log/*.log — мониторинг текстовых логов в реальном времени.

Резюме

  • В старых дистрибутивах чаще встречается syslogd + klogd.
  • В современных системах (Ubuntu 16.04+, Debian 9+, RHEL 7+) обычно работает rsyslog или systemd-journald.
  • В дистрибутивах на базе systemd (почти все актуальные) journald — основной сборщик, но rsyslog может дописывать логи в текстовые файлы для совместимости.