Интеграция rsyslog с Loggly по TLS: пошаговая настройка

Быстрые ссылки
- Установка rsyslog
- Добавление TLS сертификатов Loggly
- Проверка прав рабочего каталога
- Настройка параметров Loggly в rsyslog
- Конфигурация rsyslog для отправки в Loggly
- Решение проблем
- Резюме и контрольные проверки
Зачем отправлять логи в Loggly
В Linux многие приложения отправляют логи в системный демонт syslog. В практиках безопасности рекомендуется дублировать и централизовать логи в отдельной системе — например, в Loggly (SaaS) — для резервного копирования, контроля целостности и удобной аналитики.
Основные преимущества:
- Резервное копирование критичных логов
- Возможность проверить целостность и обнаружить изменения
- Консолидация логов с нескольких хостов для централизованного поиска и оповещений
Функции Loggly, релевантные для этой интеграции:
- Мониторинг облачных и локальных систем, логов приложений
- Интеграция с внешними сервисами (Slack, GitHub, PagerDuty)
- Анализ и визуализация данных (графики, KPI)
- Деплой без агента — rsyslog отправляет логи напрямую
Понятные термины
- TLS: протокол шифрования каналов связи (обеспечивает защищённую передачу логов).
- Customer token: уникальный токен, присваиваемый источнику логов в Loggly для идентификации клиента.
1. Установка rsyslog
Во многих дистрибутивах rsyslog уже установлен. В примерах ниже — Ubuntu (в руководстве использована версия, актуальная для Ubuntu 18.04). Если в репозиториях не последняя версия, добавим PPA от Adiscon.
Важно: инструкция показывает установку из PPA для актуальной ветки rsyslog.
Добавление репозитория rsyslog (Adiscon PPA)
apt-get update && apt-get install -y software-properties-common
add-apt-repository -y ppa:adiscon/v8-stableУстановка rsyslog и поддержки GnuTLS
Установим основной пакет и модуль для TLS (rsyslog-gnutls).
apt-get update
apt-get install rsyslog
apt-get install rsyslog-gnutls2. Добавление TLS сертификатов Loggly
Перед настройкой TLS нужно скачать сертификат центра сертификации Loggly и поместить его в доступный каталог.
sudo mkdir /etc/rsyslog.d/keys/ca.d
wget -O /etc/rsyslog.d/keys/ca.d/logs-01.loggly.com_sha12.crt Важно: путь к сертификату понадобится в конфигурации rsyslog (см. ниже).
3. Проверка прав рабочего каталога rsyslog
Иногда права в /var/spool/rsyslog настроены неверно. Убедитесь, что каталог принадлежит пользователю syslog и имеет корректные права.
sudo chown -R syslog:adm /var/spool/rsyslog
sudo chmod -R 644 /var/spool/rsyslogПримечание: для директорий обычно требуется режим 0755; выше команда устанавливает 644 рекурсивно — при необходимости скорректируйте для подкаталогов (dirCreateMode и fileCreateMode в конфигурации). Если вы хотите явно задать права директорий и файлов отдельно, выполните дополнительную команду для директорий.
4. Настройка глобальных параметров rsyslog для Loggly
Ниже приведён пример конфигурации в новом синтаксисе rsyslog. Ключевым моментом являются параметры defaultNetstreamDriverCAFile и defaultNetstreamDriver — они указывают на использование GnuTLS и на файл CA.
#################
#### 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")Важно: если вы управляете хостами с разными дистрибутивами, проверьте совместимость модулей и путей перед развёртыванием.
5. Получение customer token в Loggly
После входа в Loggly создайте customer token: Source Setup → Customer Tokens. Интерфейс может отличаться в зависимости от версии Loggly; ниже — скриншоты старого и нового интерфейсов.


