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

Как отправлять логи с Ubuntu в Graylog через Syslog UDP

6 min read Журналы Обновлено 20 Nov 2025
Отправка логов Ubuntu в Graylog через Syslog UDP
Отправка логов Ubuntu в Graylog через Syslog UDP

В этой инструкции показано, как настроить Graylog для приёма Syslog UDP и как настроить Ubuntu 22.04 как клиент, чтобы отправлять системные логи в Graylog. Быстрая последовательность: создать вход Syslog UDP в веб-интерфейсе Graylog, добавить конфигурацию rsyslog на Ubuntu и перезапустить службу. В разделе добавлены чеклисты, сценарии устранения неполадок и альтернативы для производственных сред.

К чему этот материал

Этот материал полезен администраторам и инженерам DevOps, которым нужно централизовать системные логи с Ubuntu в Graylog. Покрывается настройка входа на сервере Graylog, конфигурация rsyslog на клиенте, проверка приёма сообщений и рекомендации по безопасности и отладке.

Быстрая сводка шагов

  • Настройте вход Syslog UDP в Graylog на нужном порту и адресе привязки.
  • На Ubuntu создайте файл конфигурации rsyslog в /etc/rsyslog.d и укажите адрес Graylog и порт в формате SyslogProtocol23Format.
  • Перезапустите rsyslog и проверьте, что сообщения появляются в поиске Graylog.

Важно: UDP не гарантирует доставку сообщений. Для критичных логов рассмотрите TCP или GELF.

Предпосылки

  • Рабочий сервер Graylog (в примере используется Graylog v4.3).
  • Клиент Ubuntu 22.04.
  • Непривилегированный пользователь с правами sudo.
  • Доступ по SSH к клиенту и доступ по вебу к интерфейсу Graylog.

Настройка входа в Graylog

  1. Откройте веб-интерфейс Graylog и выполните вход под админом.
  2. В меню выберите System, затем Inputs.
  3. В раскрывающемся списке выберите Syslog UDP и нажмите Launch new input.

Создание входа Syslog в Graylog

  1. В форме настройки укажите следующие параметры:
    • Node оставьте по умолчанию.
    • Title: например Syslog Linux UDP.
    • Bind address: укажите локальный IP сервера или 0.0.0.0, чтобы слушать на всех адресах.
    • Port: выберите порт вне диапазона 1–1024, например 5148.

Параметры входа Syslog UDP

  1. Нажмите Save.

После сохранения вы увидите вход в списке запущенных входов с указанием bind-address и порта.

Список запущенных входов Graylog

Примечание: если порт уже занят, выберите другой порт или освободите порт на сервере Graylog.

Конфигурация Ubuntu для отправки логов через rsyslog

  1. Подключитесь к Ubuntu по SSH:
ssh user@SERVER-IP
  1. Убедитесь, что пакет rsyslog установлен:
sudo dpkg -l | grep rsyslog
sudo apt info rsyslog

Проверка установки rsyslog

  1. Проверьте состояние сервиса rsyslog:
sudo systemctl is-enabled rsyslog
sudo systemctl status rsyslog

Проверка статуса rsyslog

  1. Создайте дополнительный файл конфигурации rsyslog, например 60-graylog.conf:
sudo nano /etc/rsyslog.d/60-graylog.conf
  1. Вставьте следующую строку, где 192.168.5.10 это адрес сервера Graylog, а 5148 — выбранный порт:
*.*@192.168.5.10:5148;RSYSLOG_SyslogProtocol23Format

Пояснение строки: . означает все приоритеты и все модули; @ указывает использование UDP; ;RSYSLOG_SyslogProtocol23Format задаёт формат протокола в соответствии с RFC 5424/5426 при отправке.

  1. Сохраните файл и перезапустите службу rsyslog:
sudo systemctl restart rsyslog

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

Проверка логов в Graylog

Перейдите в веб-интерфейс Graylog и откройте Search. Примените фильтры по источнику или по времени. Вы должны увидеть сообщения, пришедшие с IP клиента Ubuntu.

Просмотр логов в Graylog

Советы при проверке:

  • Отфильтруйте по source:ip или facility, чтобы сократить поток.
  • Установите джойны и потоки, чтобы автоматически маршрутизировать сообщения по типам.

Частые проблемы и их устранение

Важно: большинство ошибок связано с сетью, портами и форматом сообщений.

Проблема: сообщения не приходят в Graylog

  • Проверьте доступность порта с клиента:
sudo apt install -y iputils-ping
nc -vz 192.168.5.10 5148
  • Проверьте, не блокирует ли firewall (ufw, iptables) порт 5148 на сервере Graylog и на пути между клиентом и сервером.
  • На сервере Graylog проверьте, что вход запущен и привязан к ожидаемому адресу и порту.

Проблема: сообщения приходят, но неправильно парсятся

  • Убедитесь, что формат отправки соответствует ожидаемому Graylog. По умолчанию можно использовать SyslogProtocol23Format.
  • Для сложных приложений используйте GELF или JSON для более точного парсинга.

