Linux

Настройка rsyslog на Linux: пошаговая инструкция для централизованного логирования

В этом гайде вы узнаете, как установить, настроить и проверить rsyslog для централизованного сбора логов на системах Linux, включая Ubuntu, Debian и CentOS.

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

Введение

RSYSLOG — это стандартный системный логгер в большинстве дистрибутивов Linux. Он позволяет централизовать сбор логов, что упрощает мониторинг, диагностику и аудит. После выполнения этого гайда у вас будет настроенный rsyslog, способный записывать локальные события и отправлять их на удалённый сервер.

Требования

  • Любая из поддерживаемых ОС: Ubuntu 20.04, Ubuntu 22.04, Debian 10, CentOS 8, RHEL 8.
  • Права root (или пользователя с sudo).
  • Доступ в сеть до целевого логгера (если планируется удалённая отправка).
  • Установленный текстовый редактор (nano, vim или любой другой).

Установка rsyslog

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

Debian‑основанные системы

sudo apt update
sudo apt install rsyslog

RHEL‑основанные системы

sudo dnf install rsyslog

После установки сервис автоматически запущен. Убедитесь, что он активен:

sudo systemctl enable rsyslog
sudo systemctl start rsyslog

Настройка rsyslog

Шаг 2: Редактирование базового конфигурационного файла

Основной конфигурационный файл обычно находится по пути /etc/rsyslog.conf. Откройте его:

sudo nano /etc/rsyslog.conf

Добавьте или отредактируйте строку, которая определяет местоположение локального лог‑файла. Например:

*.info;local7/notice /var/log/syslog

Сохраните изменения (Ctrl+O, Enter, Ctrl+X).

Шаг 3: Добавление правила для удалённого логирования

Если вам нужно отправлять логи на удалённый сервер, создайте новый файл в каталоге /etc/rsyslog.d/ (например, 30-remote.conf). Используйте редактор:

sudo nano /etc/rsyslog.d/30-remote.conf

Вставьте следующее правило, заменив remote‑server на IP или hostname целевого хоста:

*.* @remote-server:514

Сохраните и выйдите.

Шаг 4: Проверка конфигурации

Перед перезапуском проверьте синтаксис:

sudo rsyslog -t

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

sudo systemctl restart rsyslog

Шаг 5: Тестирование работы сервиса

Создайте тестовое лог‑событие:

logger test

Проверьте, появилось ли сообщение в локальном логе:

sudo tail -f /var/log/syslog

Вы должны увидеть что-то вроде:

Oct 14 12:34:56 hostname logger[12345]: test

Если запись отображается, rsyslog работает корректно.

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

  • Локальные логи: ls -l /var/log/syslog* (или /var/log/messages на Debian) должны содержать новые записи.
  • Удалённая отправка: На целевом сервере проверьте, что лог‑пакеты принимаются (например, с помощью netcat или syslog‑агента).
  • Статус сервиса: sudo systemctl status rsyslog — состояние должно быть active (running).

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

  • Синтаксис конфигурации неверенrsyslog -t укажет на ошибку. Исправьте её и перезапустите.
  • Нет прав на запись в /var/log/syslog → убедитесь, что rsyslog запущен от root или имеет соответствующие права (chmod 755 /var/log).
  • Удалённый хост недоступен → проверьте сетевое соединение (ping remote-server). Убедитесь, что целевой syslog‑порт (по умолчанию 514) открыт в брандмауэре.
  • Повторяющиеся тестовые записи → если logger test создаёт дублирующие записи после перезапуска, проверьте наличие дублирующих правил в /etc/rsyslog.d/.

Теперь у вас есть полностью функциональный rsyslog, готовый к локальному логированию и удалённой передаче данных. Продолжите изучение связанных гайдов, чтобы автоматизировать управление логами с помощью logrotate или настроить альтернативный логгер syslog-ng.

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

Как установить rsyslog на Ubuntu?
Как добавить правило для отправки логов на удалённый сервер?
Как проверить, что rsyslog работает корректно?
Что делать, если rsyslog не запускается после изменений конфигурации?

Полезное

Установка rsyslog
Настройка базового конфигурационного файла
Добавление правила для удалённого логирования
Тестирование конфигурации
Проверка прихода логов