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

Elasticsearch и Kibana: установка и базовое использование в Ubuntu 16.04


На этой странице

  1. 1 Установка Java
  2. 2. Установите Elasticsearch.
  3. 3. Настройка и запуск Elasticsearch
  4. 4. Установите Кибану
  5. 5. Настройка и запуск Kibana
  6. 6 Основное использование
    1. 6.1 Создание индекса
    2. 6.2 Вставьте некоторые данные в индекс
    3. 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 можно сделать множество вещей, и требуется много исследований, чтобы освоить эту структуру и использовать ее в меру своих возможностей.