Описание установки системы сбора логов Graylog на виртуальный сервер под управлением операционной системы Ubuntu 18.04.
Что такое Graylog?
В крупных корпорациях, как правило, одновременно работает много систем и приложений, что усложняет ведение журнала ошибок. Для эффективного управления этими записями используются специализированные инструменты для их централизации.
Graylog — это профессиональное приложение, которое предоставляет унифицированную и централизованную систему сообщений из разных источников: операционной системы, приложений, информационных систем с целью централизации и упрощения администрирования журналов ошибок или логов.
Предварительные требования
- Для работы Graylog рекомендуемый объем оперативной памяти на виртуальном сервере - не менее 2Gb.
- Метаданные 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: