Prometheus - 调试慢查询

时间:2018-03-05 15:56:22

标签: prometheus

以下查询占用时间超过1分钟,并超时。它是由格拉法纳制作的:

/grafana/api/datasources/proxy/2/api/v1/query_range?
  query=rate(rmq_publish{name="app1" }
     [5m])&start=1520264038&end=1520264338&step=30

行为与速率和愤怒相同,步骤为2s或30s。

我认为此指标与不同标签的样本数量很大。我如何找到这个?

有关分析此查询的任何提示,以找出处理时间过长的原因?

1 个答案:

答案 0 :(得分:1)

  

我认为此指标与不同标签的样本数量很大。我如何找到这个?

您可以使用count运算符找出样本数:

count by (__name__)({__name__="your_metric_name"})
  

有关分析此查询的任何提示,以找出处理时间过长的原因吗?

查询性能主要取决于数据的大小。我建议你在深入研究promql profiling之前先调查数据大小。

一个简单的解决方法是通过Prometheus的规则记录预先记录您的查询:https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/#recording-rules