Создать панель инструментов для визуализации журналов приложений в Kibana

Создать панель инструментов для визуализации журналов приложений в Kibana Хостинг

Создать панель инструментов для визуализации журналов приложений в Kibana

В этой статье я покажу вам, как создать панель инструментов в Kibana для визуализации журналов приложений, и, конечно же, если вы используете Elasticsearch для хранения журналов приложений.

Шаг 1. Настройка Elasticsearch и Kibana

Я использую докер для запуска Elastic и Kibana.

Войти в полноэкранный режим

Выйти из полноэкранного режима

Шаг 2. Настройка ASP. Проект N ET Core Web API

Этот шаг необязателен, если вы не являетесь пользователем . NET, просто создайте приложение, хранящее несколько журналов в Elasticsearch.

Шаг 3. Создание индекса в Kibana

Пришло время создать приборную панель.

Наконец, визуализаторы можно перетаскивать или изменять их размер, а также располагать визуализаторы по своему усмотрению.

В этом руководстве я покажу вам, как создать панель управления для структурированных журналов вашего приложения в Kibana.

Мы будем использовать Kibana v7.6, но любая версия, которую вы используете, должна работать. Просто ваш пользовательский интерфейс может выглядеть немного иначе, и вам придется приспособиться.

Начинаем! Мы будем придерживаться простых панелей, которые подходят для большинства необходимых вам вариантов использования.

Отправная точка

Во-первых, убедитесь, что у вас установлены docker и docker-compose.

Затем загрузите репозиторий этого упражнения в ветке kibana-dashboard-tutorial:

git clone —branch kibana-dashboard-tutorial https://github.com/preslavmihaylov/tutorials

У вас уже есть приложение Go, которое случайным образом создает журналы для конечных точек /payments/execute, /payments/list, /payments/authhold.

Начиная с этого момента, вы создадите информационную панель для эффективного мониторинга и анализа входящего трафика.

Прохождение

Вызовите эту команду, чтобы вызвать все контейнеры:

Эта команда не только остановит все контейнеры, но и удалит их.

Если у вас возникли проблемы с загрузкой elasticsearch, вот ссылка на некоторые распространенные проблемы и способы их решения:

код выхода elasticsearch 78код выхода elasticsearch 137

Настройка базового сохраненного поиска вашего приложения

Перейдите по адресу http://localhost:5601/app/kibana#/home и откройте вкладку Discover.

Во-первых, разверните названия вкладок в левом нижнем углу, так как сначала они незнакомы:

Затем найдите вкладку Discover в левом верхнем углу:

Установите шаблон индекса, если вы еще этого не сделали:

Снова откройте вкладку Discover. Вот как должен выглядеть исходный вид:

В настоящее время kibana показывает все строки журнала из нашего приложения без каких-либо отфильтрованных полей. Мы можем исключить все поля, которые нам не нужны:

Затем выберите только те поля, которые имеют смысл для нашего приложения.

Для каждого из них нажмите Добавить, чтобы добавить их в выбранные поля в визуализированном журнале:

В конце концов, вот какими должны быть ваши выбранные поля:

Если вы выполнили эти шаги правильно, вот пример того, как должны выглядеть ваши журналы:

Мы будем использовать этот сохраненный поиск в качестве базового вида для нашей информационной панели.

Нажмите «Сохранить» в левом верхнем углу, чтобы позже повторно использовать это представление для нашей информационной панели:

Это одно из самых полезных представлений, поскольку оно позволяет просматривать детали событий, происходящих в вашем приложении.

Настройка начальной панели инструментов Kibana

Откройте вкладку Dashboard, чтобы создать свою первую панель:

После этого вы должны увидеть пустую панель, которая ничего не показывает:

Нажмите кнопку «Добавить» в левом верхнем углу, чтобы добавить новую визуализацию:

Вы должны увидеть имя сохраненного поиска, созданного на предыдущем шаге. Выберите это:

Затем измените размер по своему усмотрению, и вы должны увидеть первую панель на панели инструментов:

Это представление отлично подходит для просмотра сведений обо всех запросах и использования его для дополнительной фильтрации по заданному свойству.

Однако нам нужно будет добавить еще несколько визуализаций, чтобы иметь возможность видеть совокупность данных на нашей информационной панели.

Сохраните новую информационную панель с описательным именем и перейдите к следующему разделу:

Добавление таблицы данных для мониторинга запросов на конечную точку

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

Нажмите кнопку «Изменить» в левом верхнем углу, чтобы отредактировать содержимое панели управления, и выберите «Добавить», чтобы создать новое представление.

Читайте также:  Тарифные планы "Бизнес" | Hoster.KZ в Казахстане

В появившейся панели создайте новую визуализацию слева внизу:

Затем создайте новую таблицу данных:

