Существует ли система анализа произвольных логов из базы данных, BugTracker?
Добрый день, коллеги.
Суть задачи такова:
1. Существует единая система хранения документов, электронный архив
2. Несколько учетных систем посылают свои документы в систему хранения
3. ИС получает от сервиса ответ, в случае неудачи получает текст ошибки
4. ИС фиксирует ошибку в локальном логе
Планирую добавить функцию дополнительной записи текста ошибки в отдельную БД. Необходим сервис по анализу данной БД с возможностью информирования в случае срабатывания определенных триггеров.
По сути нужно визуализировать БД, сгруппировать по событиям, отобрать по типу ИС, сгруппировать по сотруднику и тд и тп.
Для хранения частично- или не- структурированных логов (текст) многими обычно используется СУБД ElasticSearch в связке под названием ELK, в которой LogStash является подобием дробилки разных видов логов. При этом идет выделение различных структур данных, попадающих в итоге в СУБД. Это позволяет искать по различным фильтрам через веб-интерфейс.
Или просто взять сервис Loggly для хранения логов и интерфейса поиска.
Если нужен механизм оповещений с триггерами срабатывания, то тогда стоит хранить числовые метрики в СУБД временных рядов типа Prometheus и настраивая AlertManager на группы разных подписчиков.
Для этого каждый сервис должен периодически возвращать метрики по HTTP по пути /metrics по запросу Prometheus. Язык для статистических выборок довольно гибкий и покрыл все наши нужды.
Допустим, нужно оповестить если нагрузка на сервис превысила на 30% относительно предыдущей недели/месяц.
Для хранения логов Prometheus не годится, а для метрик хорош!
Возможно, сервис Amazon CloudWatch позволяет все вышеописанное. Не проверял.