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

Установка Graylog, Elasticsearch и MongoDB на Ubuntu

• 5 min read • DevOps • Обновлено 23 Nov 2025
Установка Graylog, Elasticsearch и MongoDB
Установка Graylog, Elasticsearch и MongoDB

О чём эта инструкция

Это руководство показывает, как установить и настроить стек логирования: MongoDB, Elasticsearch и Graylog. Оно полезно для единого сервера разработки или тестовой среды. Команды и конфигурации приведены для Ubuntu 15.10 и указанных версий компонентов.

Важно: версии в руководстве — MongoDB 3, Elasticsearch 1.7 и Graylog 1.3.2. Перед применением на продакшене проверьте совместимость и обновлённые релизы.

Краткие требования

  • Ubuntu 15.10 — 64‑бит
  • 4 ГБ ОЗУ (минимум для тестовой среды)
  • root-права (или sudo)

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

  • Службы MongoDB, Elasticsearch и Graylog запущены и активны.
  • Graylog REST API доступен по http://127.0.0.1:12900/.
  • Веб‑интерфейс Graylog открывается на порту 8080 и позволяет войти под admin с указанным паролем.

Шаг 1 — Установка MongoDB

MongoDB — документная NoSQL‑БД. Документы используют BSON (бинарный JSON). В этом руководстве мы устанавливаем MongoDB 3 из репозиториев Debian.

Добавьте репозиторий, обновите индексы и установите пакет:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10  
echo "deb http://repo.mongodb.org/apt/debian wheezy/mongodb-org/3.0 main" > /etc/apt/sources.list.d/mongodb-org-3.0.list  
apt-get update

Установите MongoDB:

apt-get install mongodb-org

Запустите сервис и включите автозапуск:

systemctl start mongod  
systemctl enable mongod

Проверка: убедитесь, что процесс mongod работает и принимает соединения на стандартном порту.


Шаг 2 — Установка Java

Graylog и Elasticsearch зависят от Java. Для Graylog требуется Java 7 или выше. Установим OpenJDK 7:

apt-get install openjdk-7-jre

Проверьте версию:

java -version

Ожидаемый пример вывода:

java version "1.7.0_91"  
OpenJDK Runtime Environment (IcedTea 2.6.3) (7u91-2.6.3-0ubuntu0.15.10.1)  
OpenJDK 64-Bit Server VM (build 24.91-b01, mixed mode)

Если версия Java не соответствует требованиям, установите более свежий JDK/JRE.


Шаг 3 — Установка Elasticsearch

В этом руководстве используется Elasticsearch 1.7.

Добавьте GPG‑ключ и репозиторий:

sudo wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -

Добавьте репозиторий и обновите пакеты:

echo "deb http://packages.elastic.co/elasticsearch/1.7/debian stable main" > /etc/apt/sources.list.d/elasticsearch.list  
apt-get update

Установите Elasticsearch:

sudo apt-get install elasticsearch

Запустите демон и включите автозапуск:

sudo systemctl start elasticsearch  
sudo systemctl enable elasticsearch

Настройка:

Откройте конфигурационный файл:

vim /etc/elasticsearch/elasticsearch.yml

Разкомментируйте и установите имя кластера:

cluster.name = graylog2

Для продакшена отключите динамические скрипты чтобы уменьшить риск удалённого выполнения кода:

script.disable_dynamic: true

Сохраните и перезапустите Elasticsearch:

systemctl restart elasticsearch

Проверьте состояние кластера с помощью curl:

curl -XGET 'http://localhost:9200/'  
curl -XGET 'http://localhost:9200/_cluster/health?pretty=true'

Проверка Elasticsearch — ответ на порт 9200

Если ответы положительные, Elasticsearch работает локально на порту 9200.


Шаг 4 — Установка Graylog Server

Здесь используется Graylog 1.3.2. Скачайте и распакуйте пакет в /opt, затем настройте конфигурацию.

Установите pwgen для генерации секретов:

apt-get install pwgen

Сгенерируйте секрет‑фразу для password_secret (96 символов):

pwgen -N 1 -s 96

Пример: (в руководстве показан пример секретной строки)

GYXOjHVNjTv7EdDxUOYEvW9MFJHzqzJarjuar7bszkXr41xTA9Gb8ig8j9MbclWYdzVdis2BfggLbxGaMoxLw1FCZuPNo3Ua

