Гид по технологиям

Интеграция rsyslog с Loggly по TLS

5 min read Логирование Обновлено 06 Nov 2025
rsyslog + Loggly по TLS — настройка на Ubuntu
rsyslog + Loggly по TLS — настройка на Ubuntu

Обложка: схема логирования с rsyslog и Loggly

Быстрые ссылки

  • Установка rsyslog
  • Добавление сертификатов Loggly TLS
  • Проверка прав каталога для очередей
  • Настройка Loggly (создание токена)
  • Конфигурация rsyslog для отправки в Loggly
  • Отладка и заключение

Зачем отправлять логи в Loggly

В Linux многие приложения пишут в syslog — центральный механизм логирования. Лучшие практики безопасности рекомендуют централизовать логи в отдельной системе вроде Loggly (SaaS), чтобы:

  • Создавать резервную копию критичных логов
  • Проверять целостность и обнаруживать изменения данных
  • Консолидировать логи с разных серверов и сервисов

Преимущества Loggly, важные для интеграции с rsyslog:

  • Мониторинг облачных и внутренних систем, а также логов приложений
  • Интеграция с внешними инструментами (Slack, GitHub, PagerDuty)
  • Аналитика и визуализация (графики, KPI)
  • Развёртывание без агентов (через rsyslog)

Установка rsyslog

Многие дистрибутивы поставляются с rsyslog по умолчанию. Для Ubuntu (в примере — 18.04) полезно добавить официальный репозиторий Adiscon, чтобы получить актуальную ветку.

В разделе ниже показан вариант через репозитории; при желании можно собирать из исходников, но это обычно не требуется.

Добавление репозитория rsyslog (Adiscon)

apt-get update && apt-get install -y software-properties-common
add-apt-repository -y ppa:adiscon/v8-stable

Установка rsyslog и поддержки GnuTLS

Нужны два пакета: базовый rsyslog и rsyslog-gnutls для TLS‑соединений.

apt-get update
apt-get install rsyslog
apt-get install rsyslog-gnutls

Добавление сертификатов Loggly TLS

Перед конфигурацией TLS скачайте сертификат Loggly и разместите его в доступном месте для rsyslog.

sudo mkdir /etc/rsyslog.d/keys/ca.d
wget -O /etc/rsyslog.d/keys/ca.d/logs-01.loggly.com_sha12.crt https://logdog.loggly.com/media/logs-01.loggly.com_sha12.crt

Важно: путь к файлу сертификата будет использоваться в конфигурации rsyslog.

Проверка прав рабочего каталога (workDirectory)

В некоторых случаях права на /var/spool/rsyslog заданы неверно. Приведённые команды устанавливают владельца и базовые права для Ubuntu 18.04.

sudo chown -R syslog:adm /var/spool/rsyslog
sudo chmod -R 644 /var/spool/rsyslog

Если у вас специфичная политика безопасности, скорректируйте права под неё (например, более строгие права для файлов, каталоги 0755).

Настройка глобальных параметров rsyslog для работы с Loggly

rsyslog поддерживает старую и новую синтаксис‑модель; ниже показана конфигурация в новом синтаксисе (RainerScript) с указанием TLS‑сертификата и каталога очередей.

#################
#### MODULES ####
#################

module( load="imuxsock" )
module( load="imklog" )
module( load="builtin:omfile"
        fileOwner="syslog"
        fileGroup="adm"
        fileCreateMode="0644"
        dirOwner="syslog"
        dirGroup="adm"
        dirCreateMode="0755"
)
module( load="impstats"
        interval="600"
        severity="7"
        log.syslog="off"
        log.file="/var/log/rsyslog_stats.log"
)

###########################
#### GLOBAL DIRECTIVES ####
###########################

global (
    maxMessageSize="64k"
    defaultNetstreamDriverCAFile="/etc/rsyslog.d/keys/ca.d/logs-01.loggly.com_sha12.crt"
    defaultNetstreamDriver="gtls"
    workDirectory="/var/spool/rsyslog"
)