На следующем экране выберите имя сохраненного поиска в качестве источника данных для использования.

После этого вы должны увидеть экран, который просто показывает общее количество запросов в таблице. Это связано с тем, что таблица в настоящее время объединяет все запросы и показывает их общее количество.

Агрегируем данные в таблице по ключам конечных точек. Это покажет количество каждого запроса на конечную точку.

Для этого добавьте новый Bucket, который разбивает строки:

В качестве агрегации используйте Термины. Это простая агрегация, которая просто группирует данные по уникальным значениям ключа, который мы выберем:

Группировать другие значения в отдельное ведро будет отображать все данные, которых слишком мало и которые не помещаются в таблицу (ограничение 5 строк, которые мы указываем) в общем «Другом» ведре.

Например, если у нас есть 7 разных конечных точек, и пять из них получают 80% трафика, остальные 20% значений будут объединены в строку под названием «Другие».

Теперь нажмите кнопку «Воспроизвести» в верхней части окна, чтобы увидеть, как выглядит ваш стол. Вы должны увидеть количество запросов на конечную точку:

Этот вид теперь выглядит весьма полезным. С его помощью мы можем отслеживать, сколько трафика мы получаем на конечную точку. Нажмите кнопку «Сохранить» в левом верхнем углу, присвойте новому представлению название (например, «Вызовы по конечным точкам») и измените панель инструментов, чтобы она выглядела эстетично:

Теперь давайте проделаем то же самое для остальных наших значимых полей.

Добавить таблицу данных для всех значимых полей

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

После того, как вы это сделаете, вот как должна выглядеть панель инструментов:

Теперь вы можете увидеть агрегированные значения для всех значимых точек данных, которые вас интересуют.

Если вы хотите продолжить проверку, т.е. какие способы оплаты используются при вызове конечной точки /payments/execute, вы можете «увеличить» данные, отфильтровав эти данные.

Попробуйте и изучите сами:

Вот вам задание: увеличьте ошибки и определите конечную точку с наибольшим количеством ошибок.

Наш дашборд уже выглядит достаточно информативно.

Но есть еще один последний штрих.

На этом шаге мы отклонимся от старой доброй таблицы данных и добавим гистограмму для отслеживания отношения успехов к ошибкам с течением времени.

Остальные представления на информационной панели обычно используются для поиска основной причины проблемы.

Представление, которое мы сейчас создадим, позволит нам быстро определить наличие проблемы.

Создайте новую визуализацию, но на этот раз выберите вертикальную полосу:

Вначале вы просто увидите одну полосу с общим количеством запросов за данный период времени.

Для начала добавьте ось X, которая создаст временные интервалы для каждой линии гистограммы. Это позволит нам увидеть тенденцию событий во времени.

Нажмите кнопку «Воспроизвести» и посмотрите, как меняется вид, отражая количество событий с течением времени:

Это круто, но было бы полезно, если бы мы могли видеть, сколько из этих запросов успешны, а сколько ошибочны.

Для этого давайте настроим существующую ось Y, чтобы объединять только успешные запросы.

Во-первых, измените агрегирование по оси Y с Count на Sum Bucket.

Затем используйте фильтры в качестве агрегации корзины. Это позволит нам использовать KQL (язык запросов Kibana) для создания любого пользовательского фильтра, который нам нравится.

Добавьте фильтр, который говорит выбирать все сообщения, которые не являются пустыми строками:

Затем добавьте пользовательскую метку «Успех» для этой оси Y в нижней части панели.

Нажмите кнопку Play, чтобы увидеть результаты. Теперь вы должны увидеть количество успешных запросов каждые 30 секунд. Однако цвет по умолчанию немного отличается, поэтому измените его в правом верхнем углу на зеленый:

Теперь все выглядит намного лучше:

Мы еще не закончили.

Пришло время суммировать ошибки и по этой оси Y.

Свернуть текущие настройки оси Y и добавить новые:

Настройка этой оси Y проще.

Снова выберите Суммарное ведро в качестве агрегации и Термины в качестве агрегации для ведра. Выберите errors.keyword в качестве поля для использования.

Оставьте остальные настройки как есть.

Добавьте пользовательскую метку «Ошибки», измените цвет на красный и вот что у вас получится:

Это отношение успеха к количеству ошибок за 30 секунд.

Это представление теперь позволит вам одним взглядом увидеть процент ошибок для всех конечных точек.

Сохраните это представление, добавьте его на панель инструментов, красиво расположите его вверху и посмотрите на красивую панель инструментов приложения:

Читайте также:  Экспертное руководство по выбору идеального порнохостинга для вашего контента

Финал

Вы успешно завершили обучение.

Теперь у вас должна быть достойная практика использования Kibana для создания базовых панелей управления для вашего приложения.

Последний шаг в этом упражнении — добавить такую ​​панель управления для вашего реального производственного приложения, купить 146-дюймовый монитор, прикрепить его к стене в офисе, открыть панель управления вашего приложения, войти в полноэкранный режим и включить автоматический режим. -обновить.

После того, как вы это сделаете, все ваши коллеги из других команд будут с завистью смотреть на это.

Но если вы не знаете, как эффективно использовать Kibana для отладки реальных производственных проблем, это все, что вы от него получите — блестящая панель инструментов, которой можно хвастаться в офисе.

Создать панель инструментов для визуализации журналов приложений в Kibana

Недавние работы позволили мне столкнуться с некоторыми трудностями при безопасном размещении Kibana Dashboard в приложениях. Поэтому напишите быстрый пост для его безопасной настройки.

Включить безопасность X-pack

Создание учетных данных для внутренней связи стека Elastic:

Для вас будут созданы случайные пароли:

Настройте свой kibana.yml:

Создайте ключи шифрования для вашего Kibana:

Затем обновите свой kibana.yml, используя ключи, указанные на предыдущем шаге:

xpack.encryptedSavedObjects.encryptionKey: какой-то-случайный-ключ
xpack.reporting.encryptionKey: какой-то случайный ключ
xpack.security.encryptionKey: какой-то случайный ключ
xpack.reporting.capture.browser.chromium.disableSandbox: true

Затем запустите Кибану.

После входа в систему перейдите в «Управление стеком».

Создайте новую роль с именем embed_dashboard. Затем:

Затем перезапустите Kibana.

К настоящему моменту у вас должен быть общедоступный URL-адрес для вашей информационной панели и возможность встраивать эту информационную панель в любое из ваших приложений.

Эта статья является частью серии Интеграция службы Go с ELK

В этом руководстве я покажу вам, как создать панель управления для структурированных журналов вашего приложения в Kibana.

Мы будем использовать Kibana v7.6, но любая версия, которую вы используете, должна работать. Просто ваш пользовательский интерфейс может выглядеть немного иначе, и вам придется его настроить.

Начинаем! Мы будем придерживаться простых панелей, которые подходят для большинства необходимых вам вариантов использования.

Если у вас возникли проблемы с загрузкой elasticsearch, вот ссылка на некоторые распространенные проблемы и способы их решения:

Но если вы не знаете, как эффективно использовать Kibana для отладки реальных производственных проблем, это все, что вы от него получите — блестящая панель инструментов, которой можно хвастаться в офисе.

В этом руководстве по информационной панели Kibana мы рассмотрим важные концепции Kibana, связанные с созданием различных информационных панелей и визуализаций Kibana.

Kibana — это инструмент с открытым исходным кодом, помогающий в поиске и визуализации данных. Мы рассмотрели основы Kibana в нашем руководстве по стеку Kubernetes EFK. Взгляните на руководство по стеку EFK, чтобы понять, как Kibana взаимодействует с Elasticsearch. Кроме того, в нашем Руководстве для инженеров DevOps мы рассмотрели важность ведения журнала в организации.

Мы также рассмотрим некоторые примеры информационных панелей Kibana, чтобы лучше понять все концепции визуализации.

Когда дело доходит до устранения неполадок, очень важно иметь панели управления журналами и функции поиска в журналах, которые помогают разработчикам и инженерам DevOps устранять проблемы с приложениями и инфраструктурой в режиме реального времени.

Содержание

Для начала нам нужны данные в Kibana. Хорошей новостью является то, что Kibana поставляется с предварительно загруженными примерами данных. Мы собираемся использовать его, чтобы научиться создавать информационные панели Kibana.

Шаг 2: Загрузите данные «Образцы заказов электронной коммерции», нажав кнопку «Добавить данные». Это данные, которые мы собираемся использовать для информационных панелей.

После добавления данных вы должны увидеть установленную опцию, как показано ниже.

Давайте посмотрим на популярные визуализации и создадим несколько визуализаций для наших образцов данных. После этого мы создадим наши дашборды.

Для этого откройте раздел визуализации внутри Кибаны.

Понимание Kibana Gauge

Давайте разберемся с концепцией Gauge в Kibana.

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

Мы будем использовать такие цвета, как красный, желтый и зеленый, для обозначения плохой, средней и хорошей эффективности бизнеса во временном интервале.

Шаги по созданию визуализации датчика

Дополнительные функции: у него есть несколько других настроек, которые помогают создавать лучшие визуализации, например:

Понимание показателей Кибаны

Давайте разберемся с концепцией метрик в Kibana.

Это поможет бизнесу узнать, какой покупатель тратит больше в их магазине!

Мы будем отображать доход от 5 лучших клиентов в данный момент времени.

Читайте также:  Ошибка базы данных Zabbix? Вот как решить эту проблему быстро

