Как установить 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 для создания распределенного сервера журналов.