У меня следующая (очень упрощенная) сеть:
(ingress) -> DMZ (nginx) -> HA Proxy -> Reverse proxy (nginx) -> Application Server (tomcat)
Все слои отправляют информацию в Prometheus
а затем мы используем Grafana
следить за ними.
У нас были проблемы с задержкой. Поэтому нам пришлось анализировать каждый слой индивидуально, чтобы определить, какой слой самый медленный.
Вопрос: Выбрав случайный запрос (из DMZ), есть ли способ проследить его через слои, через которые он прошел, и определить время, необходимое для каждого уровня? Что-то вроде :
(Request) ->
DMZ (nginx) -> 2ms
HA Proxy -> 1 ms
Reverse proxy (nginx) -> 1ms
Application Server (tomcat) 15ms
Reverse proxy (nginx) -> 1ms
HA Proxy -> 1 ms
DMZ (nginx) -> 2ms
(Response)