#
# Include all config files in /etc/rsyslog.d/
#
include(file="/etc/rsyslog.d/*.conf")

Важные параметры: defaultNetstreamDriverCAFile указывает на скачанный сертификат, defaultNetstreamDriver=gtls включает использование TLS.

Получение customer token в Loggly

После входа в Loggly необходимо создать customer token: Source Setup → Customer Tokens. Интерфейс может отличаться в зависимости от версии, но суть — сгенерировать токен и скопировать его для использования в шаблоне отправки.

Навигация в Loggly: Source Setup → Customer Tokens для создания токена

Форма добавления описания к customer token в Loggly

Скопируйте токен — он понадобится в шаблоне сообщений (см. ниже).

Конфигурация rsyslog для отправки в Loggly

Создайте файл, например /etc/rsyslog.d/22-remote.conf, с шаблоном формата и действием отправки по TCP/TLS на logs-01.loggly.com:6514.

template(
    name="LogglyFormat"
    type="string"
    string="<%pri%>%protocol-version% %timestamp:::date-rfc3339% %HOSTNAME% %app-name% %procid% %msgid% [ca35d899-0232-4888-a8d5-118fbf5caf8d tag=\"RsyslogTLS\"] %msg%\n"
)

# Send all Syslog Messages to Remote
action(
    type="omfwd"
    protocol="tcp"
    target="logs-01.loggly.com"
    port="6514"
    template="LogglyFormat"
    StreamDriver="gtls"
    StreamDriverMode="1"
    StreamDriverAuthMode="x509/name"
    StreamDriverPermittedPeers="*.loggly.com"
    ResendLastMSGOnReconnect="on"
    queue.spoolDirectory="/var/spool/rsyslog"
    queue.filename="queue_sendToLoggly"
    queue.size="5000"
    queue.dequeuebatchsize="300"
    queue.highwatermark="4500"
    queue.lowwatermark="3500"
    queue.maxdiskspace="1g"
    queue.saveonshutdown="on"
    queue.type="LinkedList"
)

Примечания:

  • В шаблоне LogglyFormat можно добавить ваш customer token в виде части тега или отдельного поля. Не вставляйте токен напрямую в публичные репозитории.
  • Порт 6514 — стандарт для syslog по TLS.

После сохранения конфигурации перезапустите сервис:

sudo service rsyslog restart

Расширенная отладка rsyslog

Если конфигурация не работает, вероятные причины — права доступа к рабочему каталогу, ошибки в конфигурации или проблемы с TLS (сертификат/цепочка). Просмотр журнала rsyslog поможет найти причину.

/var/log/rsyslog.log

Для включения расширенной отладки добавьте в /etc/rsyslog.conf:

$DebugFile /var/log/rsyslog_debug.log
$DebugLevel 2

и перезапустите rsyslog. После диагностики не забудьте выключить подробный режим, так как он может быстро заполнить диск.

Частые ошибки и как их исправить

  • TLS handshake failures — проверьте путь к CA-файлу и совпадение имени сервера (StreamDriverPermittedPeers).
  • Очереди не создаются — проверьте права на /var/spool/rsyslog и достаточное дисковое пространство.
  • Логи не доходят — проверьте, не блокирует ли фаерволл порт 6514.

Important: никогда не храните customer token в публичных репозиториях и ограничьте доступ к конфигурационным файлам.

Мини‑методология внедрения (шаги)

  1. Подготовка: резервная копия /etc/rsyslog.d/
  2. Установка пакетов rsyslog и rsyslog-gnutls
  3. Скачивание и размещение CA‑сертификата Loggly
  4. Настройка глобальных директив (workDirectory, defaultNetstreamDriverCAFile)
  5. Создание customer token в Loggly
  6. Создание /etc/rsyslog.d/22-remote.conf и перезапуск rsyslog
  7. Проверка логов и отладка

