Описание

RSyslog — системный демон для журналирования в Linux. Он собирает события от различных источников (файлы логов, системные службы, journald) и отправляет их дальше по стандартному протоколу Syslog (UDP/TCP, а также с поддержкой TLS).

В статье рассматриваются практические примеры конфигурации RSyslog для сбора и пересылки логов из разных источников.

Step by Step

Установите сервис RSyslog

  1. На сервере источнике логов проверьте наличие сервиса RSyslog ****в системе командой:

    systemctl status rsyslog.service
    
  2. Если сервис отсутствует - выполните установку пакета:

    ### Debian, Ubuntu (apt-get)
    apt-get install rsyslog
    
    ### RHEL (yum)
    yum install rsyslog
    
    1. Для поддержи TLS-шифрования при отправке логов установите библиотеку gtls для RSyslog:

      ### Debian, Ubuntu (apt-get)
      apt install rsyslog-gnutls
      
      ### RHEL (yum)
      yum install rsyslog-gnutls
      
  3. Запустите сервис:

    systemctl enable rsyslog.service
    systemctl start rsyslog.service
    
  4. Создайте файл конфигурации для загрузки необходимых модулей:

    vi /etc/rsyslog.d/00-modules.conf
    

    <aside> <img src="/icons/info-alternate_blue.svg" alt="/icons/info-alternate_blue.svg" width="40px" />

    В зависимости от того, какие модули будут использоваться в файлах конфигурации - раскомментируйте необходимые секции:

    </aside>

    module(load="imfile")
    
    ### For tls
    # module(load="gtls")
    # global(DefaultNetstreamDriver="gtls")
    
    ### For journald
    # module(load="imjournal" StateFile="imjournal.state")
    

    <aside> <img src="/icons/info-alternate_blue.svg" alt="/icons/info-alternate_blue.svg" width="40px" />

    Установите конфигурационные файлы для необходимых источников в разделе ниже.

    </aside>

Добавьте файлы конфигурации для необходимого типа логов

<aside> <img src="/icons/report_yellow.svg" alt="/icons/report_yellow.svg" width="40px" />

В файлах необходимо изменить значения параметров target и port на данные принимающего Sysylog server

</aside>

Примените конфигурационные файлы RSysylog

  1. Перезапустите сервис и убедитесь, что он запустился корректно и без ошибок:

    systemctl restart rsyslog.service
    systemctl status rsyslog.service