Цель внедрения мониторинга активности пользователей
- Дополнительный анализ действий пользователей в момент “падения” приложения.
- Понимание профиля нагрузки для составления карт нагрузочных тестов и календарных планов нагрузочных тестирование.
- Проактивный подход к анализу “долгих” процессов в системе.
- Анализ работы балансировщиков нагрузки (в нашем случае это 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”.