在上一篇博客中,我们完成的利用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的id
print(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": "",
"rowspan": 2,
"colspan": 2,
"x" : 0,
"y" : 0
},
{
"resourcetype": 0,
"resourceid": "",
"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的图形加上了!

  

    

利用python3 调用zabbix接口完成批量加聚合图形(screens)的更多相关文章

  1. python3 调用zabbix API实现批量增加删除主机,主机各种监控项------实战

    在以前的博客中谈到了利用zabbix接口来对主机进行批量的增删改查 这里在不用环境中实战遇到了不同问题,这里记录下来以便后续review 以下为实战中获取token的代码,在zabbix标准接口文档中 ...

  2. python调用zabbix接口实现Action配置

    要写这篇博客其实我的内心是纠结的,老实说,我对zabbix的了解实在不多.但新公司的需求不容置疑,当我顶着有两个头大的脑袋懵懵转入运维领域时,面前摆着两百多组.上千台机器等着写入zabbix监控的需求 ...

  3. zabbix 批量添加聚合图形

    环境为centos 脚本要在centos zabbix服务器上运行,zabbix server上运行 1.先把脚本部署到zabbix客户端,把脚本保存为nic.sh 存放路径确保zabbix可以访问 ...

  4. zabbix 批量生成聚合图形

    通过插入数据库的方式批量生成 zabbix 聚合图形 原型图形 聚合的 sql 批量操作 .在聚合图形创建好一个聚合图形A.找出图形A的ID (创建图形的时候记得填写好行数和列数) select sc ...

  5. 02 . Zabbix配置监控项及聚合图形

    安装Zabbix Agent监控本机 安装agent软件 与server端不同,Agent只需安装zabbix-agent包 cat /etc/yum.repos.d/zabbix.repo [zab ...

  6. Python的Web编程[2] -> WebService技术[0] -> 利用 Python 调用 WebService 接口

    WebService技术 / WebService Technology 1 关于webservice / Constants WebService是一种跨编程语言和跨操作系统平台的远程调用技术. W ...

  7. python3调用zabbix api

    前言 今天写了一个zabbix api,这里整理一下,过程中自己也学习了一些东西. 需求 我们需要查一个文件内容如下: cat /ops/flume_hosts node1 node2 需要把这个文件 ...

  8. 利用axis调用webservice接口

    一.首先把wsdl文件放入eclipse中某个项目中的src目录下 二.右键弹出webservice,然后点击webservice菜单,选中genernator client ,选择axis生成Jav ...

  9. 使用接口的方式调用远程服务 ------ 利用动态调用服务,实现.net下类似Dubbo的玩法。

    分布式微服务现在成为了很多公司架构首先项,据我了解,很多java公司架构都是 Maven+Dubbo+Zookeeper基础上扩展的. Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按 ...

随机推荐

  1. C++ 学习安排

    第一阶段主要是理解概念及最基本的定义和声明包含以下内容:1. 头文件2. 命名空间3. 变量和基本类型4. 函数5. 类6. 标准库类型第二部分进阶入门,主要学习C++中的某些内容的特殊性及逻辑编写1 ...

  2. Session技术入门代码案例

    package com.loaderman.demo; import javax.servlet.ServletException; import javax.servlet.http.*; impo ...

  3. DOM解析和SAX解析对比

    原理: 一次性加载xml文档,不适合大容量的文件读取 原理: 加载一点,读取一点,处理一点.适合大容量文件的读取 DOM解析可以任意进行增删改成 SAX解析只能读取 DOM解析任意读取任何位置的数据, ...

  4. 加密算法之 MD5算法

    题记:本人自测了很多次,该算法和apache的commons utils包中的MD5算法计算一致 一.针对文件内容生成MD5值 应用场景:针对文件,在传输过程由于网络原因丢帧或者被人别恶意篡改内容,可 ...

  5. Selenium 2自动化测试实战30(unittest补充)

    unittest补充 1.用例执行的顺序 #test.py #coding:utf-8 from Demo1 import Count import unittest class TestBdd(un ...

  6. 一张图搞懂Ajax原理

    本文整理在,我的github上.欢迎Star. 原理 说起ajax,就不得不说他背后的核心对象XMLHttpRequest,而说到XMLHttpRequest我觉得,从它的readyState状态说起 ...

  7. 七十四:flask信号之flask的内置信号

    flask所有的内置信号 1.template_rendered:模板渲染完成后的信号2.before_render_template:模板渲染之前的信号3.request_started:模板开始渲 ...

  8. UISearchBar去掉SearchBar上面两条分割线

    设置之前: 设置之后: 代码如下: // // ViewController.m // UISearchBarDemo // // Created by 思 彭 on 17/3/24. // Copy ...

  9. CDC类介绍

    CDC类 中文介绍 CDC类定义的是设备上下文对象的类. CDC对象提供处理显示器或打印机等设备上下文的成员函数,以及处理与窗口客户区对应的显示上下文的成员. 通过CDC对象的成员函数进行所有的绘图. ...

  10. 我想学前端动画-CSS之transition

    Transition属性: 属性 描述 CSS transition 简写属性,用于在一个属性中设置四个过渡属性. 3 transition-property 规定应用过渡的 CSS 属性的名称.默认 ...