首页 > 利用python3 调用zabbix接口完成批量加聚合图形(screens)

利用python3 调用zabbix接口完成批量加聚合图形(screens)

在上一篇博客中,我们完成的利用python3 调用zabbix接口批量增加主机,增加主机的item,增加主机的图形!

接下来我们完成批量增加主机的screen

首先我们要增加screen需要哪些参数呢?官方的解释如下:

{"jsonrpc": "2.0","method": "screen.create","params": {"name": "Graphs","hsize": 3,"vsize": 2,"screenitems": [{"resourcetype": 0,"resourceid": "612","rowspan": 0,"colspan": 0,}]},"auth": "038e1d7b1735c6a5436ee9eae095879e","id": 1
}

  这里面的参数大致意思如下:

  hsize:水平尺寸  可以简单的理解为 这个聚合图形最多可以有多少行

  vsize:垂直尺寸   同理,这个聚合图形最多可以有多少列

  resourcetye :图形的类型  0 代表graph  1 简单graph 2 文本 。。。。

  resourceid :ID of the screen that the item belongs to. 也就是说需要加入的图形它的ID是说少

  rowspan:屏幕项目将跨越的行数。

  colspan:屏幕项目将跨越的列数。  意思就是图形占多少行多少列  这里 默认为0就行  不需要太大

  x:

  y:  这里的x y代表的是图形的坐标 0 0 就是第一行第一列  0 1 第一行第二列 依次类推(这里需要依靠前面设置的hsize,vsize不能超过了),我在测试的时候这里面体比较大,想要把多个监控放在一行:解决办法是x相同y不同

  auth : 认证信息

  id : 识别方法

了解了方法之后我们发现想要添加聚合图形,我们得 auth  以及  resourceid  这两个重要参数!所以我们第一步就是去找到这两个参数!!

    def __init__(self):self.url = 'http://192.168.230.164/zabbix/api_jsonrpc.php'self.headers = { 'Content-Type': 'application/json'}auth = {"jsonrpc": "2.0","method": "user.login","params": {"user": "Admin", ###验证"password":"zfno11"},"id": 1,"auth":None,}response = requests.post(self.url, data=json.dumps(auth), headers=self.headers)print(response.text)authid = json.loads(response.text)['result']  ### auth的idprint(authid)

上面的方法得到了authid

然后获取resourceid  也就是图形的ID

 def get_graid(self,authid):neirong={"jsonrpc": "2.0","method": "graph.get","params": {"output": "extend","hostids": 10255,"sortfield": "name"},"auth": authid,"id": 1}response1 = requests.post(self.url, data=json.dumps(neirong), headers=self.headers)print(response1.text)

这里面需要填写我们的hostid  hostid的获取方法在上一章里面已经提到了,这里直接用就行了。

然后我们:

 def create_screen(self,authid):neirong={"jsonrpc": "2.0","method": "screen.create","params": {"name": "Graphs12","hsize": 2,"vsize": 2,"screenitems": [{"resourcetype": 0,"resourceid": "790","rowspan": 2,"colspan": 2,"x" : 0,"y" : 0},{"resourcetype": 0,"resourceid": "793","x" :1,"y" :0}]},"auth": authid,"id": 1}response1 = requests.post(self.url, data=json.dumps(neirong), headers=self.headers)print(response1)print(response1.text)print("OK")

通过这样就可以把screen的图形加上了!

 

 

 

 

  

    

 

转载于:https://www.cnblogs.com/ZFBG/p/9225312.html

更多相关:

  • 英语的重要性,毋庸置疑!尤其对广大职场人士,掌握英语意味着就多了一项竞争的技能。那,对于我们成人来说,时间是最宝贵的。如何短时间内在英语方面有所突破,这是我们最关心的事情。英语学习,到底有没有捷径可以走,是否可以速成?周老师在这里明确告诉大家,英语学习,没有绝对的捷径走,但是可以少走弯路。十多年的教学经验告诉我们,成功的学习方法可以借...

  • 展开全部 其实IDLE提供了一个显32313133353236313431303231363533e78988e69d8331333365663438示所有行和所有字符的功能。 我们打开IDLE shell或者IDLE编辑器,可以看到左下角有个Ln和Col,事实上,Ln是当前光标所在行,Col是当前光标所在列。 我们如果想得到文件代码...

  • 前言[1]从 Main 方法说起[2]走进 Tomcat 内部[3]总结[4]《Java 2019 超神之路》《Dubbo 实现原理与源码解析 —— 精品合集》《Spring 实现原理与源码解析 —— 精品合集》《MyBatis 实现原理与源码解析 —— 精品合集》《Spring MVC 实现原理与源码解析 —— 精品合集》《Spri...

  • 【本文摘要】【注】本文所述内容为学习Yjango《学习观》相关视频之后的总结,观点归Yjango所有,本文仅作为学习之用。阅读本节,会让你对英语这类运动类知识的学习豁然开朗,你会知道英语学习方面,我们的症结所在。学习英语这类运动类知识,需要把握四个原则第一,不要用主动意识。第二,关注于端对端第三,输入输出符合实际情况第四,通过多个例子...

  • 点云PCL免费知识星球,点云论文速读。文章:RGB-D SLAM with Structural Regularities作者:Yanyan Li , Raza Yunus , Nikolas Brasch , Nassir Navab and Federico Tombari编译:点云PCL代码:https://github.co...