Сгенерируйте sha256‑хэш пароля администратора (пример):

echo -n mypassword | sha256sum

Пример вывода:

9235b36556923005015a6c2c18bf6f08a61daf54bfad653bde0ce6404000f0b1

Скачайте Graylog и распакуйте:

cd /opt/  
wget https://packages.graylog2.org/releases/graylog2-server/graylog-1.3.2.tgz

Распакуйте и переименуйте каталог:

tar -xzvf graylog-1.3.2.tgz  
mv graylog-1.3.2/ graylog/

Скопируйте пример конфигурации в /etc:

mkdir -p /etc/graylog/server/  
cp /opt/graylog/graylog.conf.example /etc/graylog/server/server.conf

Отредактируйте конфиг:

vim /etc/graylog/server/server.conf

Установите сгенерированную строку в password_secret:

password_secret = GYXOjHVNjTv7EdDxUOYEvW9MFJHzqzJarjuar7bszkXr41xTA9Gb8ig8j9MbclWYdzVdis2BfggLbxGaMoxLw1FCZuPNo3Ua

Вставьте sha256‑хэш в root_password_sha2 — это будет пароль администратора для входа:

root_password_sha2 = 9235b36556923005015a6c2c18bf6f08a61daf54bfad653bde0ce6404000f0b1

Отключите multicast discovery у Elasticsearch и укажите unicast‑хосты (локально):

elasticsearch_discovery_zen_ping_multicast_enabled = false   
elasticsearch_discovery_zen_ping_unicast_hosts = 127.0.0.1:9300

Установите количество шард и реплик для односерверной установки:

elasticsearch_shards = 1  
elasticsearch_replicas = 0

Сохраните файл и запустите Graylog:

cd /opt/graylog/bin/  
./graylogctl start

Логи можно смотреть командой:

tail -f /opt/graylog/log/

Ожидаемый фрагмент лога при успешном запуске:

`Started REST API at   
``Graylog2 up and running.`

Если вы видите REST API адрес, сервер запущен корректно.


Шаг 5 — Установка Graylog Web

Скачайте веб‑интерфейс и распакуйте:

cd /opt/  
wget https://packages.graylog2.org/releases/graylog2-web-interface/graylog-web-interface-1.3.2.tgz

Распакуйте и переименуйте:

tar -xzvf graylog-web-interface-1.3.2.tgz  
mv graylog-web-interface-1.3.2/ graylog-web/

Сгенерируйте application.secret:

pwgen -N 1 -s 96

Пример:

zHg966Be4cBBLmasLiQm4mA0ziR5HziHq6RnfmgKIsjNtLCyHUvmxBMhzRkBclaE2IWyzJPJtPaQGEiLek0iJ3CaWh6kCDAE

Отредактируйте конфигурационный файл веб‑интерфейса:

cd graylog-web/  
vim graylog

Укажите адрес сервера Graylog и вставьте application.secret:

graylog2-server.uris="http://127.0.0.1:12900/"
application.secret="zHg966Be4cBBLmasLiQm4mA0ziR5HziHq6RnfmgKIsjNtLCyHUvmxBMhzRkBclaE2IWyzJPJtPaQGEiLek0iJ3CaWh6kCDAE"

Запустите веб‑интерфейс на порту 8080:

cd /opt/graylog-web/bin/  
./graylog-web-interface -Dhttp.port=8080

Откройте в браузере: http://myipaddress:8080/ и войдите под admin и вашим sha256‑паролем.

Страница входа Graylog

Graylog успешно установлен — интерфейс


Проверка и базовая отладка

Что проверить сразу после установки:

  • MongoDB слушает на стандартном порту и отвечает.
  • Elasticsearch доступен на 9200 и кластер green/green-ish.
  • Graylog REST API на 127.0.0.1:12900 отвечает.
  • Веб‑интерфейс на 8080 позволяет выполнить вход.

Типичные проблемы и решения:

  • Сервис не стартует: проверьте логи в /var/log/ (mongod, elasticsearch, graylog) или в /opt/graylog/log.
  • Elasticsearch долго стартует: убедитесь в достатке оперативной памяти; на слабых машинах JVM может не стартовать.
  • Ошибка аутентификации в вебе: проверьте, что root_password_sha2 совпадает с sha256 вашего пароля.

Полезные команды для диагностики:

