Главная/Разработка/Graylog
Установка Graylog на свой сервер
Установка Graylog через Docker Compose собирается из трёх контейнеров: MongoDB для настроек, Data Node для индекса сообщений и сам Graylog с веб-интерфейсом на порту 9000. Это сервер для сбора и поиска логов со всех ваших машин, у которого уже есть потоки, панели и уведомления.
Ответ за 30 секунд
Для пробы берите сервер от 4 ГБ памяти и 2 ядер: три сервиса с Java и базой не уживаются на 1 ГБ. Не забудьте поднять vm.max_map_count и не открывайте приёмный порт 12201 всему интернету, иначе в ваши логи сможет писать кто угодно.
Почасовая оплата: схему сбора логов можно проверить за рубли и удалить сервер.
Сколько памяти и диска нужно Graylog9000порт веб-интерфейса
262144минимум vm.max_map_count
12201порт GELF по умолчанию
01 · 1 мин
Из чего состоит Graylog и чем он отличается от Loki#
| Контейнер | Образ | Роль |
|---|---|---|
| MongoDB | mongo | Пользователи, потоки, панели и настройки |
| Data Node | graylog/graylog-datanode | Хранит и ищет сообщения, то есть индекс |
| Graylog | graylog/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#
- Поднимите vm.max_map_count командами выше.
- Создайте каталог
graylogи сформируйте файл с секретами. - Возьмите compose-файл со страницы установки в Docker в документации Graylog: в нём уже описаны mongo, graylog-datanode и graylog. Проверьте, что он читает переменные из
.env. - Запустите
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.
Запустите свой сервер за пару минут
Почасовая оплата: тестовый стенд на сутки стоит десятки рублей, а не месячный тариф.
- NVMe-диски и гарантированная доля процессора
- Root-доступ и любой софт, от Docker до игровых серверов
- Маркетплейс: 91 приложение в один клик
- Бесплатный перенос проекта силами специалистов