目前我们生产环境,每次新加DB机器都要人肉去添加模板,这种方式显然不是一个IT从业人员应该做的。急需完善流程。
看了 grafana官网自带的http api说明也不够清晰,于是自己琢磨了下。有了这篇博客。
1、去grafana里面生成一个api key,用于和grafana进行http交互。
因为很多时候,公司内有很多组织的,处于权限控制考虑,我们的监控模板需要放到对应的组织下,只允许对应的业务人员查看。
这里,我们先新建个组织,例如叫做“会员系统”
然后,去生成1个api key
这里,我们记录下关键信息如下:
Authorization: Bearer eyJrIjoiRDd2SXkxU01PUkk4TFVYT0xsM1lQQ1dFaW92dEJIekMiLCJuIjoiZ3JhZmFuYV9hdXRvIiwiaWQiOjE0fQ==
2、添加grafana的数据源,我这里取名为prom25:
这个模板没问题后,我们来导出json格式的模板文件,如下图所示:
如果返回值是200OK,则表示post提交成功了。然后去grafana界面查看下吧。没啥问题的话,就可以将这个post请求弄出来了。
点击上图界面的右上角“save as”旁边的小箭头,点击“copy as curl”,即可导出curl格式的命令明细。
我们可看下这个curl的内容,实际上变化的就是3个地方:
1、curl的header部分的认证字段(用来区分属于哪个grafana组织)
2、http的data部分,实际上就是我们的dashboard的全部内容。
3、dashboard的名称。
6、后期
通过上面的几个步骤,我们就可以再努力下,用python搞个web界面,传一个grafana的组织,需要的主机IP即可完成添加。
【grafana里的组织和apikey存在对应关系。 对于http的data部分,实际上只要每次改成一个IP就是一个新的模板(咱DBA的机器,都是一个IP对应一个模板)】