Главная/Разработка/Graylog

Установка Graylog на свой сервер

Установка Graylog через Docker Compose собирается из трёх контейнеров: MongoDB для настроек, Data Node для индекса сообщений и сам Graylog с веб-интерфейсом на порту 9000. Это сервер для сбора и поиска логов со всех ваших машин, у которого уже есть потоки, панели и уведомления.

4 мин чтенияДанные проверены 16 октября 2026

Ответ за 30 секунд

Для пробы берите сервер от 4 ГБ памяти и 2 ядер: три сервиса с Java и базой не уживаются на 1 ГБ. Не забудьте поднять vm.max_map_count и не открывайте приёмный порт 12201 всему интернету, иначе в ваши логи сможет писать кто угодно.

Почасовая оплата: схему сбора логов можно проверить за рубли и удалить сервер.

Сколько памяти и диска нужно Graylog

01 · 1 мин

Из чего состоит Graylog и чем он отличается от Loki#

КонтейнерОбразРоль
MongoDBmongoПользователи, потоки, панели и настройки
Data Nodegraylog/graylog-datanodeХранит и ищет сообщения, то есть индекс
Grayloggraylog/graylogВеб-интерфейс, приём логов, обработка

В отличие от Loki, который индексирует только метки, Graylog индексирует текст сообщений: поиск по любой фразе быстрый, а индекс весит заметно больше. Общую картину для поисковых систем даёт страница установки Elasticsearch.

Инструмент · 1 мин

Сколько памяти и диска нужно Graylog#

Документация по установке в Docker не называет минимума ресурсов, зато требует поднять параметр ядра vm.max_map_count не ниже 262144: поисковому индексу нужно много областей памяти. Без этого Data Node, как правило, не стартует.

sudo sysctl -w vm.max_map_count=262144
echo "vm.max_map_count=262144" | sudo tee /etc/sysctl.d/99-graylog.conf

Первая команда действует до перезагрузки, вторая сохраняет значение. Для диска считайте объём логов в сутки, умноженный на число дней хранения, и добавляйте запас на индекс: его размер зависит от формата сообщений, поэтому уточните цифру на своих данных через сутки.

Какой сервер взять под Graylog

Три ответа, и калькулятор подберёт готовую конфигурацию

Сколько логов приходит в сутки
Сколько дней хранить логи

03 · 1 мин

Установка Graylog через Docker Compose#

  1. Поднимите vm.max_map_count командами выше.
  2. Создайте каталог graylog и сформируйте файл с секретами.
  3. Возьмите compose-файл со страницы установки в Docker в документации Graylog: в нём уже описаны mongo, graylog-datanode и graylog. Проверьте, что он читает переменные из .env.
  4. Запустите docker compose up -d и откройте порт 9000 через SSH-туннель: там работает мастер первоначальной настройки.
# пробел в начале не пустит пароль в историю команд
 echo "GRAYLOG_PASSWORD_SECRET=$(openssl rand -hex 48)" > .env
 echo "GRAYLOG_ROOT_PASSWORD_SHA2=$(echo -n 'ВашПароль' | sha256sum | cut -d' ' -f1)" >> .env

Первая переменная служит солью и ключом для защиты хранимых паролей, вторая хранит хэш SHA-256 пароля администратора. Секрет не меняйте после запуска и положите в хранилище паролей: он нужен при переезде на другой сервер. Compose-файл не набирайте по памяти, копируйте из документации вашей версии: набор переменных у версий отличается.

04 · 1 мин

Как принимать логи в Graylog: GELF и syslog#

Логи попадают в Graylog через входы (inputs). Создайте вход в интерфейсе: раздел System, Inputs, тип GELF UDP или GELF TCP, порт по умолчанию 12201. Затем опубликуйте этот порт в compose-файле, например 12201:12201/udp: вход, созданный в интерфейсе, сам порт наружу не откроет, и это типичная ловушка, из-за которой логи не доходят.

Docker умеет слать логи контейнеров в формате GELF без агента:

docker run -d --log-driver gelf \
  --log-opt gelf-address=udp://IP-GRAYLOG:12201 nginx

Для syslog выбирайте порт выше 1024, чтобы не запускать вход от root. Порт приёма откройте только для адресов ваших серверов. Правило ufw для порта, опубликованного Docker, не действует, поэтому используйте цепочку DOCKER-USER (имя интерфейса возьмите из ip a): sudo iptables -I DOCKER-USER -i eth0 -p udp --dport 12201 ! -s IP-СЕРВЕРА -j DROP.

05 · 1 мин

Срок хранения индексов Graylog, HTTPS и копии#

Сообщения лежат в индексах, которые объединяются в набор (index set). У набора есть правило ротации (по размеру, времени или числу сообщений) и правило хранения: например, держать не больше тридцати индексов и удалять самый старый. Это настраивается в System, Indices.

Для адреса с HTTPS поставьте перед портом 9000 прокси, как в разборе установки Caddy, и пропишите публичный адрес в переменной GRAYLOG_HTTP_EXTERNAL_URI. Копируйте прежде всего MongoDB, где живёт конфигурация: mongodump занимает мало места. Сами логи при потере копится заново, а общий порядок резервного копирования описан на странице сервер для бэкапов.

06 · 1 мин

Вопросы об установке Graylog#

Какие порты нужно открыть для Graylog?

Порт 9000 держат за прокси с HTTPS. Порт приёма, например 12201 для GELF, открывают только для адресов своих серверов.

Нужно ли ставить отдельный Elasticsearch для Graylog?

В схеме из документации по Docker не нужно: индекс хранит контейнер graylog-datanode. Отдельные Elasticsearch или OpenSearch нужны только в других вариантах установки.

Что такое GRAYLOG_PASSWORD_SECRET и где его хранить?

Длинная случайная строка для защиты паролей и значений в настройках. Храните её вместе с остальными секретами сервера и не меняйте после запуска.

Что выбрать для логов: Graylog или Loki?

Graylog подойдёт, если нужен полнотекстовый поиск, потоки и уведомления в одном интерфейсе. Loki легче по диску и естественно живёт рядом с Grafana.

Почему этому можно верить

Как мы проверяли

Цены с сайта провайдераСняты вручную, у каждой цены указана дата проверки.
Всё можно повторитьКоманды и расчёты описаны так, что их повторит любой читатель.
Независимый справочникНе связан с разработчиками приложений и провайдерами и пишет о минусах тоже.

Источники цифр на этой странице: VPS и VDS серверы Таймвеб Клауд, timeweb.cloud/services/vds-vps, проверено 14 октября 2026; Маркетплейс приложений Таймвеб Клауд, timeweb.cloud/marketplace, проверено 14 октября 2026; Документация Graylog: установка в Docker, go2docs.graylog.org/current/downloading_and_installing_graylog/docker_installation.htm, проверено 15 октября 2026.

SBРедакция SelfBase · обновлено 16 октября 2026

Запустите свой сервер за пару минут

Почасовая оплата: тестовый стенд на сутки стоит десятки рублей, а не месячный тариф.

  • NVMe-диски и гарантированная доля процессора
  • Root-доступ и любой софт, от Docker до игровых серверов
  • Маркетплейс: 91 приложение в один клик
  • Бесплатный перенос проекта силами специалистов
Ресурсы