bobahvas
@bobahvas
Senior Full Stack Developer

Какие есть решения для сбора бизнес метрик приложения написанных на PHP или NodeJS?

Как принято собирать бизнес-метрики в 2022 году?

Понятно, что можно написать метод, который будет делать insert в БД.
Или можно класть в файл (лог) или пушить в любой другой сторадж.

Стоит ли использовать эвенты в PHP/NodeJS приложениях, если да - то как?
Стоит ли использовать очереди для таких событий? Или же сразу пушить в сторадж?
Что если прямой пуш метрики не прошел? Как обрабатывать такие пограничные случаи?
Какие системы для хранения метрик лучше использовать? (prometheus?)
Чем визуализировать бизнес-метрики? (Что-то типа graphana?)

Updated (на основе комментариев):
У вас может быть более 1-2 или 10 сервисов. У нас более 100.
У нас производится сбор и анализ системных метрик, таких как: загрузка CPU, memory usage, storage usage, opened connections и многие другие. Конечно же анализируются логи nginx. Все это позволяет своевременно реагировать на аномалии (опять же примеры: незакрытые коннекты, аномальный траффик из регионов, возросшее количество отказов и многие многие другие). Конечно же настроен алертинг после перехода границы "ожидаемых" значений.

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

Аналогия для фронтенда: hotjar или google analytics. Где вы отслеживаете пользовательское поведение, например так:
ga('send', 'event', [eventCategory], [eventAction], [eventLabel], [eventValue], [fieldsObject]);
  • Вопрос задан
  • 255 просмотров
Пригласить эксперта
Ответы на вопрос 2
dimonchik2013
@dimonchik2013
non progredi est regredi
то о чем вы спрашиваете называется APM
https://habr.com/ru/company/flant/blog/465177/
ищите варианты, есть и бесплатные без фанатизма

что касается бизнес метрик то есть решения от чужих
https://habr.com/ru/company/ruvds/blog/545440/
до селфхостед с кликхаусом и
Ответ написан
@TokiSeven
Про пыху не смогу расскзаать - работаю с нодой последние года

Серваки работают не в докере/кубах, а с помощью пм2 - у них есть неплохие кастомные метрики
Часть метрик собираю сам - программно - в приложении есть несколько очередей и нужно следить за джобами поименно.
Я собираю данные в редис (кол-во выполнений именной джобы в очереди, минимальная скорость выполнения за период и сколько джоб похожих было выполнено) и раз в 5 минут выгружаю в бд. В дешборде в админке вывожу графики с различными фильтрами.

В итоге просто комбинирую пм2 и кастомные метрики.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы