【grafana】使用多级变量解决Granfana模板变量中的大小限制

前言

最近对公司的Kafka 集群集成了 exporter + prometheus + granfana 服务,我们将 topic 变量抽象成模板变量,此时发现 granfana 变量有 10k 的个数限制。导致我们显示 topic 名称不全。

效果如下:全选后只有 10k 个变量。
在这里插入图片描述

解决

一番百度后,发现 granfana 没有修改这个限制的计划,并且开发者认为 超过数千个选定值的模板变量可能会导致服务崩溃。

推荐方案

并且开发者推荐了,通过将多个模板变量连接在一起来解决此类问题。

类似于:在这里插入图片描述

具体实现

那我们也只能使用上面的方案,类似于前面加一个前缀过滤变量。通过前缀来过滤下级的 topic 名称。

  1. 新建一个 custom 类型的变量
    在这里插入图片描述

  2. 传入自定义参数内容

  3. 效果如下
    在这里插入图片描述

  4. 新建"下级"变量

新建一个名称叫 topicquery 类型的变量
在这里插入图片描述
5. query 查询语句
在这里插入图片描述

我这里的query 语句

label_values(kafka_log_log_size{topic=~"$prefix.*"}, topic)

这里的query 语句,大家可以参考grafana + Prometheus 的文档
https://prometheus.io/docs/concepts/data_model/#metric-names-and-labels
https://yunlzheng.gitbook.io/prometheus-book/part-ii-prometheus-jin-jie/grafana/templating

  1. 最终实现:
    在这里插入图片描述

在这里插入图片描述

扩展

grafana里prometheus查询语法

名称描述
label_values(label)返回Promthues所有监控指标中,标签名为label的所有可选值
label_values(metric, label)返回Promthues所有监控指标metric中,标签名为label的所有可选值
metrics(metric)返回所有指标名称满足metric定义正则表达式的指标名称
query_result(query)返回prometheus查询语句的查询结果

Prometheus匹配模式

匹配模式
  • 完全匹配
  • 正则匹配
完全匹配

语法:

key = "value"

key != "value"

查询状态码为200的:

http_server_requests_seconds_count{application="hubble-biz-aiops", uri="/actuator/metrics",status="200"}

查询状态码为非200的:

http_server_requests_seconds_count{application="hubble-biz-aiops", uri="/actuator/metrics",status!="200"}
正则匹配

正则匹配分为正向匹配和反向匹配:

  • 正向匹配:使用 label=~regx 表示选择那些标签符合正则表达式定义的时间序列。
  • 反向匹配:使用 label!~regx 进行排除。

案例:
我想查询指标 kafka_log_log_size中,所有 topic 标签以 “a” 开头的记录,那么我的表达式为:
kafka_log_log_size{topic=~"a.*"}

参考

  • https://community.grafana.com/t/size-limit-in-templating-variables/8920
  • https://github.com/grafana/grafana/issues/12664
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值