Здравствуйте, друзья. В этом посте мы немного расскажем о rsyslog на Debian 11. Кроме того, мы покажем вам, как установить его и настроить, чтобы вы могли работать с клиентами. Давайте начнем.
Что такое rsyslog в Debian 11?
Кратко можно сказать, что rsyslog – это служба, которая отвечает за сбор и централизованное управление журналами через клиентские машины.
Обычно эти журналы располагаются в /var/logs/, но она работает практически с любым каталогом, который вы укажете в конфигурации.
Одна из поразительных особенностей rsyslog заключается в том, что он достаточно универсален и надежен для использования в корпоративных средах. Но при этом настолько легок и прост, что его можно использовать на небольших системах.
Кроме того, мы можем выбирать, где хранить данные – в текстовом файле или в менеджере баз данных, например, MariaDB. Таким образом, его можно использовать без особых усилий, и сегодня мы покажем вам, как это сделать.
Установка rsyslog в Debian 11 – Настройка сервера журналов
Что касается сервера, вы можете установить этот пакет из официальных репозиториев Debian 11. Для этого, после подключения к серверу по SSH, вам требуется обновить его.
sudo apt update
sudo apt upgrade
После этого вы можете установить пакет, выполнив команду.
sudo apt install rsyslog
Так как Rsyslog работает через TCP и UDP порт 514, вы должны убедиться, что эти порты открыты в брандмауэре.
sudo ufw allow 514/tcp
sudo ufw allow 514/udp
Чтобы применить эти изменения, необходимо перезапустить брандмауэр.
sudo ufw reload
Далее вы должны проверить состояние службы. Для этого выполните команду.
sudo systemctl status rsyslog
Из скриншота выше мы видим, что rsyslog установлен и запущен. Теперь нам нужно настроить его.
Настройка сервера rsyslog на Debian
Основная конфигурация rsyslog находится в файле /etc/rsyslog.conf, который нам предстоит изменить. Всегда полезно сделать копию оригинала, прежде чем что-то менять.
sudo cp /etc/rsyslog.conf /etc/rsyslog.conf.bak
Теперь отредактируйте его с помощью текстового редактора Nano.
sudo nano /etc/rsyslog.conf
И первое, что мы должны сделать в этом файле, это включить порты, на которых будет работать приложение.
Поэтому в начале файла откомментируйте следующий раздел.
module(load=”imudp”)
input(type=”imudp” port=”514″)module(load=”imtcp”)
input(type=”imtcp” port=”514″)
В дополнение к этому, мы должны определить шаблон того, как rsyslog будет собирать журналы клиентов. В этом случае в конце файла добавьте эти две строки.
$template remote-incoming-logs,"/var/log/%HOSTNAME%/%PROGRAMNAME%.log"
*.* ?remote-incoming-logs
Здесь мы определяем шаблон remote-incoming-logs, журналы будут храниться в /var/log. И для их различения мы должны использовать имя хоста и имя программы, которая генерирует журнал.
На данный момент этого достаточно. Вы можете сохранить свои изменения.
Чтобы применить их, требуется просто перезапустить службу.
sudo systemctl restart rsyslog
Настройка конфигурации rsyslog на клиентах
Настройка Rsyslog на клиентах полностью аналогична настройке на сервере. Сначала необходимо установить пакет в ваш дистрибутив.
Затем откройте TCP и UDP порты 514 на брандмауэре.
И в конфигурационном файле rsyslog.
sudo nano /etc/rsyslog.conf
Добавьте в конец файла следующие строки.
*.* @rsyslog-ip-address:514
*.* @@rsyslog-ip-address:514
Помните, что вы должны задать IP-адрес сервера Rsyslog. Первая строка относится к UDP, а вторая – к TCP.
Кроме того, в файл необходимо добавить следующую информацию.
$ActionQueueFileName queue
$ActionQueueMaxDiskSpace 2g
$ActionQueueSaveOnShutdown on
$ActionQueueType LinkedList
$ActionResumeRetryCount -1
Эти директивы являются параметрами, которые мы будем устанавливать при отправке журналов.
Сохраните изменения и закройте текстовый редактор.
Чтобы применить изменения, перезапустите службу.
sudo systemctl restart rsyslog
На этом все, конфигурация окончена.
Заключение
В этой статье мы показали как настроить rsyslog в Debian 11. Таким образом, вы можете централизовать ваши журналы и иметь сервер, на котором вы сможете проверять их все.
Надеюсь, это поможет вам и облегчит работу.
Не помогло