Проблема: потеря сообщений

  • UDP не гарантирует доставку. Для критичных логов используйте TCP с подтверждением или долговременное хранение локально, пока не восстановится соединение.

Проблема: медленный приём логов

  • Проверьте нагрузку на вход Graylog и настройки JVM/буферов. При больших объёмах рассмотрите кластерный Graylog.

Когда UDP не подходит и альтернативы

  • TCP Syslog: надежнее, обеспечивает доставку в рамках соединения.
  • GELF: формат Graylog Extended Log Format, подходит для структурированных сообщений и более богатых полей.
  • Filebeat/Beats: использует TCP и поставляется с рядом модулей для логов приложений.
  • Fluentd/Fluent Bit: гибкие маршрутизаторы логов для контейнеров и облаков.

Совет: для контейнеров Kubernetes используйте DaemonSet с Fluent Bit или Filebeat и отправляйте в Graylog через TCP или GELF.

Безопасность и соответствие требованиям приватности

  • Шифрование: UDP не предлагает шифрования. Для защищённой передачи используйте TLS поверх TCP.
  • Аутентификация: рассмотрите использование reverse proxy или VPN между отправителями и Graylog для ограничения доступа.
  • Минимизация данных: исключайте из логов персональные данные. Применяйте маскирование или фильтрацию до отправки.
  • Хранение: настройте политики хранения и доступ по ролям в Graylog.

Примечание: если вы обрабатываете персональные данные граждан ЕС, убедитесь в соответствии с GDPR: минимизация, права доступа, аудит и удаление по требованию.

Чеклист ролей

Инженер по сопровождению

  • Проверить, что вход Syslog запущен и слушает нужный порт.
  • Проверить доступность порта с клиента.
  • Настроить фильтры и потоки в Graylog.

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

  • Настроить firewall и разрешить трафик на порт Graylog.
  • Обеспечить обновления и бэкапы конфигурации Graylog.

DevOps инженер

  • Автоматизировать развёртывание rsyslog-конфигурации.
  • Подключить мониторинг доступности входов и очередей сообщений.

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

  • Сервер Graylog принимает сообщения от Ubuntu клиента в течение 1 минуты после перезапуска rsyslog.
  • Вход Syslog UDP отображается как running и привязан к ожидаемому адресу и порту.
  • Поисковые запросы в Graylog возвращают сообщения с source равным IP клиента.
  • В журнале rsyslog на клиенте отсутствуют ошибки отправки после перезапуска.

Мини методология внедрения в прод

  1. Тестовая среда: разверните Graylog и клиент в изолированной сети.
  2. Настройка и тест: создайте входы, настройте rsyslog и проверьте доставку.
  3. Нагрузочное тестирование: имитируйте пиковые объёмы логов, проверьте задержки и пропуски.
  4. Производственное развёртывание: примените через Ansible/Terraform и включите мониторинг.
  5. Итерации: анализируйте парсинг, создавайте pipeline rules и дашборды.

Шаблон конфигурации rsyslog

Пример для отправки всех логов на Graylog через UDP:

# /etc/rsyslog.d/60-graylog.conf
*.*@192.168.5.10:5148;RSYSLOG_SyslogProtocol23Format

Для TCP используйте двойной знак @:

*.*@@192.168.5.10:6514;RSYSLOG_ForwardFormat

Примеры тестов и приёмки

  • Отправьте тестовое сообщение локально и проверьте его появление в Graylog:
logger "test message to graylog"
  • Убедитесь, что сообщение появилось в Search по source или по тексту.

Быстрый план отката

  1. Удалите или отключите файл /etc/rsyslog.d/60-graylog.conf на клиенте.
  2. Перезапустите rsyslog.
  3. Очистите потоки и правила в Graylog, если они были созданы для этого входа.
  4. Если были изменения сетевых правил, верните их в исходное состояние.

Заключение

Вы настроили прием Syslog UDP на Graylog и научились отправлять логи с Ubuntu через rsyslog. Для производства оцените использование TCP или GELF, настройте шифрование и политику хранения. Пользуйтесь чеклистами и тестами, чтобы удостовериться в надёжности передачи и соответствии требованиям безопасности.

Ключевые документы по следующей итерации: автоматизация конфигурации клиентов, настройка pipeline rules для парсинга и переход на более надёжные протоколы для критичных логов.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

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

Cortana: как перевести ПК в спящий режим
Windows

Cortana: как перевести ПК в спящий режим

Live Captions на iPhone, iPad и Mac — включение и настройка
Доступность

Live Captions на iPhone, iPad и Mac — включение и настройка

TEXTJOIN в Excel — примеры и подсказки
Excel

TEXTJOIN в Excel — примеры и подсказки

Загрузка Raspberry Pi 4 с внешнего SSD
Hardware

Загрузка Raspberry Pi 4 с внешнего SSD

Выйти из учётной записи другого пользователя в Windows
Windows

Выйти из учётной записи другого пользователя в Windows

Установка модуля Exchange Online PowerShell в Windows 11
Администрирование

Установка модуля Exchange Online PowerShell в Windows 11