Как измерить и визуализировать показатели для конечного автомата в веб-приложении? - PullRequest
0 голосов
/ 09 октября 2019

Начальная настройка
У нас есть веб-приложение, основанное на микро-услугах. Связь между микросервисами осуществляется с использованием Kafka и различных событий, определенных на основе доменов, которые обрабатываются микросервисами. Кроме того, приложение само обрабатывает платежи. Поскольку эти платежи должны быть правильными на 99,99%, у нас есть разные события, которые генерируются и потребляются для каждого шага (состояния), где обрабатываются заказ / платеж и т. Д.

Поскольку приложение использует несколько платежных систем, которыеиз-за контроля приложений или самого приложения может быть ошибка, метрика может быть измерена для каждого состояния через заказ / платеж, когда через.

Пример
У нас есть следующеетри состояния
1. заказ создан
2. заказ отправлен
3. заказ завершен
Вывод: заказ с id = 1 находился в состоянии 1 в течение 3 секунд, в состоянии 2 в течение 1 секундыи никогда не достигло состояния 3.

Вопрос Есть ли способ создать эту метрику для / внутри прометея без создания пользовательского кода приложения (микросервиса)?

Решение для резервного копирования
Приложение (микросервис), которое само обновляет это состояние, может сохранять всю информацию, необходимую для создания этого показателя, и просто отправлять его в Prometheus. Следовательно, графана может просто использовать его.

...