Метрики Prometheus — группировка по шаблонам URI
Взяв пример метрики:-
sum(istio_requests_total{reporter='destination',app="myApp"}) by (app, request_method, request_url_path, response_code)
Это дает много значений для каждого URI, например:-
{app="myApp", request_method="GET", request_url_path="/orders/123-456-6543/info", response_code="200"} 1
{app="myApp", request_method="GET", request_url_path="/orders/666-777-8888/info", response_code="200"} 1
{app="myApp", request_method="GET", request_url_path="/orders/111-222-3338/info", response_code="200"} 1
{app="myApp", request_method="GET", request_url_path="/ordersDetails/123-456-6543/details", response_code="200"} 1
{app="myApp", request_method="GET", request_url_path="/ordersDetails/666-777-8888/details", response_code="200"} 1
{app="myApp", request_method="GET", request_url_path="/ordersDetails/111-222-3338/details", response_code="200"} 1
Однако технически они являются частью двух конечных точек API:
/orders/{order-id}/info
/ordersDetails/{order-id}/details
как я могу указать такие шаблоны URI в prometheus или istio Config, чтобы метрики в итоге выглядели примерно так:
{app="myApp", request_method="GET", request_url_path="/orders/{id}/info", response_code="200"} 3
{app="myApp", request_method="GET", request_url_path="/ordersDetails/{id}/details", response_code="200"} 3