Скопируйте сгенерированный токен — он понадобится в шаблоне отправки (см. далее). Рекомендуется дать токену описательное имя.
6. Конфигурация rsyslog для отправки в Loggly
Создайте файл конфигурации, например /etc/rsyslog.d/22-remote.conf. Номер 22 служит только для порядка загрузки файла; выбирайте свой порядок в соответствии с существующими файлами.
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"
)Пояснения:
- target и port: адрес и порт сервиса Loggly для TLS (logs-01.loggly.com:6514).
- StreamDriverAuthMode и StreamDriverPermittedPeers: проверка имени сертификата сервера.
- Параметры очереди защищают от потери логов при временных проблемах с сетью.
- Шаблон template задаёт формат передачи; убедитесь, что в нём присутствует информация для корректной категоризации в Loggly.
После сохранения перезапустите службу:
sudo service rsyslog restart7. Решение проблем и отладка
Если появляются проблемы — чаще всего они связаны с правами, сертификатами или параметрами очереди.
- Логи rsyslog: /var/log/rsyslog.log (проверьте ошибки при старте и TLS handshakes).
- Включите детальную отладку, добавив в rsyslog.conf:
$DebugFile /var/log/rsyslog_debug.log
$DebugLevel 2- Проверьте, что файл CA доступен и корректен: cat /etc/rsyslog.d/keys/ca.d/logs-01.loggly.com_sha12.crt
- Убедитесь, что время на хосте синхронизировано (NTP) — расхождение времени может приводить к проблемам с валидацией сертификатов и корректностью меток времени в логах.
- Проверьте очередь rsyslog (size, maxdiskspace). Если очередь растёт — проверьте сетевое соединение до logs-01.loggly.com:6514 и задержки отправки.
Важно: если вы используете брандмауэр, откройте исходящий TCP порт 6514.
8. Критерии приёмки
Перед переводом в продакшен проверьте следующие пункты:
- Логи с тестового хоста видны в интерфейсе Loggly и соответствуют ожидаемым меткам.
- TLS-соединение установлено (в логах rsyslog нет ошибок TLS/handshake).
- Очередь rsyslog не растёт и не достигает highwatermark.
- В копии сообщения присутствует customer token или иная метка, необходимая для источников в Loggly (если вы помещаете токен в поле сообщения).
- Временные метки корректны и синхронизированы с NTP.
9. Контрольные списки для ролей
Системный администратор:
- Установить пакеты rsyslog и rsyslog-gnutls.
- Скачать сертификат CA и поместить в /etc/rsyslog.d/keys/ca.d.
- Проверить права на /var/spool/rsyslog.
- Перезапустить rsyslog, проверить статус.
DevOps/Инженер по доставке логов:
- Настроить шаблон отправки и убедиться в наличии токена в структуре сообщения.
- Провести тесты с разными уровнями логов (info, error, warning).
- Наблюдать метрики очереди и задержки доставки.
Специалист по безопасности:
- Проверить, что в логах не передаётся личная или конфиденциальная информация без фильтрации.
- Настроить удержание и ротацию логов согласно политике (retention).
- Проверить шифрование канала и валидацию сертификата сервера.
10. Альтернативные подходы и когда это не подходит
Альтернативы для централизованной отправки логов:
- syslog-ng: альтернатива rsyslog с похожими возможностями TLS и форматов.
- Filebeat → Logstash → Loggly/Elasticsearch: более гибкий pipeline с фильтрацией и трансформацией.
- Агентные решения (например, официальный агент Loggly, если доступен): дают дополнительные возможности и упрощённую настройку.
Когда интеграция rsyslog → Loggly может быть не лучшим выбором:
- Нужна сложная трансформация/маркировка сообщений — лучше Logstash.
- Требуются локальные фильтры PII до отправки — возможна предварительная обработка агентом.
- Ограничения корпоративной политики безопасности запрещают внешние SaaS-сервисы.
11. Рекомендации по безопасности и соответствию (GDPR и др.)
- Минимизируйте отправку PII: фильтруйте или маскируйте данные на источнике перед отправкой.
- Шифруйте транспорт (TLS) — это мы обеспечиваем с помощью rsyslog-gnutls.
- Ограничьте доступ к токенам Loggly, храните их как секреты и при возможности внедрите ротацию токенов.
- Проверьте сроки хранения логов в Loggly и настройте политику retention в соответствии с требованиями соответствия.
12. Минимальная методология развёртывания (пошаговая)
- Настройте и протестируйте на стенде: установите rsyslog, скачайте сертификат, настройте конфигурацию.
- Проверка TLS: убедитесь, что handshake проходит и сертификат валиден.
- Отправьте тестовые сообщения и проверьте их появление в Loggly.
- Нагрузочное тестирование: проверьте поведение очереди при пиковых нагрузках.
- Перевод в продакшен постепенно: включайте хосты по группам.
- Наблюдение в первые 24–72 часа: контролируйте метрики очередей и задержки доставки.
13. Краткое руководство по откату
Если после развёртывания появились ошибки или потеря логов:
- Верните предыдущую конфигурацию в /etc/rsyslog.d/, затем перезапустите rsyslog.
- Если очередь растёт — временно отключите отправку (комментирование action) и записывайте логи локально до устранения проблемы.
- Удалите или смените проблемный сертификат и проверьте цепочку доверия.
14. Глоссарий (в одну строку)
- rsyslog: мощный syslog-демон для Linux с поддержкой модулей и TLS.
- Loggly: облачный сервис для сбора, анализа и визуализации логов.
- CA: центр сертификации, выпускающий корневые сертификаты.
- Customer token: уникальный идентификатор источника логов в Loggly.
Ресурсы и ссылки
- Путь к сертификату и конфигурации: /etc/rsyslog.d/keys/ca.d и /etc/rsyslog.d/*.conf
- Порт Loggly для TLS: 6514
Итог
Интеграция rsyslog с Loggly по TLS даёт надёжную, агент‑свободную передачу логов. Ключевые шаги: установка rsyslog-gnutls, загрузка CA-сертификата Loggly, корректная конфигурация шаблона и action, проверка очереди и перезапуск службы. Следуйте чек-листам, выполняйте постепенное развёртывание и соблюдайте требования безопасности при работе с PII.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента