grafana 批量添加图表

  利用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

  

扫描二维码关注公众号,回复: 4645791 查看本文章
图片描述

  这个操作太明显了,直接点击。

  查看要添加的元素

  这个特别重要,因为不同版本不一样,所以要查看自己版本的的json。

  首先还是创建一个模板的表格

  

图片描述

  然后点击查看dashboard的model找到对应图表的json的关键字

  

图片描述

  我的版本的关键字是panels

  

图片描述

  这个字段表示的是图表,里面填写的就是图表的样式数据,表达式等等。

  java编码

  上面就找到了所有的要提交的元素,下面就是利用代码生成重复的图表元素,最后复制粘贴到请求体提交。

  查看里面的图表的json。我们要修改的主要就是表达式里的值,id还有坐标。重点,还有坐标。如果不修改这个,所有的图会重叠在一起。

  首先使用json工具转化为java代码。

  这里需要有个修改,他自动转化的时候会把带有百分号的字段识别为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。不要找别人写的,版本对应是个很大的问题。

  

猜你喜欢

转载自www.cnblogs.com/qfjavabd/p/10175444.html