Это обычное обращение к базам данных или файлам журналов для информации о времени безотказной работы или для количества запросов за определенный интервал времени.журнал регистрации/статистика временных рядов - масштабируемое решение
По мере того, как вы собираете все больше данных, SQL-запросы или сканирование журналов становятся медленнее и медленнее (представьте себе 10 миллионов строк таблицы/строк журнала).
Типичные вопросы:
- Сколько задач мы переработанные в последние х месяцев?
- Какова была доступность нашего сервиса за последний X период времени?
- Среднее количество запросов в последний час выше, чем в среднем за последние 1 день?
Я хотел бы использовать некоторое хранилище с ключевыми значениями: много ведер с разным автоматическим истечением - так что мы могли бы изучить, например, 10мин/1 ч/1день и суммировать все предметы там и с гордостью сказать: «за последние 10 минут мы обработали 10^6 запросов».
Уверен, что MongoDB или Redis предлагают срок действия в ведрах - я просто немного обеспокоен тем, будет ли реализация проста.
Как бы вы это разрешили? Знаете ли вы лучшие инструменты для этой задачи?
(наш проект написан на Java и Python)
Моя первая мысль заключалась в том, чтобы использовать некоторые AOP для захвата данных KPI, которые вы хотите, но с использованием python, как я полагаю, это не сработает. Некоторые мои клиенты используют Zabbix (http://www.zabbix.com/) для захвата Mysql и KPI для веб-серверов. –