简单记录k8s集群下grafana筛选up状态的pod实例
是否遇到过这样的情况grafana单应用下一堆曾经发布过的实例,乱七八糟,不知道哪个是有效实例
·
背景描述
是否遇到过这样的情况grafana单应用下一堆曾经发布过的实例,乱七八糟,不知道哪个是有效实例;
那你肯定是这样定义的Variables
问题分析
application定义的没毛病,主要是应用下的实例,使用上图的查询语法只会把之前采集过该指标的实例全都查询出来,不管是UP还是DOWN的,
解决办法
既然会把之前所有采集过该指标的实例都查出来,那最近5分钟或1分钟他肯定没有采集过吧,那我可不可以加上时间区间的筛选呢?
解决过程
这样?
抱歉,grafana的label_values语法并不支持时间区间查询这样的做法,这时候必须使用到query_result这个函数了;
我的思路是通过query_result查出结果集,然后使用正则表达式来提取自己想要的标签值。
修改后的表达式如下
query_result(count by (instance) (count_over_time(process_start_time_seconds{application="$application"}[5m])))
由此获取到应用下的实例列表,获取到的结构如下
{instance="实例地址"} 1 1655794050000
最后一步,把实例地址截取出来即可,正则表达式可参考官方样例
/.*instance="([^"]*).*/
如上,大功告成,搞定!!!
更多推荐
已为社区贡献1条内容
所有评论(0)