Роли и чеклисты

Администратор (сервер):

  • Установить rsyslog и rsyslog-gnutls
  • Настроить права на /var/spool/rsyslog
  • Обеспечить наличие CA‑файла

DevOps/Инженер релиза:

  • Интегрировать customer token в конфигурацию
  • Добавить шаблоны логов для приложений
  • Настроить мониторинг очередей и использования диска

Команда безопасности:

  • Проверить политику хранения логов и доступы
  • Убедиться в шифровании канала и корректности сертификатов
  • Настроить оповещения о подозрительных событиях в Loggly

Небольшая таблица ключевых параметров

  • Порт TLS: 6514
  • CA-файл: /etc/rsyslog.d/keys/ca.d/logs-01.loggly.com_sha12.crt
  • Каталог очередей: /var/spool/rsyslog
  • Рабочий режим драйвера: gtls (defaultNetstreamDriver)

Диаграмма принятия решения (Mermaid)

flowchart TD
  A[Есть rsyslog на сервере?] -->|Да| B{Скачан CA для Loggly?}
  A -->|Нет| C[Установить rsyslog и rsyslog-gnutls]
  C --> B
  B -->|Да| D{Создан customer token в Loggly?}
  B -->|Нет| E[Скачать сертификат и положить в /etc/rsyslog.d/keys/ca.d]
  E --> D
  D -->|Да| F[Добавить 22-remote.conf и перезапустить rsyslog]
  D -->|Нет| G[Создать token в Loggly -> сохранить токен]
  G --> F
  F --> H[Проверить /var/log/rsyslog.log и очередь]

Примеры шаблонов и сниппеты

Добавление token в шаблон (пример, вставляйте реальный токен аккуратно):

template(name="LogglyFormatWithToken" type="string" string="<%pri%>%protocol-version% %timestamp:::date-rfc3339% %HOSTNAME% %app-name% %procid% %msgid% [token=ВАШ_CUSTOMER_TOKEN tag=\"RsyslogTLS\"] %msg%\n")

Не храните токен в скриптах развёртывания без защиты; используйте защищённые хранилища секретов.

Критерии приёмки

  • Логи отправляются в Loggly и видны в интерфейсе (время задержки зависит от сети)
  • TLS‑соединение успешно устанавливается (нет ошибок handshake в логах)
  • Очереди rsyslog не переполняются при пиковых нагрузках
  • Права на конфигурацию и токен ограничены для нужных ролей

Когда этот подход может не подойти

  • Если требуется локальное хранение всех логов без облачных сервисов
  • Когда политика компании запрещает отправку данных третьим сторонам
  • В случае очень низкой пропускной способности сети между серверами и Loggly

Заключение

Комбинация rsyslog и Loggly — надёжное решение для централизованного сбора, проверки и анализа логов без установки агентов. Правильная настройка TLS, прав на каталоги очередей и шаблонов сообщений гарантирует стабильную доставку и безопасность данных.

Короткие рекомендации:

  • Тестируйте конфигурацию на отдельном тестовом хосте
  • Храните customer token в защищённом хранилище
  • Ведите мониторинг очередей и дискового пространства
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Троян Herodotus: как он действует и как защититься
Кибербезопасность

Троян Herodotus: как он действует и как защититься

Включить новое меню «Пуск» в Windows 11
Windows 11

Включить новое меню «Пуск» в Windows 11

Панель полей PivotTable в Excel — руководство
Excel

Панель полей PivotTable в Excel — руководство

Включить новый Пуск в Windows 11 — инструкция
Windows

Включить новый Пуск в Windows 11 — инструкция

Дубликаты Диспетчера задач в Windows 11 — как исправить
Windows

Дубликаты Диспетчера задач в Windows 11 — как исправить

Как посмотреть историю просмотров Reels в Instagram
Социальные сети

Как посмотреть историю просмотров Reels в Instagram