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

Быстрые ссылки
- Установка 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. Интерфейс может отличаться в зависимости от версии, но суть — сгенерировать токен и скопировать его для использования в шаблоне отправки.


Скопируйте токен — он понадобится в шаблоне сообщений (см. ниже).
Конфигурация 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 в публичных репозиториях и ограничьте доступ к конфигурационным файлам.
Мини‑методология внедрения (шаги)
- Подготовка: резервная копия /etc/rsyslog.d/
- Установка пакетов rsyslog и rsyslog-gnutls
- Скачивание и размещение CA‑сертификата Loggly
- Настройка глобальных директив (workDirectory, defaultNetstreamDriverCAFile)
- Создание customer token в Loggly
- Создание /etc/rsyslog.d/22-remote.conf и перезапуск rsyslog
- Проверка логов и отладка
Роли и чеклисты
Администратор (сервер):
- Установить 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 в защищённом хранилище
- Ведите мониторинг очередей и дискового пространства
Похожие материалы
Троян Herodotus: как он действует и как защититься
Включить новое меню «Пуск» в Windows 11
Панель полей PivotTable в Excel — руководство
Включить новый Пуск в Windows 11 — инструкция
Дубликаты Диспетчера задач в Windows 11 — как исправить