06.06.2023

Установка 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: