Создание dashboard-панели показателей системы в ELK на Kibana

Цель внедрения мониторинга активности пользователей

  • Дополнительный анализ действий пользователей в момент “падения” приложения.
  • Понимание профиля нагрузки для составления карт нагрузочных тестов и календарных планов нагрузочных тестирование.
  • Проактивный подход к анализу “долгих” процессов в системе.
  • Анализ работы балансировщиков нагрузки (в нашем случае это Nginx и F5)

Показатели и метрики

  • Уникальное количество пользователей
  • Гистограмма уникальных действий
  • Гистограмма количества действий пользователей по разделам системы
  • Диаграмма действий по количеству вызовов и уникальным пользователям
  • Таблица активных пользователей и количества выполненных операций по ним
  • Гистограмма количества уникальных пользователей, выполняющих операции на каждом сервере

текущий набор метрик является только началом для построения системы мониторинга

Уникальное количество пользователей, гистограмма уникальных действий

Цель: оценивать в крупную клетку сколько пользователей работает в системе.

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

Создание: В разделе Kibana - Visualize - переходим к созданию метрики (Metrics) - индексация по nice-audit-index-*. Во вкладке Metrics указываем агрегирование на количество уникальных пользователей (Metric - Aggregation - “Unique Count” - Field - “UserName.keyword”)

Переходим к созданию основной схемы - Vertical Bar - индексация по nice-audit-index-*. По умолчанию в разделе агрегации (Metrics) указана Ось-Y (Y-Axis), в разделе выбора сегмента доступно указание оси-Х, разделенной серии и разделенного графика. Указываем по оси-Y агрегацию - Count, в разделе сегмента указываем ось-Х, выбираем aggregation - “Date Histogram”, field - “Date” (указывается автоматически), interval - “Auto”

Гистограмма количества действий пользователей по разделам системы, Диаграмма действий по количеству вызовов и уникальным пользователям

Цель: Понимание тепловой карты нагрузки на систему.

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

Создание: Переходим к созданию схемы - Heat Map - индексация по nice-audit-index-*. В разделе агрегации указываем Value - “Count”. В разделе выбора сегмента добавляем две оси - X-Axis и Y-Axis, по оси Y выбираем условия: sub aggregation - “Terms”, field - “ModelDisplay.keyword”, order by - “metric: Count”, по оси Х: aggregation - “Date Histogram”, field - “Date”, interval - “Auto”

[Диаграмма] Диаграмма действий пользователей на фоне количества уникальных пользователей, работающих в системе

Создаем визуализацию по основной схеме - Horizontal bar - индексация по nice-audit-index-*. В разделе агрегации добавляем оси Y-Axis (количество может варьироваться в зависимости от необходимых параметров представления). В разделе выбора сегмента указываем ось X-Axis с условием aggregation - “Terms”, field - “ModelDisplay.keyword”, order by - “metric: Count”

Таблица активных пользователей и количества выполненных операций по ним

Цель: Необходимо для детального анализа действий конкретным пользователем.

При фильтрации по пользователю мы сразу видим на каком сервере сидел пользователь, какие реестры он открывал. где активно работал.

Создание: Создаем визуализацию по основной схеме - Data Table - индексация по nice-audit-index-*. В разделе агрегации выбираем Metric - “Count” и Metric - 'Max" - “Date”. В разделе выбора сегмента указываем Terms - “UserName.keyword”

[Гистограмма] Гистограмма количества уникальных пользователей, выполняющих операции на каждом сервере

Цель: Отслеживание работы баласировщика, выявление проблемных серверов.

Создание: Создаем визуализацию по основной схеме - Line - индексация по nice-audit-index-*. В агрегации по оси Y-Axis указываем Unique Count - “UserName.keyword”. В разделе выбора сегмента по оси X-Axis указываем Date Histogram - Date - Auto. В разделе выбора сегмента добавляем Split Series - Terms - “MachineName.keyword” - order by “metric: Unique Count of UserName.keyword”.

11 Лайков