Установка Graylog на Ubuntu 18.04

Описание установки системы сбора логов Graylog на виртуальный сервер под управлением операционной системы Ubuntu 18.04.

Что такое Graylog?

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

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

Предварительные требования

  1. Для работы Graylog рекомендуемый объем оперативной памяти на виртуальном сервере - не менее 2Gb.
  2. Метаданные Graylog хранятся в СУБД MongoDB, для ее установки можно воспользоваться нашей инструкцией.

Обновление системы и установка Oracle JDK

Обновите локальную базу пакетов:
apt update && apt upgrade

Далее установите OpenJDK и дополнительные пакеты:
apt install apt-transport-https uuid-runtime pwgen openjdk-8-jre-headless

Установка Elasticsearch

Graylog требует установки Elasticsearch, масштабируемого приложения, которое позволяет выполнять поиск данных в реальном времени, а также хранить и анализировать.

Выполните базовую установку Elasticsearch. Сначала необходимо загрузить GPG-ключ:
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | apt-key add -

Загрузите deb-пакет:
echo "deb https://artifacts.elastic.co/packages/5.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-5.x.list

Обновите локальную базу пакетов и установите Elasticsearch:
apt update && apt install elasticsearch

Далее разрешите запуск приложения после загрузки ОС и запусти его:
systemctl enable elasticsearch
systemctl start elasticsearch

В файле конфигурации необходимо изменить название кластера. С помощью текстового редактора vi откройте следующий файл:
nano /etc/elasticsearch/elasticsearch.yml

Найдите следующий параметр cluster.name и установите имя кластера:
сluster.name: graylog

Также в конец файла добавьте следующие строки:
script.inline: false
script.indexed: false
script.file: false

Сохраните внесенные изменения и перезапустите Elasticsearch:
systemctl restart elasticsearch

Установка Graylog

С помощью команды wget загрузите пакет graylog:
wget https://packages.graylog2.org/repo/packages/graylog-2.4-repository_latest.deb

Выполните установку пакета:
dpkg -i graylog-2.4-repository_latest.deb

Обновите информацию о пакетах и запустите процесс установки Graylog:
apt update && apt install graylog-server

После завершения установки необходимо отредактировать файл конфигурации, чтобы установить в нем пароль. Пароль должен содержать 64 символа, для его генерации рекомендуем использовать pwgen:
pwgen -N 1 -s 96

В результате, в консоль будет выведена строка, пример:
iQflncka906AZkfcJtMAuuehAjMoj9MfDiYnrj6NDIFaprVY3jP6rQszcd56MwGT4Ra0ckoxpeZnxbpg2pJPEUTa0qYaNtDw

Далее с помощью откройте файл конфигурации:
vi /etc/graylog/server/server.conf

Установите параметру password_secret значение сгенерированного пароля, например:
password_secret = iQflncka906AZkfcJtMAuuehAjMoj9MfDiYnrj6NDIFaprVY3jP6rQszcd56MwGT4Ra0ckoxpeZnxbpg2pJPEUTa0qYaNtDw

Далее сгенерируйте хеш для пароля пользователя admin, указав значение пароля:
echo -n ваш_пароль | sha256sum

В результате будет выведена строка следующего вида:
6c8ccf159a4b150dc29e7b013b1d04700821a5c44a17f6d85dd6e317f7b4e209  -

Установите параметру root_password_sha2 значение сгенерированного пароля, например:
root_password_sha2 = 6c8ccf159a4b150dc29e7b013b1d04700821a5c44a17f6d85dd6e317f7b4e209

Также заполните параметр root_email:
root_email = “example@domain.com”

В конец файла добавьте следующую строку, указав IP-адрес вашего VPS:
elasticsearch_discovery_zen_ping_unicast_hosts = <ip-адрес>:9300

Например:
elasticsearch_discovery_zen_ping_unicast_hosts = 121.123.123.121:9300

Далее необходимо изменить адрес web-интерфейса и апи, для этого найдите следующие строки и замените IP-адрес на адрес вашего виртуального сервера:
web_listen_uri = http://<ip-адрес>:9000/
web_listen_uri = http://<ip-адрес>:9000/

Примечание: при необходимости также можно изменить порт.

Сохраните изменения в файле конфигурации.

Перезапустите сервис для применения изменений:
systemctl restart graylog-server

Проверить статус сервиса можно с помощью следующей команды:
systemctl status graylog-server

Подключение к web-интерфейсу Graylog

Для подключения к Web-интерфейсу Graylog для начала необходимо открыть соответствующий порт, по умолчанию мы везде используем 9000. Открыть порт можно с помощью межсетевого экрана прямо в панели управления или на уровне сервера с помощью простой утилиты iptables:
iptables -A INPUT -p tcp --dport 9000 -j ACCEPT
iptables-save

После этого в браузере можно перейти по следующей ссылке:
<ip-адрес_сервера>:9000

Например:
121.123.123.121:9000

На открывшейся странице введите логин admin и созданный ранее пароль:

Подготовка интерфейса может занять несколько дней:

Теперь вы можете приступать к работе с Graylog: