Prometheus 普罗米修斯对格拉法纳的平均反应时间

Prometheus 普罗米修斯对格拉法纳的平均反应时间,prometheus,grafana,promql,Prometheus,Grafana,Promql,我试图找到Grafana中所有URL的平均响应时间 下面的查询没有返回任何数据,我在这里做错了什么 avg by (uri) (rate(http_server_requests_seconds_sum{app_name="$app", namespace="$namespace", uri!~".*actuator.*|/health|root"}[1m]) /rate(http_s

我试图找到Grafana中所有URL的平均响应时间

下面的查询没有返回任何数据,我在这里做错了什么

    avg by (uri) (rate(http_server_requests_seconds_sum{app_name="$app",
                  namespace="$namespace", uri!~".*actuator.*|/health|root"}[1m]) 
   /rate(http_server_requests_seconds_count{app_name="$app",
                  namespace="$namespace", uri!~".*actuator.*|/health|root"}[1m]))

数据是通过千分尺收集的。

如果你想得到平均值,那么你应该将总和除以计数计数器。如果您的标签正常,那么您将通过下面的PromQL获取数据(如果有)

sum by (uri) (rate(http_server_requests_seconds_sum{app_name="$app", 
            namespace="$namespace", uri!~".*actuator.*|/health|root"}[1m])) 
/ sum by (uri) (rate(http_server_requests_seconds_count{app_name="$app",
            namespace="$namespace", uri!~".*actuator.*|/health|root"}[1m]))

如果你想得到平均值,那么你应该把_和除以_计数计数器。如果您的标签正常,那么您将通过下面的PromQL获取数据(如果有)

sum by (uri) (rate(http_server_requests_seconds_sum{app_name="$app", 
            namespace="$namespace", uri!~".*actuator.*|/health|root"}[1m])) 
/ sum by (uri) (rate(http_server_requests_seconds_count{app_name="$app",
            namespace="$namespace", uri!~".*actuator.*|/health|root"}[1m]))

您不会得到任何结果,因为第一部分是删除除uri之外的所有标签,而红利是保留所有标签。因为标签不再完美匹配,普罗米修斯丢弃了它们@pulak在下面的解决方案中使用了sum修复,您不会得到任何结果,因为第一部分是删除除uri之外的所有标签,而红利是保留所有标签。因为标签不再完美匹配,普罗米修斯丢弃了它们@普拉克在下面的解决方案中使用了sum修复了