Шаги по созданию метрической визуализации Kibana

Чтобы разделить данные по электронной почте клиента,

Создайте новую визуализацию общего дохода и измените ее –

Контроллер Кибана

Мы будем отображать журналы, создав сохраненный запрос и импортировав его на нашу панель инструментов.

Дополнительные функции. Он имеет несколько других настроек, которые помогают улучшить фильтрацию, например:

parentcontrol: используется для управления значениями поля. Давайте разберемся с этим на примере.

В поле контроллера «категория» родительским элементом управления является «производитель», а текущим значением поля «производитель» является «Среда отлива».

Это означает, что поле «категория» будет иметь только те значения, для которых «производитель» — «Носитель отлива».

Таким образом, фильтрация становится проще.

множественный выбор: включает/отключает функцию множественного выбора в поле. Это также помогает в фильтрации.

Например, предположим, что мы хотим посмотреть журналы, где «производитель» — это «Low Tide Media» и «Spiritechnologies». Мы можем добавить оба значения, если включен множественный выбор.

контрольная метка: управляет текстом, отображаемым внутри визуализации.

Контроллеры обычно добавляются на информационные панели вместе с сохраненным запросом (да, вы также можете добавить сохраненный запрос из Discover на информационную панель Kibana!)

Линии

Что это означает? Он создает визуализацию тенденций в данных.

Как это можно использовать? Он имеет возможность отображать различные поля и применять к полям базовые вычисления, такие как сумма, минимум, максимум.

Как мы будем его использовать? Давайте воспользуемся им для отображения total_quantity продуктов на разные даты; давайте также сгруппируем эту информацию по типу продукта, например, «мужская обувь» или «женская одежда».

Этот тип фильтрации может помочь нам легко понять тенденции.

Этапы создания:

Сохраните его, нажав «Сохранить». (Это в верхней части панели.)

Дополнительные функции. У него есть несколько других настроек, которые помогают улучшить визуализацию, например:

сетка: используется для управления видимостью сеток по осям x и y. position: используется для управления размещением осей x и y. customlabels: для управления текстом, отображаемым внутри визуализации.

Помимо этого, он имеет множество вариантов агрегирования, таких как среднее, минимальное, максимальное и т. д.

Это наиболее часто используемый тип визуализации! Поэтому я призываю вас изучить это глубже.

Карта региона

Что это означает? Он показывает показатели на карте.

Как это можно использовать? Это дает визуализацию по карте мира! Вы можете визуализировать свои показатели для каждой страны.

Как мы будем его использовать? Давайте используем его для отображения транзакций, т. е. количества журналов, выполненных в каждой стране.

Этот тип фильтрации может помочь нам получить 360-футовый вид.

Сохраните его, нажав «Сохранить». (Он находится на верхней стороне панели.)

vectormaps: используется для указания различных карт.

По умолчанию отображается карта мира. Но что, если мы хотим визуализировать данные, относящиеся только к Индии. Мы можем выбрать «Штат и территории Индии» в опции векторной карты.

Теперь будет отображаться подробная карта Индии с границами штатов.

Точно так же существуют и другие варианты, такие как «штаты США» или «штаты Австралии».

цветовая схема: для управления цветом, отображаемым в визуализации, в соответствии с диапазонами.

толщина границы: для управления размером линии, по которой Кибана рисует границы на карте.

Как создать информационную панель Kibana?

Панель инструментов в Kibana представляет собой набор различных визуализаций. Вот пример приборной панели.

Мы создадим аналогичную информационную панель из визуализаций в предыдущем разделе.

Шаги по созданию информационной панели

Всё! Вы создали свой собственный первый дашборд! Сохраните его для будущего использования.

Следующие шаги

В рабочих средах команды обычно стараются сохранить резервную копию этих визуализаций и информационных панелей в файле JSON для сохранности.

Шаги по созданию файла резервной копии:

Создать резервную копию недостаточно; нам также нужно понять импорт объектов через файл.

Шаги для импорта объекта с помощью файла резервной копии:

Помимо резервного копирования, Kibana также имеет множество функций, таких как обнаружение аномалий с использованием машинного обучения и функции для получения уведомлений по электронной почте и в slack. Так что не забудьте изучить их тоже!

Заключение

EFK — это инструмент, которым ежедневно пользуются сотни команд DevOps. В этой серии руководств по EFK вы научились очень полезному навыку создания информационной панели Kibana

.

Есть много других; тщательно изучите различные варианты, чтобы создать лучшую визуализацию!

В следующей статье мы узнаем, как создавать информационные панели Kibana для мониторинга кластера Kubernetes.

Кроме того, если вы изучаете ведение журналов и мониторинг, вам может понравиться мое руководство по настройке Prometheus в Kubernetes.

Оцените статью
Хостинги