为了账号安全,请及时绑定邮箱和手机立即绑定

grafana 批量添加图表

标签:
Java

利用grafana做监控展示特别方便,而且界面还很有科技感,一般的使用都是自己手动添加图表,或者使用别人提供好的模板。
在一种情况下就比较尴尬了,我有100个实例的内存数据想展示,如果都放在一个table上,就特别的乱,互相覆盖,不能只管的展示,如果是1个实例一个table就很繁琐,明明相似的功能,要操作100次,如果是使用模板做一个下拉框选择,又不能同时在一个页面展示,只能选一个看一个。在这样的场景下,我们就需要一个方便的手段去做重复的事情,以此达到目的。
网上有很多教程,但是大部分都是思路对,并不能正常的操作下来。下面就主要讲讲如何操作的部分。

http api

grafana自己并不支持批处理,包括这个http api。http api只是提供了一种手段,让你通过api去操作dashboard。所以我们要做的是写程序,把重复的部分生成。最后操作一次api。

操作主要流程

查看api官网

http://docs.grafana.org/http_api/dashboard/
这一点很重要,网上很多操作方式都不是新的,新旧有些不同,所以从官方的api中复制出创建的demo来。

获取key

图片描述
这个操作太明显了,直接点击。

查看要添加的元素

这个特别重要,因为不同版本不一样,所以要查看自己版本的的json。
首先还是创建一个模板的表格
图片描述
然后点击查看dashboard的model找到对应图表的json的关键字

图片描述
我的版本的关键字是panels
图片描述
这个字段表示的是图表,里面填写的就是图表的样式数据,表达式等等。

java编码

上面就找到了所有的要提交的元素,下面就是利用代码生成重复的图表元素,最后复制粘贴到请求体提交。
查看里面的图表的json。我们要修改的主要就是表达式里的值,id还有坐标。重点,还有坐标。如果不修改这个,所有的图会重叠在一起。
首先使用json工具转化为java代码。下面推荐一个
http://www.bejson.com/json2javapojo/new/
这里需要有个修改,他自动转化的时候会把带有百分号的字段识别为date类型。这个需要手动改成string类型。到时候设置id从一个值开始往后加就行。
排版问题
整个图表就4个元素,x,y,w,h。我们设计好以后,w,h都是固定的。x,y初始都是0。x有这样一个规律,下一个图表的x=x+w。如果x超过返回就换下一行,y=y+h。同事把x=0;什么时候换下一行,这个需要你自己在那个页面上多加几个图表试试。我的版本是dashboard的宽度是24。超过24就换行。
生成json文件
这里推荐是把转化的结果写入文件,最后可以直接拷贝出来加入panels的字段里就好。注意写文件的时候,每个图表之间要用逗号分隔,在写完一个table的时候记得加逗号。
http提交
直接找个http的模拟器就好了。记得使用官网的demo。不要找别人写的,版本对应是个很大的问题。

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
JAVA开发工程师
手记
粉丝
1.6万
获赞与收藏
380

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消