背景
众所周知,Grafana是一个用来展示数据的平台,但是有时候还是会有需求说能不能有一个按钮,点击的时候再对数据库进行修改,从而达到更新数据的效果
经过多方查证,终于实现了一个简单的,点击button执行sql语句的功能,特此分享
实现
安装Button插件
可以在Grafana Plugins里直接找到,安装即可
配置Button功能
Orientation
按钮的方向,只有一个按钮的时候没有效果,当设置两个或两个以上时,可以设置按钮是水平放置还是垂直放置
Button Configuration
这边就是重头戏了,可以分别对每一个按钮进行设置
可以看到这边有三个选项,下面来一一解释
- Text: 即按钮上显示的文字
- Datasource: 对哪一个datasource进行操作,选择项
- Query: 按下这个button后要执行的语句
可以看到,功能其实是非常简单的,只不过一开始用的时候,对于这个Query可能会有点懵逼
那么,到底该怎么配置这些个参数呢?插件作者并没有写,但是我尝试之后终于摸索出来了
我们建立一个新的table控件,并使用query inspector功能来查看它的查询语句
可以看到,在queries中有一条数据,并且这边有rawSql参数和format参数比较陌生,于是把这两个参数放到Query中尝试一下,发现确实可以使用
并且,在页面的右上角也会有消息推送,表示执行成功,至此,功能已被我们实现
[Todo]问题待解决
- 如何解决功能实现后的刷新问题
- 如何动态地编辑我们的数据,比如输入一个值,并通过点击把这个值插入数据库 -> 目前没有找到一个很好的输入框控件~~
总结
其实个人认为,Grafana作为一个展示工具,是不建议增加那么多表单提交之类的功能的,如果真的有这种需求,建议直接提案让开发团队介入。这样子的表单即没有任何的校验,也没有任何权限控制,十分危险