метриками. И, возможно, еще и логи.
Во-первых, зачем группировать логи? Задача логирования — это формирование потока сообщений, из которого можно понять, как происходила работа программы в более-менее штатном режиме. Здесь нужна только возможность делать запросы с фильтрами по определенным полям, и совершенно нечего агрегировать, т.к. в конечном итоге за логами приходят, когда нужно понять поведение системы в конкретном случае, а не за статистической информацией. То, что ты хочешь, больше похоже на error tracking с отловом нештатного поведения кода и дедупликацией одинаковых стектрейсов, но это совсем другая система, с логированием не связанная.
Для error tracking смотри в сторону sentry (других готовых self-hosted альтернатив нет).
Во-вторых, информация о нагрузке и, в принципе, о любых численных характеристиках — это предметная область системы работы с метриками, с которой логи, обычно, тоже почти никак не связаны (да, можно формировать метрики по логам, но лучше не надо). Мониторинг, обычно, тоже делается по метриками, т.к. формируются они на основе превышения каких-либо пороговых значений. Для этого есть несколько разных инструментов, в этом чате обычно обсуждают prometheus и alert-manager, но что лучше на твоих масштабах хз.
В-третьих, см. "во-первых" про sentry. И, да, не надо ловить эксепшены через логи.
пардон логи группировать не требуется, группировка применима только к error tracking
Обсуждают сегодня