Grafana 的奇技淫巧,你学会了吗?

数据库 MySQL
最近我在配置一个监控面板,其中的数据由 Prometheus 和 MySQL 组成;简单来说就是一个指标的查询条件是从数据库中来的。

Grafana 是一款强大的可视化工具,不止是用于 Prometheus 做数据源,还可以集成数据库、日志等作为数据源整体使用。

最近我在配置一个监控面板,其中的数据由 Prometheus 和 MySQL 组成;简单来说就是一个指标的查询条件是从数据库中来的。

pulsar_subscription_back_log_no_delayed{topic=~"$topic",subscription=~"$subscription"}

其中的 topic 数据是从  MySQL 中来的,其实就是在 Grafana 声明一个变量,从数据库返回了一个列表。

图片

因为我们的查询条件是 topic=~"$topic"是正则匹配,所以理论上应该把所有的 topic 关联的数据都查询出来。

图片

但实际情况是任何数据都查不到。

查看发出去的原始请求后才发现问题出在哪里:

原来是选择所有 topic 后 grafana 会~~~~自动对参数转义,这个我查了好多资料包括咨询 ChatGPT 都没有得到解决。

经过多次测试,发现只要开启多选 grafana 就会自动转义。

图片

最后我只能想到一个不需要生成多行记录的办法:将所有数据合并成一条记录。

图片

这样的话就只会生成一条数据,其中包含了所有的 topic,也就避免了被转义。

SQL 中的 CONCAT 函数其实我也不知道怎么使用,还是 ChatGPT 告诉我的。

最后便能完美的查询出数据了。

有碰到类似问题的朋友可以尝试这个方法,我估计用到这个场景的并不多,不然 ChatGPT 也不会不知道。

责任编辑:武晓燕 来源: crossoverJie
相关推荐

2023-09-19 08:03:50

rebase​merge

2019-04-25 13:10:04

Java 8Stream API编程语言

2020-05-20 19:38:11

前端js调试工具

2017-08-18 13:30:01

前端CSS布局奇技

2022-01-07 14:50:46

VS CodeLinux代码

2021-04-12 06:09:38

Spring扩展点应用

2017-10-24 13:42:55

流氓App安卓Google

2021-03-30 07:47:46

SVG 滤镜 CSS技巧

2020-11-26 11:45:31

Python绘图代码

2015-04-13 13:21:45

JavaScript JavaScript

2022-07-08 09:27:48

CSSIFC模型

2024-02-02 11:03:11

React数据Ref

2024-01-19 08:25:38

死锁Java通信

2024-02-04 00:00:00

Effect数据组件

2023-01-10 08:43:15

定义DDD架构

2023-07-26 13:11:21

ChatGPT平台工具

2023-08-01 12:51:18

WebGPT机器学习模型

2024-01-02 12:05:26

Java并发编程

2022-09-30 12:55:14

Linux笔记

2022-04-21 15:00:53

LinuxShell
点赞
收藏

51CTO技术栈公众号