Elasticsearch и Kibana: установка и базовое использование в Ubuntu 16.04
На этой странице
- 1 Установка Java
- 2. Установите Elasticsearch.
- 3. Настройка и запуск Elasticsearch
- 4. Установите Кибану
- 5. Настройка и запуск Kibana
- 6 Основное использование
- 6.1 Создание индекса
- 6.2 Вставьте некоторые данные в индекс
- 6.3 Получение данных из индекса
Elasticsearch — мощная поисковая система, написанная на Java. Его можно использовать как автономную поисковую систему для Интернета или как поисковую систему для веб-приложений электронной коммерции.
eBay, Facebook и Netflix — некоторые из компаний, которые используют эту платформу. Elasticsearch так популярен, потому что это больше, чем просто поисковая система. Это также мощный аналитический механизм и система управления и поиска журналов. Самое приятное в нем то, что он с открытым исходным кодом и может использоваться бесплатно. Kibana — это инструмент визуализации, предоставляемый elastic.
В этом руководстве мы рассмотрим этапы установки Elasticsearch, а затем установку Kibana. Затем мы будем использовать Kibana для хранения и извлечения данных.
1 Установка Java
Поскольку Elasticsearch написан на Java, его необходимо сначала установить. Используйте приведенные ниже команды для установки версий JRE и JDK с открытым исходным кодом:
sudo apt-get install default-jre
sudo apt-get install default-jdkЭти две команды установят в вашей системе последние версии open-jre и open-jdk. Я буду использовать JAVA 8 здесь. На следующих изображениях показан результат, который вы получите, если у вас не установлена java и вы выполните приведенные выше команды.
2 Установите эластичный поиск
Недавно был выпущен Elasticsearch 5. Он имеет некоторые серьезные изменения по сравнению с предыдущими версиями 2.x. На момент написания этой статьи последней версией была версия 5.2.2, которую мы и будем устанавливать. Поэтому выполните следующие шаги для установки.
mkdir elasticsearch; cd elasticsearch
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.2.2.debПри этом файл .deb должен начать загружаться. Это будет похоже на изображение ниже:
После успешного завершения загрузки мы можем установить его, выполнив следующую команду. Результат успешной установки приведен ниже.
sudo dpkg -i elasticsearch-5.2.2.deb
3 Настройте и запустите Elasticsearch
Elasticsearch работает как фоновый процесс. Но прежде чем мы запустим его, мы должны отредактировать файл конфигурации, чтобы добавить текущую систему в качестве хоста, на котором работает движок. используйте следующую команду, чтобы открыть файл конфигурации:
sudo gedit /etc/elasticsearch/elasticsearch.yml
Как только редактор откроется, вы должны раскомментировать строку:
#network.host: 192.168.0.1
а затем измените IP-адрес на localhost, как показано на изображении ниже:
Теперь мы готовы запустить процесс. Используйте следующие команды:
sudo systemctl daemon-reload
sudo systemctl enable elasticsearch
sudo systemctl restart elasticsearch
Эти три команды добавляют процесс Elasticsearch в системный демон, чтобы он автоматически запускался при загрузке системы, а затем перезапускал сам процесс. Чтобы проверить, запущена ли система, используйте следующую команду. Результат должен быть похож на изображение, показанное ниже.
curl -XGET "http://localhost:9200"
4 Установите Кибану
Загрузите и установите файл deb, используя следующие команды:
wget https://artifacts.elastic.co/downloads/kibana/kibana-5.2.2-amd64.deb
sudo dpkg -i kibana-5.2.2-amd64.deb
при выполнении второй команды, если она попросит вас изменить существующий файл конфигурации Kibana, вы можете нажать Enter, чтобы сохранить значения по умолчанию и завершить соревнование. После того, как он будет установлен, он будет выглядеть примерно так, как показано на рисунке ниже.
5 Настройте и запустите Kibana
в файле конфигурации Kibana раскомментируйте следующие строки:
server.port:
server.host:
server.name:
elasticsearch.name:
kibana.index:Используйте следующую команду, чтобы открыть файл конфигурации. Файл после внесения изменений должен выглядеть так, как показано на рисунке ниже:
sudo gedit /etc/kibana/kibana.yml
\server.name\ может быть любым, поэтому не стесняйтесь его менять. После внесения этих изменений сохраните и закройте файл. Последнее, что нужно сделать, это добавить процесс Kibana в список системных процессов, чтобы он запускался автоматически при каждой загрузке системы. Выполните следующие команды:
sudo systemctl daemon-reload
sudo systemctl enable kibana
sudo systemctl start kibana
После запуска этих команд вы можете открыть веб-браузер и использовать следующий URL-адрес, чтобы проверить, правильно ли он установлен. На изображении ниже показано, как это должно выглядеть:
http://localhost:5601
Вот и все. Вы успешно установили Kibana и Elasticsearch.
6 Основное использование
Мы можем использовать утилиту Dev Tools, предоставленную Kibana, чтобы поговорить с Elasticsearch. Он предоставляет чистый и простой интерфейс для выполнения команд как объектов JSON. Мы будем взаимодействовать с основным движком через интерфейс REST.
http://localhost:5601/app/kibana#/dev_tools/
Как только он загрузится, вы получите вводную информацию о пользовательском интерфейсе «Добро пожаловать в консоль». Вы можете прочитать это или просто нажать кнопку «Приступить к работе» в нижней части вступления. Как только вы нажмете на эту кнопку, пользовательский интерфейс будет выглядеть так, как показано на рисунке ниже:
С левой стороны мы будем вводить команды, а на правой боковой панели мы получим вывод. Давайте попробуем отправить и сохранить некоторые данные поисковой системе.
6.1 Создание индекса
Данные хранятся в индексе. Чтобы создать индекс, мы используем команду PUT. Запрос JSON будет содержать имя индекса и некоторые дополнительные настройки, которые мы можем предоставить. Следующая команда является примером создания индекса под названием «студент».
PUT student
{
"settings": {
"number_of_shards": 3
}
}Вы можете ввести это в «Инструменты разработчика» и нажать зеленую кнопку воспроизведения рядом с ним, чтобы запустить его. Вывод будет похож на изображение ниже:
6.2 Вставьте некоторые данные в индекс
Мы будем использовать вызовы POST для вставки данных в индекс. Вставляемые данные представлены в формате JSON, поэтому давайте добавим учащихся в индекс. Команда:
POST student/course
{
"name":"james",
"course": "mathematics"
}В приведенной выше команде \курс\ указывает тип индексируемых данных. Из ответа видно, что эта запись также имеет уникальный идентификатор. В приведенной ниже команде вы можете видеть, что после «курса» есть еще один параметр, именно так вы можете указать идентификатор для этой записи студента. Таким образом, elasticsearch не будет создавать идентификатор, а будет использовать его в качестве идентификатора этой записи.
POST student/course/2
{
"name":"tina",
"course": "physics"
}Ниже приведены изображения, которые показывают ответ поисковой системы при выполнении обеих команд:
6.3 Извлечение данных из индекса
Вы также можете извлекать данные из различных полей из сохраненной записи или записи. Каждая запись, которую мы сохранили на предыдущем шаге, называется документом в Elasticsearch. Мы будем использовать вызов GET для извлечения документов из индекса. Вот как вы можете получить один документ, используя поле «имя»:
GET student/course/_search
{
"query": {
"term": {
"name": {
"value": "james"
}
}
}
}Эта команда ищет в указателе \студент\ документы типа \курс\ и пытается сопоставить термин с именем поля \имя\, которое имеет значение \Джеймс\. Поскольку в индексе есть студент по имени Джеймс, мы получаем ответ, как показано на изображении ниже:
Это были только основы. С Elasticsearch можно сделать множество вещей, и требуется много исследований, чтобы освоить эту структуру и использовать ее в меру своих возможностей.