Установка и настройка сервера syslog-ng

1. Установка

  1. Некоторые дистрибутивы Linux уже содержат пакет syslog-ng. Проверите наличие пакета:

    syslog-ng --version
  2. Если сервер не установлен, установите его из репозитория:

    apt update
    apt install syslog-ng
  3. Запустите сервер:

    systemctl start syslog-ng.service
  4. Проверьте статус сервера:

    systemctl status syslog-ng.service
  5. Добавьте сервер в автозапуск:

    systemctl enable syslog-ng.service

2. Настройка

Для приема сообщений от RuBackup сервер rsyslog должен быть настроен на прослушивание сетевых сокетов по протоколам TCP и(или) UDP.

Для этого:

  1. Откройте файл /etc/syslog-ng/syslog-ng.conf:

    nano /etc/syslog-ng/syslog-ng.conf
  2. Раскомментируйте и отредактируйте строку:

    source s_net { tcp(ip(127.0.0.1) port(1000)); };

    где:

    • tcp — указывает, что сервер будет слушать TCP-порт;

    • ip(127.0.0.1) — указывает, что сервер будет слушать локальный адрес (хост) [1];

    • port(1000) — указывает, что сервер будет слушать порт 1000 [1].

  3. При необходимости использования TLS добавьте еще один источник для прослушивания:

    source s_tls {
        network(
            ip(0.0.0.0) (1)
            port(6514) (2)
            transport("tls")
            tls(
                key-file("/etc/syslog-ng/cert.d/server.key")
                cert-file("/etc/syslog-ng/cert.d/server.crt")
                peer-verify(required-untrusted)
                peer-verify(optional-untrusted)
                trusted-dn("CN=rubackup")
            )
        );
    };
    1 Выполните настройку в соответствии с настройкой основного сервера RuBackup.
    2 Стандартная настройка TLS. Изменение порта недопустимо.
  4. (опционально) Для вывода логов RuBackup в отдельный файл добавьте строку в конфигурационный файл:

    destination d_rubackup { file("/var/log/rubackup.log"); };
  5. Укажите путь к файлу сбора логов:

    log { source(s_net); destination(d_rubackup); };
  6. Если используется TLS, добавьте:

    log { source(s_tls); destination(d_rubackup); };
  7. Сохраните конфигурационный файл и проверьте синтаксическую корректность:

    syslog-ng --syntax-only

    Команда не должна вернуть никаких ошибок.

  8. Перезапустите syslog-ng:

    systemctl restart syslog-ng.service

Проверьте, что сервер слушает указанный сокет:

ss -tulpan | grep syslog
Пример успешной настройки syslog-ng (состояние портов)
tcp   LISTEN  0   255   0.0.0.0:8181   0.0.0.0:*   users:(("syslog-ng",pid=4255,fd=12))

1. Выполните настройку в соответствии с настройкой основного сервера RuBackup.