PromQL查询group_left关联后如何按nodename对节点内存使用率排序?
按NodeName排序Kubernetes节点内存使用率的PromQL解决方法
你的问题出在sort()函数默认会按指标的标签组合(这里instance是关联后的核心标签之一)排序,要实现按nodename字母序排序,只需显式指定排序依据的标签即可,完全可行。
修改后的PromQL查询如下:
sort by(nodename) ( (1 - (node_memory_MemFree_bytes + node_memory_Cached_bytes + node_memory_Buffers_bytes) / node_memory_MemTotal_bytes ) * on(instance) group_left(nodename) node_uname_info )
说明
sort by(<label>)函数允许指定以特定标签的字母序对结果进行升序排序,传入nodename后,Prometheus就会以此标签的值为排序依据,而非默认的instance标签。- 如果需要降序排序,可替换为
sort_desc by(nodename)。
内容的提问来源于stack exchange,提问作者quenting
相关产品推荐
相关产品推荐

