Syslog-сервер — компонент инфраструктуры, принимающий журналы событий от сетевых устройств, серверов и приложений по протоколу Syslog. Централизованное хранение логов упрощает аудит безопасности, отладку сбоев и выполнение требований по соответствию стандартам. Вместо просмотра логов на каждом из 50 серверов по отдельности, администратор работает с единым интерфейсом.
Как работает
Протокол Syslog определён в RFC 3164 (2001, «BSD syslog») и RFC 5424 (2009, современная версия). Каждое сообщение содержит: приоритет (Facility + Severity), временную метку, имя хоста-источника, имя приложения, идентификатор процесса и тело сообщения.
Facility — источник сообщения (0 — ядро, 1 — пользовательские процессы, 4 — security/authorization, 23 — локальное использование). Severity — уровень важности: 0 (Emergency) → 1 (Alert) → 2 (Critical) → 3 (Error) → 4 (Warning) → 5 (Notice) → 6 (Informational) → 7 (Debug). RFC 5424 добавил структурированные данные (Structured Data) — пары ключ=значение в теле сообщения — и расширил поддержку UTF-8.
Транспорт — UDP-порт 514 (без гарантии доставки) или TCP-порт 514 / 6514 (надёжная доставка, с TLS). UDP используют для некритичных логов с высокой интенсивностью, TCP с TLS — для security-событий, где потеря сообщения недопустима.
Популярные Syslog-серверы: rsyslog (установлен по умолчанию в большинстве Linux-дистрибутивов), syslog-ng (расширенная фильтрация и буферизация), Graylog (веб-интерфейс + поиск по индексу Elasticsearch). Для крупных инфраструктур — ELK-стек с Logstash как Syslog-приёмником.
История
Протокол Syslog разработан Эриком Оллманом в 1980-х годах для демона sendmail в BSD Unix. Де-факто стандартом стал к 1990-м — его поддержали сетевые устройства Cisco и Juniper. В 2001 году IETF зафиксировал протокол в RFC 3164 (информационный, не нормативный). В 2009 году RFC 5424 стал полноценным стандартом с структурированными данными, ISO 8601-временными метками и UTF-8.
Применение в хостинге
- Аудит безопасности — централизованный сбор auth.log, kern.log, nginx-access.log с фильтрацией аномальных паттернов.
- Отладка сбоев — коррелируем события на разных серверах по временной метке для нахождения первопричины.
- Соответствие стандартам — 152-ФЗ, ISO 27001 требуют хранить журналы событий доступа к данным. Syslog-сервер предоставляет единое защищённое хранилище.
- Мониторинг производительности — логи nginx и PHP-FPM с временными метками позволяют строить метрики TTFB и error rate.
На что обращать внимание
При настройке Syslog-сервера на VPS учитывайте объём дискового пространства: активный хостинг с nginx может генерировать 1–5 ГБ логов в сутки. Настраивайте ротацию (logrotate) и retention policy: для security-логов — минимум 90 дней, для debug-логов — 7–14 дней. Для передачи логов по сети используйте TCP с TLS — UDP-дейтаграммы могут теряться при пиковых нагрузках. Разграничивайте права доступа к Syslog-серверу: компрометация журнальной системы лишает возможности расследовать инциденты.