Как отправлять логи с 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
- Откройте веб-интерфейс Graylog и выполните вход под админом.
- В меню выберите System, затем Inputs.
- В раскрывающемся списке выберите Syslog UDP и нажмите Launch new input.

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

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

Примечание: если порт уже занят, выберите другой порт или освободите порт на сервере Graylog.
Конфигурация Ubuntu для отправки логов через rsyslog
- Подключитесь к Ubuntu по SSH:
ssh user@SERVER-IP- Убедитесь, что пакет rsyslog установлен:
sudo dpkg -l | grep rsyslog
sudo apt info rsyslog
- Проверьте состояние сервиса rsyslog:
sudo systemctl is-enabled rsyslog
sudo systemctl status rsyslog
- Создайте дополнительный файл конфигурации rsyslog, например 60-graylog.conf:
sudo nano /etc/rsyslog.d/60-graylog.conf- Вставьте следующую строку, где 192.168.5.10 это адрес сервера Graylog, а 5148 — выбранный порт:
*.*@192.168.5.10:5148;RSYSLOG_SyslogProtocol23FormatПояснение строки: . означает все приоритеты и все модули; @ указывает использование UDP; ;RSYSLOG_SyslogProtocol23Format задаёт формат протокола в соответствии с RFC 5424/5426 при отправке.
- Сохраните файл и перезапустите службу rsyslog:
sudo systemctl restart rsyslogВажно: если вы используете контейнеризированные или минимальные образы, убедитесь, что rsyslog включён и настроен на автозапуск.
Проверка логов в Graylog
Перейдите в веб-интерфейс Graylog и откройте Search. Примените фильтры по источнику или по времени. Вы должны увидеть сообщения, пришедшие с IP клиента Ubuntu.

Советы при проверке:
- Отфильтруйте по 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 на клиенте отсутствуют ошибки отправки после перезапуска.
Мини методология внедрения в прод
- Тестовая среда: разверните Graylog и клиент в изолированной сети.
- Настройка и тест: создайте входы, настройте rsyslog и проверьте доставку.
- Нагрузочное тестирование: имитируйте пиковые объёмы логов, проверьте задержки и пропуски.
- Производственное развёртывание: примените через Ansible/Terraform и включите мониторинг.
- Итерации: анализируйте парсинг, создавайте 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 или по тексту.
Быстрый план отката
- Удалите или отключите файл /etc/rsyslog.d/60-graylog.conf на клиенте.
- Перезапустите rsyslog.
- Очистите потоки и правила в Graylog, если они были созданы для этого входа.
- Если были изменения сетевых правил, верните их в исходное состояние.
Заключение
Вы настроили прием Syslog UDP на Graylog и научились отправлять логи с Ubuntu через rsyslog. Для производства оцените использование TCP или GELF, настройте шифрование и политику хранения. Пользуйтесь чеклистами и тестами, чтобы удостовериться в надёжности передачи и соответствии требованиям безопасности.
Ключевые документы по следующей итерации: автоматизация конфигурации клиентов, настройка pipeline rules для парсинга и переход на более надёжные протоколы для критичных логов.
Похожие материалы
Cortana: как перевести ПК в спящий режим
Live Captions на iPhone, iPad и Mac — включение и настройка
TEXTJOIN в Excel — примеры и подсказки
Загрузка Raspberry Pi 4 с внешнего SSD
Выйти из учётной записи другого пользователя в Windows