DEV Community

Cover image for How to Setup Logging Server with Rsyslog in Debian 10
Ali Orhun Akkirman for OpenLAB

Posted on

How to Setup Logging Server with Rsyslog in Debian 10

It is an important need to collect and analyze logs formed in various clients and servers in a common place. For this need, rsyslog is a very efficient tool.

I wanted to create this article because the rsyslog syntax has changed in the Debian 10 (Buster) version compared to the old debian versions (in example Debian 9).

How to Install Rsyslog Server

The package can be installed as below for rsyslog:

sudo apt install rsyslog
Enter fullscreen mode Exit fullscreen mode

How to Configure Rsyslog Server

In the /etc/rsyslog.conf file, the following lines starting with the "#" sign are removed:

module(load="imudp")
input(type="imudp" port="514")

module(load="imtcp")
input(type="imtcp" port="514")
Enter fullscreen mode Exit fullscreen mode

The following line can be added just below which allows you to get logs. The example shows that all devices in the 127.0.0.1 and 10.0.0.0 network can collect logs:

$AllowedSender TCP, 127.0.0.1, 10.0.0.0/24
Enter fullscreen mode Exit fullscreen mode

In addition, various templates can be logged or taken as in the example below:

$template Incoming-logs,"/var/log/%HOSTNAME%/%PROGRAMNAME%.log"
*.*  ?Incoming-logs
Enter fullscreen mode Exit fullscreen mode

Logs would start to be saved under a single file under /var/log if we did not make the corresponding template settings.

After making the related settings, the service is restarted by saving and checking whether there are any errors in the service:

sudo systemctl start rsyslog
sudo systemctl enable rsyslog
sudo systemctl status rsyslog
Enter fullscreen mode Exit fullscreen mode

If there is no problem, syslog format logs directed from the rsyslog client from any source can be collected on the server we set up.

I will specify the relevant client settings in the next post.


Qui nescit dissimulare, nescit regnare

Top comments (1)

Collapse
 
_6fd1b3f918341d8e profile image
Кровосан
  1. Первым делом нужно установить rsyslog-сервер Борис Команда: apt install rsyslog
  2. Теперь его нужно настроить, для этого переходим в конфигурационный файл Команда: nano /etc/rsyslog.conf
  3. Настройка: 3.1 Раскомментируйте строки, связанные с работой протоколов UDP и TCP (module input) 3.2 И сразу после них вводим следующий шаблон: $template RemoteLogs,"/var/log/rsyslog/%HOSTNAME%/%PROGRAMNAME%.log" . ?RemoteLogs & ~
  4. Единственное что нам осталось сделать с сервером это перезапустить демон rsyslog. Команда: systemctl restart rsyslog Теперь нужно настроить клиентов сервера
  5. Первым делом нужно установить rsyslog Команда: apt install rsyslog
  6. Открываем конфигурационный файл клиента Команда: nano /etc/rsyslog.d/all.conf
  7. В конфигурационном файле указываем путь до сервера BR-SRV (в моем случае это 192.168.2.2) То, что вы должны ввести в файл: . @@192.168.2.2:514
  8. Единственное что нам осталось сделать с сервером это перезапустить демон rsyslog. Команда: systemctl restart rsyslog Как только вы закончили с клиентами сразу идем появились ли логи, для этого переходим на BR-SRV и заходим в директорию nano /var/log/ rsyslog И командой ls -l проверяем его наполнение