systemctl status elasticsearch  
systemctl status mongod  
ps aux | grep graylog  
journalctl -u elasticsearch

Рекомендации по безопасности и производительности

Important: в продуктивной среде необходимо дополнительно защитить сервисы.

Безопасность:

  • Разверните Graylog и Elasticsearch за защищённым брандмауэром. Откройте внешние порты только при необходимости.
  • Включите TLS для Graylog REST API и веб‑интерфейса при реальном трафике.
  • Используйте отдельные сервисные аккаунты и минимальные права для процессов.
  • Ограничьте доступ к MongoDB и Elasticsearch по сети (bind_address, firewall).

Производительность:

  • Для продакшена увеличьте RAM и настройте JVM‑параметры для Elasticsearch и Graylog (heap size). По умолчанию стоит разумный минимум, но в рабочих нагрузках требуется тонкая настройка.
  • Разделяйте роли: хранение данных (Elasticsearch), лог‑сервер (Graylog) и база (MongoDB) лучше располагать на разных узлах.

Когда этот стек не подходит

  • Для критически важных продакшен‑окружений стоит рассмотреть современные версии компонентов. Версии 1.x/1.3.2 устарели и не получают обновлений.
  • Если требуется централизованная высокодоступная архитектура, одномашинная установка не подойдёт.
  • Для лёгких задач логирования можно использовать облачные SaaS‑решения или более простые агрегации (например, rsyslog + logrotate).

Альтернативы и подходы

  • ELK/Elastic Stack (Elasticsearch + Logstash + Kibana) — популярная альтернатива для агрегации и визуализации логов.
  • Fluentd/Fluent Bit + Elasticsearch — оптимизировано для контейнерных сред.
  • Коммерческие облачные решения для централизованного логирования имеют преимущества в удобстве и масштабировании.

Мини‑методология деплоя (быстрое руководство)

  1. План: определите нагрузки, требования к хранению и резервному копированию.
  2. Подготовка: выделите отдельные VM/контейнеры для MongoDB, Elasticsearch и Graylog на продакшене.
  3. Установка: последовательно установите зависимости (Java), затем MongoDB, Elasticsearch, Graylog Server, Graylog Web.
  4. Тест: проверьте доступность REST API, веба и корректность индексов Elasticsearch.
  5. Мониторинг: настройте мониторинг состояния JVM, использование диска и задержки индексации.

Чеклисты по ролям

Sysadmin:

  • Установить и запустить службы.
  • Настроить автозапуск systemd.
  • Настроить firewall и ограничения доступа.

DevOps/Инженер по наблюдаемости:

  • Настроить приёмы логов (inputs) в Graylog.
  • Настроить индексацию и шаблоны в Elasticsearch.
  • Настроить дашборды и оповещения.

Security Engineer:

  • Настроить TLS и аутентификацию.
  • Ограничить доступ по IP/сетям.
  • Обеспечить безопасное хранение секретов.

Глоссарий (1‑строчные определения)

  • Elasticsearch — распределённая поисковая система на базе Lucene.
  • MongoDB — документная NoSQL‑БД, использующая BSON.
  • Graylog — платформа централизованного управления логами на основе Elasticsearch и MongoDB.
  • pwgen — утилита для генерации случайных паролей.

Советы по обновлению и совместимости

  • Проверяйте совместимость версий Graylog, Elasticsearch и MongoDB перед апгрейдом.
  • Переход с 1.x на современные версии Elastic требует миграции индексов и возможной перестройки конфигурации.
  • Для новых проектов рассмотрите использование поддерживаемых и актуальных релизов компонентов.

Краткое резюме

  • Мы установили MongoDB, Java, Elasticsearch, Graylog Server и Graylog Web.
  • Генерация секретов и настройка пароля администратора — обязательный шаг для веб‑интерфейса.
  • Для продакшена нужны дополнительные меры безопасности, мониторинга и распределения ролей по узлам.

extras:

  • TL;DR: Пошаговое руководство по установке Graylog 1.3.2, Elasticsearch 1.7 и MongoDB 3 на Ubuntu 15.10. Включает базовую настройку, генерацию секретов, запуск веб‑интерфейса и разделы по проверке, устранению неполадок и базовой безопасности.

Сохраните конфигурации, секреты и пароли в безопасном месте и тестируйте изменения в отдельной среде перед применением в продакшене.

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

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

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро