如何在Grafana的LogQL中将字符串转为整数进行比较?
解决LogQL中label_format数值字符串比较的问题
你的问题出在num和num2被当作字符串处理了——字符串比较是按字符顺序逐位对比的,"102"的第一个字符是"1",比"90"的第一个字符"9"小,所以gt判断会返回false,输出bad。
要实现整数比较,得用to_int函数把标签值转成整数再做对比,修改后的LogQL语句如下:
| label_format num="{{102}}" | label_format num2="{{90}}" | label_format ans="{{if gt (to_int .num) (to_int .num2) }}good{{else}}bad{{end}}" | line_format "{{.ans}}"
这里通过to_int将两个标签的字符串值转为整数类型,之后再用gt进行数值比较,就能得到正确的good输出了。
内容的提问来源于stack exchange,提问作者niv
相关产品推荐
相关产品推荐

