Linux

Настройка клиента rsyslog на отправку логов на удалённый сервер

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

Обновлено 4 августа 2026 г.
5-10 мин
Средняя
FixPedia Team
Применимо к:Ubuntu 22.04CentOS 8Debian 11

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

Настройка клиента rsyslog позволяет централизованно собирать системные логи с нескольких узлов Linux в едином месте. Это упрощает мониторинг, аудит и быстрый поиск проблем. После выполнения этого гайда вы сможете настроить автоматическую отправку логов на удалённый syslog-сервер, что особенно полезно для production-сред средних и крупных сетей.

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

  • Установленный rsyslog (rsyslog версии ≥ 8.0).
  • Права администратора (sudo).
  • Доступный syslog-сервер (TCP/UDP порт 514).
  • Базовое знание редактирования текстовых файлов и работы с терминалами.

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

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

Убедитесь, что пакет rsyslog установлен. На большинстве дистрибутивов выполните:

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

# Для RHEL/CentOS
sudo dnf install rsyslog -y

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

Откройте файл /etc/rsyslog.conf в вашем любимом редакторе. Для удобства создайте отдельный файл в каталоге /etc/rsyslog.d/:

sudo nano /etc/rsyslog.d/50-client.conf

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

Добавьте строку, которая указывает rsyslog отправлять все сообщения на удалённый сервер:

*.* @10.0.0.20:514

Замените 10.0.0.20 на IP-адрес вашего syslog-сервера и, при необходимости, укажите порт. Если сервер ожидает TCP, используйте :@10.0.0.20:514.

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

Если сервер поддерживает шифрование TLS, добавьте соответствующие параметры:

*.* action(type="omfwd" Target="10.0.0.20" Port="514" Protocol="tcp" Action.ResumeRetryCount="-1")

В противном случае стандартного правила достаточно.

Шаг 5: Перезапуск службы rsyslog

Примените новые настройки:

sudo systemctl restart rsyslog
sudo systemctl status rsyslog

Проверьте, что служба работает без ошибок.

Шаг 6: Проверка отправки логов

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

logger TestMessage

Проверьте лог-файл сервера (/var/log/syslog или /var/log/rsyslog/rsyslog.log) или выполните tail -f /var/log/syslog на клиенте, чтобы убедиться, что запись появилась.

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

После выполнения шагов убедитесь, что:

  • Служба rsyslog работает (systemctl is-active rsyslog).
  • Клиент отправляет сообщения (grep TestMessage /var/log/syslog на сервере).
  • Нет ошибок в /var/log/rsyslog/rsyslog.log (grep error /var/log/rsyslog/rsyslog.log).

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

  • Нет доступа к /etc/rsyslog.conf – выполните команду с sudo.
  • Соединение отклонено – проверьте брандмауэр (iptables, firewalld) и доступность порта 514 на сервере.
  • Неверный IP/порт – убедитесь, что адрес корректен и сервер слушает указанный порт.
  • Дублирующиеся логи – удалите старые правила перед добавлением новых или укажите фильтр *.info вместо *..

⚠️ Важно: перед изменением конфигурации создайте резервную копию /etc/rsyslog.conf и /etc/rsyslog.d/50-client.conf. Это позволит быстро вернуть настройки, если что-то пойдёт не так.

💡 Совет: для сложных сред используйте пулевое отправление (omfwd с Action.PenaltyDuration="5") — это автоматически переключится на резервный сервер, если основной недоступен.

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

Зачем нужен rsyslog-клиент и что он делает?
Как проверить, что rsyslog работает после настройки?
Что делать, если клиент не может подключиться к серверу?
Можно ли настроить несколько удалённых серверов?

Полезное

Установка пакета rsyslog
Редактирование конфигурационного файла
Добавление правила передачи логов
Настройка параметров соединения
Перезапуск службы rsyslog
Проверка отправки логов

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