Linux

Настройка централизованного логгирования с помощью rsyslog на Linux

В этом руководстве вы научитесь настроить централизованное логгирование с помощью rsyslog на Linux. После выполнения инструкции ваши серверы будут отправлять логи на один центральный узел для удобного мониторинга.

Обновлено 2 июля 2026 г.
10-15 мин
Средняя
FixPedia Team
Применимо к:Ubuntu 20.04Ubuntu 22.04Debian 11CentOS 8RHEL 8

Введение / Зачем это нужно

Централизованное логгирование позволяет собирать логи со всех серверов в одном месте, что упрощает поиск проблем, аудит безопасности и соблюдение требований. Rsyslog — это легковесный и гибкий сервер Syslog для Linux, который идеально подходит для организации такой схемы. После выполнения этого руководства вы настроите rsyslog так, чтобы каждый клиент отправлял логи на один центральный сервер, обеспечивая единую точку просмотра журналов.

Требования / Подготовка

  • ОС: Ubuntu 20.04, 22.04, Debian 11, CentOS 8, RHEL 8 (или любая современная дистрибутива на базе Linux).
  • Права администратора (root или sudo).
  • Установленный и работающий rsyslog (инструкция включает установку).
  • Сеть, в которой целевые хосты могут достигать central-log-server по TCP/UDP порту 514 (или настроенного порта).

Пошаговая инструкция

Шаг 1: Установка пакета rsyslog

На целевом хосте выполните команду:

# Для Ubuntu/Debian
apt-get update && apt-get install -y rsyslog

# Для CentOS/RHEL
yum install -y rsyslog

Пакет создает базовый конфигурационный файл /etc/rsyslog.conf.

Шаг 2: Настройка клиента для отправки логов

Откройте конфигурационный файл на клиенте:

sudo nano /etc/rsyslog.conf

Добавьте строку в конец файла (замените central-log-server на IP-адрес или DNS имя целевого сервера):

*.info;mail -@central-log-server

Сохраните файл (Ctrl+O), выйдите (Ctrl+X) и примените изменения:

sudo systemctl restart rsyslog

Шаг 3: Настройка центрального сервера для приема логов

На целевом сервере откройте /etc/rsyslog.conf:

sudo nano /etc/rsyslog.conf

Убедитесь, что в файле присутствуют следующие директивы (они обычно уже есть):

module(load="imuxsock") # приём логов из сокетов
module(load="imudp")
input(type="imudp" port="514")

Добавьте правило для записи в файл:

*.* @@central-log-server:514

Если вы хотите записать логи в локальный файл, добавьте:

*.* /var/log/central.log

Сохраните изменения, выйдите и перезапустите сервис:

sudo systemctl restart rsyslog

Шаг 4: Перезапуск rsyslog

Убедитесь, что служба запущена:

sudo systemctl status rsyslog

Если сервис неактивен, запустите его:

sudo systemctl start rsyslog

Шаг 5: Проверка сбора логов

Создайте тестовое сообщение на клиенте:

logger "Test message for central log"

На целевом сервере проверьте, появилось ли сообщение:

tail -f /var/log/central.log

Также на клиенте проверьте /var/log/syslog (или /var/log/messages), чтобы убедиться, что лог отправился.

💡 Совет: Для большего контроля вы можете настроить ротацию лог файлов с помощью logrotate, добавив конфигурационный файл в /etc/logrotate.d/rsyslog.

Проверка результата

После выполнения всех шагов вы должны увидеть:

  • Тестовые логи на центральном сервере в /var/log/central.log.
  • Отсутствие ошибок в rsyslog при выполнении journalctl -u rsyslog.
  • Все клиенты успешно отправляют логи (проверьте через grep "Test message" на сервере).

Если какой-то клиент не отправляет логи, проверьте сетевую доступность (ping central-log-server) и убедитесь, что правила конфигурации применены (sudo rsyslogd -c /etc/rsyslog.conf -t).

Возможные проблемы

  • Ошибка подключения: Can't connect to remote syslog server. Убедитесь, что central-log-server доступен (telnet central-log-server 514) и брандмауэр не блокирует трафик.
  • Нет записей в центральном логе: Проверьте синтаксис конфигурации (rsyslogd -c /etc/rsyslog.conf -t), перезапустите сервис и проверьте grep "central-log-server" /var/log/syslog на клиенте.
  • Rsyslog не устанавливается: Убедитесь, что все необходимые репозитории установлены (apt-get install -y rsyslog или yum install -y rsyslog). На некоторых дистрибутивах может потребоваться yum groupinstall "System Tools".

Часто задаваемые вопросы

Зачем нужна централизованная логика с rsyslog?
Как настроить отправку логов с нескольких Linux-серверов на один rsyslog-сервер?
Что делать, если rsyslog не устанавливается или не запускается после изменений?

Полезное

Установка пакета rsyslog
Настройка клиента для отправки логов
Настройка центрального сервера для приема логов
Перезапуск rsyslog
Проверка сбора логов

Эта статья помогла вам решить проблему?