Настройка сервера · 3 min read · Oct 06, 2025
Как установить и настроить сервер и клиент Rsyslog на Ubuntu 24.04

Rsyslog на Ubuntu — это мощный и гибкий демон системного логирования, используемый для сбора, фильтрации, хранения и пересылки сообщений журналов, генерируемых операционной системой и приложениями. Это улучшенная версия традиционной службы syslog, предоставляющая дополнительные функции, такие как высокопроизводительное логирование, расширенные возможности фильтрации и поддержку нескольких протоколов логирования, включая TCP, UDP и RELP (Reliable Event Logging Protocol). Rsyslog может обрабатывать сообщения журналов из различных источников и направлять их в разные места назначения, такие как файлы, базы данных или удаленные серверы. Он широко используется в централизованных системах логирования для мониторинга, устранения неполадок и аудита. Позволяя детальную настройку, Rsyslog позволяет администраторам Ubuntu эффективно управлять системными журналами и гарантировать, что важная информация будет захвачена и безопасно сохранена.
Журналы очень полезны для анализа и устранения проблем, связанных с системой Linux и приложениями. По умолчанию все файлы журналов находятся в директории /var/log в операционных системах на базе Linux. Существует несколько типов файлов журналов, включая cron, kernel, users и security, и большинство из этих файлов контролируется службой Rsyslog.
В этом руководстве я объясню, как настроить сервер Rsyslog на сервере Ubuntu 24.04.
Предварительные требования
- Два сервера, работающих на Ubuntu 24.04.
- Статический IP-адрес 192.168.0.101 настроен на машине сервера Rsyslog, а 192.168.0.102 настроен на машине клиента Rsyslog.
- Пароль root настроен на обоих серверах.
Установка Rsyslog
Вы можете установить Rsyslog, выполнив следующую команду:
apt install rsyslog -yПосле установки Rsyslog вы можете проверить версию Rsyslog с помощью следующей команды:
rsyslogd -vВы также можете проверить статус Rsyslog с помощью следующей команды:
systemctl status rsyslogВы должны увидеть следующий вывод:
? rsyslog.service - System Logging Service
Loaded: loaded (/lib/systemd/system/rsyslog.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2024-08-22 04:28:55 UTC; 1min 31s ago
Docs: man:rsyslogd(8)
http://www.rsyslog.com/doc/
Main PID: 724 (rsyslogd)
Tasks: 4 (limit: 1114)
CGroup: /system.slice/rsyslog.service
??724 /usr/sbin/rsyslogd -n
Aug 22 04:28:53 ubuntu2404 systemd[1]: Starting System Logging Service...
Aug 22 04:28:54 ubuntu2404 rsyslogd[724]: imuxsock: Acquired UNIX socket '/run/systemd/journal/syslog' (fd 3) from systemd. [v8.32.0]
Aug 22 04:28:54 ubuntu2404 rsyslogd[724]: rsyslogd's groupid changed to 106
Aug 22 04:28:54 ubuntu2404 rsyslogd[724]: rsyslogd's userid changed to 102
Aug 22 04:28:54 ubuntu2404 rsyslogd[724]: [origin software="rsyslogd" swVersion="8.32.0" x-pid="724" x-info="http://www.rsyslog.com"] start
Aug 22 04:28:55 ubuntu2404 systemd[1]: Started System Logging Service.
Настройка сервера Rsyslog
Rsyslog теперь установлен и работает. Далее вам нужно настроить его для работы в режиме сервера. Вы можете отредактировать файл /etc/rsyslog.conf.
nano /etc/rsyslog.confСначала вам нужно определить протокол, либо UDP, либо TCP, либо оба.
Чтобы использовать как UDP, так и TCP соединения одновременно, найдите и раскомментируйте строки ниже:
$ModLoad imudp
$UDPServerRun 514
$ModLoad imtcp
$InputTCPServerRun 514
Далее определите конкретную подсеть, IP или домен, чтобы ограничить доступ, как показано ниже:
$AllowedSender TCP, 127.0.0.1, 192.168.0.0/24, *.example.com
$AllowedSender UDP, 127.0.0.1, 192.168.0.0/24, *.example.com
Далее вам нужно создать шаблон, чтобы указать серверу Rsyslog, как хранить входящие сообщения syslog. Добавьте следующие строки сразу перед секцией GLOBAL DIRECTIVES:
$template remote-incoming-logs, "/var/log/%HOSTNAME%/%PROGRAMNAME%.log"
*.* ?remote-incoming-logs
Сохраните и закройте файл, когда закончите. Затем проверьте конфигурацию Rsyslog на наличие синтаксических ошибок с помощью следующей команды:
rsyslogd -f /etc/rsyslog.conf -N1Вы должны увидеть следующий вывод:
rsyslogd: version 8.32.0, config validation run (level 1), master config /etc/rsyslog.conf
rsyslogd: End of config validation run. Bye.
Наконец, перезапустите службу Rsyslog с помощью следующей команды:
systemctl restart rsyslogТеперь проверьте, что Rsyslog слушает на TCP/UDP с помощью следующей команды:
netstat -4altunp | grep 514Вы должны получить следующий вывод:
tcp 0 0 0.0.0.0:514 0.0.0.0:* LISTEN 1332/rsyslogd
udp 0 0 0.0.0.0:514 0.0.0.0:* 1332/rsyslogd
Настройка клиента Rsyslog
Сервер Rsyslog установлен и настроен для получения журналов от удаленных хостов.
Теперь вам нужно настроить клиент Rsyslog для отправки сообщений syslog на удаленный сервер Rsyslog.
Войдите на машину клиента и откройте файл конфигурации Rsyslog, как показано ниже:
nano /etc/rsyslog.confДобавьте следующие строки в конец файла:
##Включите отправку журналов по UDP, добавив следующую строку:
*.* @192.168.0.101:514
##Включите отправку журналов по TCP, добавив следующую строку:
*.* @@192.168.0.101:514
##Установите очередь на диске, когда сервер rsyslog будет отключен:
$ActionQueueFileName queue
$ActionQueueMaxDiskSpace 1g
$ActionQueueSaveOnShutdown on
$ActionQueueType LinkedList
$ActionResumeRetryCount -1
Сохраните и закройте файл. Затем перезапустите сервер Rsyslog, чтобы применить изменения конфигурации:
systemtcl restart rsyslogПросмотр журнала клиента
На этом этапе клиент Rsyslog настроен для отправки своих журналов на сервер Rsyslog.
Войдите на сервер Rsyslog и проверьте директорию /var/log. Вы должны увидеть запись с именем хоста ваших клиентских машин, включая несколько файлов журналов:
ls /var/log/rsyslog-client/Вывод:
CRON.log kernel.log rsyslogd-2039.log rsyslogd.log sudo.log wpa_supplicant.log
Заключение
В приведенной выше статье мы узнали, как установить и настроить сервер Rsyslog на сервере Ubuntu 24.04 и как настроить клиент Rsyslog для отправки журналов на сервер Rsyslog. Не стесняйтесь задавать мне вопросы, если у вас есть какие-либо.
Get new posts in your inbox
No spam. Unsubscribe anytime.