Поиск по сайту:

Как установить Graylog2 и Elasticsearch на Ubuntu 15.10


Elasticsearch — это распределенный поисковый сервер на основе Lucene, доступный как программное обеспечение с открытым исходным кодом. Это полнотекстовая поисковая система, написанная на Java, с веб-интерфейсом HTTP и изначально поддерживающая документы JSON. Elasticsearch можно использовать для поиска по всем видам документов и предоставляет масштабируемое решение для поиска и поиска в реальном времени. Elasticsearch используется многими крупными организациями Mozilla, Netflix, Stack Exchange и т. д.

Graylog2 — это система централизованного управления журналами и анализа журналов, основанная на Elasticsearch и MongoDB. Он способен анализировать и накапливать сообщения журнала из разных источников.

В этом руководстве я проведу вас через установку Graylog2, Elasticsearch и MongoDB. Я буду использовать Ubuntu 15.10 для этой установки.

Предпосылка

  • Убунту 15.10 — 64-разрядная версия
  • 4 ГБ ОЗУ
  • Привилегии root

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

MongoDB — это документно-ориентированная база данных NoSQL. Схема документа MongoDB похожа на JSON, она называется BSON. Мы установим MongoDB 3 из репозиториев MongoDB 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

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

systemctl start mongod
systemctl enable mongod

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

Все приложения, которые мы будем использовать в этом руководстве, основаны на Java, поэтому мы должны установить их сейчас :). Нам нужна Java 7 или выше для установки Graylog. Java 7 доступна в репозитории Ubuntu, поэтому давайте установим ее с помощью этой команды:

apt-get install openjdk-7-jre

Теперь проверьте версию Java:

java -version

И вы должны получить версию Java:

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)

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

В этом руководстве мы установим elasticsearch версии 1.7.

Загрузите и добавьте ключ GPG в систему:

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

Теперь добавьте репозиторий elasticsearch в каталог sources.list.d и запустите обновление apt-get:

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

А когда установка будет завершена, запустите демон Elastcisearch и разрешите его запуск во время загрузки:

sudo systemctl start elasticsearch
sudo systemctl enable elasticsearch

Установка Elastisearch завершена, и демон запущен. Теперь пришло время настроить его.

Отредактируйте файл конфигурации в каталоге \/etc/elasticsearch/\ с помощью vim:

vim /etc/elasticsearch/elasticsearch.yml

Раскомментируйте строку \cluster.name\ и измените значение на \graylog2\.

cluster.name = graylog2

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

script.disable_dynamic: true

Сохраните файл и выйдите.

Затем перезапустите Elasticsearch и протестируйте его с помощью команды curl:

systemctl restart elasticsearch

Я тестирую Elasticsearch с подключением curl к порту 9200:

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

Шаг 4 — Установите сервер Graylog2

Следующим шагом будет установка сервера Graylog2. Я буду использовать Graylog 1.3.2 для этой установки. Загрузите Graylog2 с помощью команды wget, извлеките его, а затем настройте.

Прежде чем мы начнем с установки pwgen, нам нужно, чтобы pwgen сгенерировал случайный пароль.

Установить пвген:

apt-get install pwgen

Теперь сгенерируйте новый пароль командой:

pwgen -N 1 -s 96

Мой секретный код:

GYXOjHVNjTv7EdDxUOYEvW9MFJHzqzJarjuar7bszkXr41xTA9Gb8ig8j9MbclWYdzVdis2BfggLbxGaMoxLw1FCZuPNo3Ua

и сгенерируйте новый хэш sha256 с помощью команды ниже:

echo -n mypassword | sha256sum

Это мой пароль:

9235b36556923005015a6c2c18bf6f08a61daf54bfad653bde0ce6404000f0b1

Затем перейдите в каталог /opt/ и загрузите graylog-server с помощью команды wget:

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

Извлеките Graylog-сервер и переименуйте каталог в Graylog2:

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

Graylog-сервер загружен, и мы используем каталог /opt/ для его установки.

Чтобы настроить Graylog-сервер, создайте новый каталог Graylog и скопируйте пример файла конфигурации Graylog-сервера в \server.conf\.

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

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

vim /etc/graylog/server/server.conf

Вставьте пароль, сгенерированный с помощью pwgen, в строку password_secret:

password_secret = GYXOjHVNjTv7EdDxUOYEvW9MFJHzqzJarjuar7bszkXr41xTA9Gb8ig8j9MbclWYdzVdis2BfggLbxGaMoxLw1FCZuPNo3Ua

Вставьте сгенерированный пароль sha256, этот пароль используется для входа в панель управления Graylog:

root_password_sha2 = 9235b36556923005015a6c2c18bf6f08a61daf54bfad653bde0ce6404000f0b1

Отключите многоадресный поиск в elasticsearch и добавьте хосты одноадресной рассылки.

elasticsearch_discovery_zen_ping_multicast_enabled = false  
elasticsearch_discovery_zen_ping_unicast_hosts = 127.0.0.1:9300

Измените осколки elasticsearch на 1, потому что мы устанавливаем все на этот единственный сервер.

elasticsearch_shards = 1
elasticsearch_replicas = 0

Сохраните и выйдите из файла.

Теперь запустите Graylog-сервер, выполнив файл bin в каталоге Graylog:

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

Теперь вы можете увидеть лог-файл Graylog-сервера в каталоге логов, смотрите его командой tail:

tail -f /opt/graylog/log/

Если вы должны увидеть это в файле журнала:

Started REST API at <http://127.0.0.1:12900/>
Graylog2 up and running.

Это означает, что Graylog-сервер был запущен правильно.

Шаг 5 — Установите Graylog-Web

Загрузите веб-интерфейс Graylog с помощью команды wget в каталог /opt/:

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

Извлеките веб-интерфейс Graylog и переименуйте его в «graylog-web».

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

Затем сгенерируйте новый секретный код приложения для Graylog-Web с помощью pwgen:

pwgen -N 1 -s 96

Это мой секрет:

zHg966Be4cBBLmasLiQm4mA0ziR5HziHq6RnfmgKIsjNtLCyHUvmxBMhzRkBclaE2IWyzJPJtPaQGEiLek0iJ3CaWh6kCDAE

Перейдите в каталог Graylog-Web и отредактируйте файл конфигурации:

cd graylog-web/
vim graylog

В строке Graylog2-server.uris добавьте адрес Graylog2-сервера:

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

В строку application.secret вставьте сгенерированный ранее секретный код:

application.secret="zHg966Be4cBBLmasLiQm4mA0ziR5HziHq6RnfmgKIsjNtLCyHUvmxBMhzRkBclaE2IWyzJPJtPaQGEiLek0iJ3CaWh6kCDAE"

Сохраните файл и выйдите.

Теперь запустите Graylog-Web:

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

Graylog-web будет работать на порту 8080.

Посетите свой сервер - http://myipaddress:8080/

Теперь войдите в систему с пользователем «admin» и вашим паролем sha256.

Установлен сервер Graylog2 с Elasticsearch и веб-интерфейсом Graylog.

Заключение

Elasticsearch — это распределенная серверная поисковая система с HTTP-интерфейсом и поддержкой JSON. Мы можем использовать его для поиска во всех файлах журналов сервера при использовании его вместе с Graylog. Graylog — это программное обеспечение для управления и анализа журналов, основанное на Elasticsearch и mongoDB. Мы можем использовать Elasticsearch, Graylog и MongoDB для создания распределенного сервера журналов.