Elasticsearch, Kibana и Logstash (ELK) — отличный набор инструментов для сбора и визуализации больших объемов данных.
Журналы, логи, события — все это достаточно легко собирается, картируется и отображается в едином инструментарии.
Logstash отображает данные, Elasticsearch сохраняет их, а Kibana отображает их в виде графиков.
При всей мощи этой связки, естественно, есть задачи, которые невозможно реализовать за счет встроенных возможностей.
Например, Kibana прекрасно показывает данные внутри одной таблицы (индекса), но как только дело доходит до объединения разных индексов в одну выборку, она беспомощно разводит руками.
И единственный способ решить проблему в этом случае — скачать данные из Kibana и объединить их в любом другом инструменте, например, Excel. Простой пример.
Представьте, что ваша Элька (ELK) собирает и хранит события Jira — при любом изменении любой из задач таск-трекера.
В этом случае индекс Elasticsearch будет хранить несколько записей для одной задачи:
Если вы хотите построить график событий Jira, показывающий преобразование задач по состояниям, то с помощью Kibana вы вряд ли сможете это сделать.
Из-за особенностей noSQL вам нужно будет «загнать» все события для одной задачи в одну запись Elasticsearch.
Это довольно сложно сделать без привлечения разработчиков и переписывания конфигов Logstash.
Первое, что приходит на ум — скачать данные из Кибаны, чтобы вручную их накрутить в обычном Excel.
А вот поиск кнопки загрузки, к вашему великому удивлению, закончится неудачей, особенно если Kibana корпоративная и имеет ограничения по модулю «Отчетность»:
Что происходит, данные есть, но использовать их нельзя?
На самом деле есть один секретный способ.
Через стандартный табличный отчет Data Table.
На вкладке «Визуализация» можно создавать множество различных отчетов, но только в Таблице данных есть кнопка для загрузки данных в формате csv.
Если вы работаете с Kibana, вы, вероятно, думаете о таблице данных как об агрегате, т. е.
таблице, в которой вы можете посчитать общую сумму чего-либо, но невозможно отобразить список всех записей.
Однако это не совсем так.
В таблице есть замечательная функция — Unique Count (подсчет количества уникальных элементов), с помощью которой можно отобразить весь список записей в таблице.
Нажмите «+» во вкладке «Визуализация», выберите «Таблица данных» и укажите индекс, из которого вы хотите скачать.
В параметрах таблицы укажите единицу измерения – «Уникальный счетчик» и чуть ниже поле с уникальным идентификатором.
Если вы запустите перерасчет, Kibana отобразит количество уникальных записей в индексе.
Как превратить одно число в список записей? Очень просто – с помощью кнопки «Разделить строки».
Нажмите на нее и выберите «Термины» как совокупность (разбивка по значениям полей).
Это ключевой момент: в «Поле» укажите поле с уникальным идентификатором записи.
И, о чудо, при пересчете таблицы одно число волшебным образом превращается в таблицу! Это момент истины.
Что вы наделали? В двух словах вы сказали Kibana, что хотите посчитать количество уникальных записей, а также указали группировку записей по атрибуту, а именно по уникальным значениям указанного вами поля.
Теперь Кибана отдельно считает количество элементов в каждой группе, а так как.
Вы указали в качестве значений уникальные идентификаторы записей, то Кибана стала считать количество уникальных записей, сгруппированных по уникальному идентификатору, т.е.
по сути, рядом с каждой строкой таблице метрика «Unique Count» будет равна «1».
Вы получили желаемый результат — отобразили все записи и дополнительно посчитали, сколько строк с одинаковым идентификатором у вас в индексе.
Теперь, если в таблице недостаточно столбцов, добавьте дополнительные поля с помощью кнопки «Добавить подсегменты», а затем «Разделить строки».
Везде в качестве агрегата выберите «Термины» и укажите названия полей, которые вы хотите добавить в таблицу.
Готовый.
Вы получили полную выгрузку индекса.
Все, что останется сделать, это сохранить визуализацию и нажать кнопку «Экспортировать в формате Raw» или «Экспортировать в формате».
«Сырой» загрузит все в необработанном виде, а «Форматированный» переформатирует данные в соответствии с локалью, установленной в Kibana.
Все.
Как видите, загрузить из Кибаны простому человеку, не знакомому с программированием, все же можно, хотя решение не лежит на поверхности.
Надеюсь, что этой маленькой хитростью я облегчу кому-то жизнь и дам возможность быстро анализировать данные, не привлекая разработчиков для загрузки.
Если мой опыт вам помог, буду рад увидеть ваш комментарий к этой статье.
Теги: #открытый исходный код #Хранение данных #Визуализация данных #NoSQL #метрики #elasticsearch #Excel #Jira #kibana #upload #conversion #elc
-
Teeworlds По-Новому
19 Oct, 24 -
Пилотный Выпуск Подкаста Content-Review
19 Oct, 24