Научная статья на тему 'Сбор, фильтрация и анализ больших данных с помощью стека elk'

Сбор, фильтрация и анализ больших данных с помощью стека elk Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
696
129
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
система мониторинга / ELK / Elasticsearch / Logstash / Kibana / Big Data / monitoring system / ELK / Elasticsearch / Logstash / Kibana / Big Data

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Петров Валерий Владимирович

В работе рассмотрено как с помощью стека ELK собирать, обрабатывать и анализировать боль-шие данные, в качестве метода исследования была выбрана апробация в соответствии с тест-кейсами. Тест-кейсы были составлены в соответствии с реальными задачами, с которыми сталкиваются инже-неры в компании RingCentral.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Петров Валерий Владимирович

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

COLLECTING, FILTERING AND ANALYZING BIG DATA USING THE ELK STACK

This article shows how ELK software collecting, processing , and analyzing Big Data , the main research method is approbation according test-cases. All test-cases was created according real tasks , they used at work by RingCentral’s engineers.

Текст научной работы на тему «Сбор, фильтрация и анализ больших данных с помощью стека elk»

<<Щ[1ШЗДиМ~^©иТМа1>>#Щ29)),,2(0]9 / TECHNICAL SCIENCE_1_5_

УДК 004.75

Петров Валерий Владимирович

кафедра аппаратно-программных комплексов вычислительной техники, студент группы № P4255

Должность, место работы: DevOps, RingCentral Факультет программной инженерии и компьютерной техники, Санкт-Петербургский национальный исследовательский университет информационных

технологий, механики и оптики DOI: 10.24411/2520-6990-2019-10062 СБОР, ФИЛЬТРАЦИЯ И АНАЛИЗ БОЛЬШИХ ДАННЫХ С ПОМОЩЬЮ СТЕКА ELK.

Petrov Valerii Vladimirovich

Department of Hardware and Software Computing Systems, Student Group No. P4255

Position , company: DevOps, RingCentral Faculty of Software Engineering and Computer Engineering, Saint Petersburg National Research University of Information Technologies, Mechanics and Optics

COLLECTING, FILTERING AND ANALYZING BIG DATA USING THE ELK STACK

Аннотация

В работе рассмотрено как с помощью стека ELK собирать, обрабатывать и анализировать большие данные, в качестве метода исследования была выбрана апробация в соответствии с тест-кейсами. Тест-кейсы были составлены в соответствии с реальными задачами, с которыми сталкиваются инженеры в компании RingCentral.

Abstract

This article shows how ELK software collecting, processing , and analyzing Big Data , the main research method is approbation according test-cases. All test-cases was created according real tasks, they used at work by RingCentral's engineers.

Ключевые слова: система мониторинга, ELK, Elasticsearch , Logstash , Kibana , Big Data

Key words: monitoring system , ELK, Elasticsearch , Logstash , Kibana, Big Data

Стек ELK это набор ПО для сбора, агрегирования, и удобного представления лог-файлов, метрик, событий и т.д. Он прекрасно масштабируется, имеет высокую доступность (High Avalability) из коробки которую очень легко настроить, полностью бесплатен а так же, обладает открытым исходным кодом, и состоит из следующих программных продуктов: Elasticsearch , Logstash, Kibana.

Методы исследования.

Главный метод исследования - построение и апробация стека ELK на Lab-environment. Что включает в себя следующее:

1. Рассмотрение и изучения технической документации.

2. Тестирование данного стека в условиях Labenvironment

3. Написание тест-кейсов , создание скрипта для генерации данных, которые будут обработаны стеком ELK с помощью модели машинного обучения.

Elasticsearch - высокомасштабируемый пол- Ключевые особенности:

нотекстовый поисковый и аналитический движок с • Кластеризация (возможность горизонтально

открытым исходным кодом (основанный на увеличивать количество нод) Lucene). Он позволяет хранить, искать и анализиро- • Полнотекстовый поиск в реальном времени

вать большие объемы данных в реальном времени. (благодаря поисковому движку Lucene)

16

TECHNICAL SCIENCE /

• Шардирование и репликация данных (вероятность потери данных очень низка)

• Экономное хранение документов на диске благодаря сжатию

• Открытый API с возможностью управлением всем сервисом

• Интеграция с Hadoop из коробки [1]

Logstash - ПО для обработки данных с открытым исходным кодом на стороне сервера, он может динамически унифицировать данные из разрозненных источников и нормализовать данные в выбранных вами направлениях.

Ключевые особенности:

• Обработка лог-файлов на лету (например веб-сервера Apache) , и журналов приложений (таких как log4j2 для Java) с фильтрацией только нужных вам данных

• Сбор метрик из Ganglia, collectd, NetFlow, JMX, и многих других прикладных и инфраструктурных платформ через TCP и UDP.

• Это стандарт сети сбора событий для приема данных, отправляемых с мобильных устройств, в интеллектуальные дома, транспортные средства, датчики здравоохранения и многие другие отраслевые приложения. [1]

Kibana - предоставляет удобный GUI для использования elasticsearch а так же позволяет визуализировать все данные, которые хранятся в elasticsearch.

Ключевые особенности:

• Возможность пользоваться поиском по данным с множественными агрегациями

• Возможность создавать графики и дашборды на основе данных в elasticsearch

• Возможность создавать алёрты на основе дашбордов

• Обнаружение аномалий с помощью машинного обучения

• Открытый API

• Возможность управлять потоками данных logstash

В качестве тест-кейса, было выбрано следующее задание:

Создать скрипт для генерации данных пользователей сервиса. ELK стек должен будет принять это данные по HTTP , определить по ip-адресу геолокацию пользователя и в случае несоответствия геометки и места проживания пользователя - отделить эти данные в отдельный индекс используя модель машинного обучения.

Индекс в ELK - это набор документов отсортированный по полю @timestamp , который проставляется на стороне Logstash в виде unix-timestamp по приходу документа.

Для развертывания ELK кластера , была выбрана multi-node архитектура в которой master(про-изводит аллоцирование шард, балансирует кластер ) нода будет так же являться и data нодой (т.е. принимать, обрабатывать и хранить данные).

Рисунок. Архитектура ELK кластера.

Скрипт написан на языке Python, он генерирует данные в json и отсылает их группой по 500 документов с помощью HTTP, документы обрабатываются на стороне Logstash встроенным модулем, он преобразует json формат в формат данных Elasticsearch. Elasticsearch используя модуль geopoint обрабатывает поле с ip-адресом и генерирует следующие поля:

• Код континента

• Код страны

• Географические координаты (ширина, долгота)

• Код региона

• Название региона

• Временную зону

Модуль geopoint предназначен для:

• Нахождения географических точек (ширина, высота)

• Агрегирование документов по удалению от центральной точки

• Интегрирование расстояния в результат релевантности документа

• Сортирование документов по дистанции

Благодаря значениям, который этот плагин создает на основании ip-адреса документа, можно составить модель для машинного обучения что бы решить поставленную задачу. В нашем случае, модель машинного обучения будет определять расхождение места жительства человека и место , которое определилось на основании ip-адреса.

На изображении ниже показана работа машинного обучения, данная модель проанализировала все документы хранящиеся в индексе и вывела на график то, что модуль geoip не смог обработать. (Т.е. данные ip-адреса неккоректны).

<<Ш11ШетиМ~^®и©Ма1>#Щ29),2(0]9 / TECHNICAL SCIENCE 17

Рисунок. Модель обработки некорректных данных.

На следующем изображении показан итоговый расхождение места жительства человека и место, результат работы модели машинного обучения, ко- которое определилось на основании ip-адреса с по-торая проанализировала весь индекс и сопоставила мощью модуля geoip.

Рисунок. Итоговый результат модели машинного обучения.

В результате работы данной модели, было проанализировано ~ 10 млн документов и выявлены документы, в которых имеется расхождения реального места жительства человека и места, которое определилось на основании ip-адреса.

В компании RingCentral стек ELK является основным хранилищем лог-файлов всех компонент внутренних сервисов. На данный момент , в production используется свыше 100 физических серверов , которые расположены в США и Европе. На этих серверах в сумме хранится более чем 1,5

петабайта данных. Ротация данных происходит каждый день.

Благодарности:

Автор выражает благодарность компании RingCentral за предоставление вычислительных мощностей при выполнении данной статьи.

В частности: Головину В.А. , а так же Смирнову А.Б. за возможность подробно изучить и протестировать данные программные продукты.

Литература

1. Elasticsearch Main Page , [электронный ресурс], URL: http://elastic.co

Джабраильзаде С.Дж.

Канд. пед.наук. доц.

Кафедры «Вычислительная математика и информатика». Азербайджанский Государственный Педагогический Университет

DOI: 10.24411/2520-6990-2019-10063 ТЕМА.ПРЕПОДАВАНИЕ ТЕМЫ «ТЕКСТОВЫЕ КАРТИНКИ» В IV КЛАССЕ

Jabrayilzade S.J.

Assoc.dot. of the ^air-"Computational Mathematics and Computer Science " of Azerbaijan State Pedagogical University

SUBJECT.TEACHiNG THE TOPiC "TEXT PiCTURES" iN IV CLASS

Введение.

По общеобразовательной программе информатики общеобразовательных школ в начальных классах раздел «Графические редакторы» разделен на четыре темы. Это нижеследующие:

• Программа рисования;

• Палитра;

• Работа с фрагментом картины;

i Надоели баннеры? Вы всегда можете отключить рекламу.