我正在使用Prometheus在Graphana中构建仪表板。 我有2个指标(对服务的呼叫总数和总超时错误)
1是服务的总通话 PromQL-(增加(Fetching_RESPONSE_TIME_seconds_count {instance =“ $ {server}:8080”} [1h])
其他是总超时 PromQl-(增加(dp_errors_total {code =〜“ 12345”,instance =“ $ {server}:8080”} [1h]))
我想在我的仪表板中再增加一列,以显示超时百分比(总超时* 100 /服务呼叫总数)。
当我执行此PromQL-(增加(dp_errors_total {code =〜“ 12345”,instance =“ $ {server}:8080”} [1h])* 100 /(增加(Fetching_RESPONSE_TIME_seconds_count {instance =“ $ {server }:8080“} [1h])
它没有显示任何信息给我的仪表板。
如何在仪表板上再添加一列,以显示超时百分比?
答案 0 :(得分:0)
当您尝试执行算术表达式时,Prometheus将尝试匹配左侧和右侧的时间序列。它通过他们拥有的标签来完成。双方必须具有相同的标签(名称和值)。
我不知道您的时间序列具有的所有标签,但我可以猜测,例如code
标签仅出现在dp_errors_total
上,而没有出现在第二个标签上。
通常,我通常会首先聚合两个操作数(根据需要),例如:
sum by (server) ( ... dp_errors_total query )
/
sum by (server) ( ... Fetching_RESPONSE_TIME_seconds_count query ...)
或者如果$server
中只有一台服务器,则删除by (server)
部分。